Bypassing ptrace calls with LD_PRELOAD on Linux

Hello, Here’s a quick article on how to bypass calls to ptrace when debugging a Linux executable. By calling ptrace with the PTRACE_TRACEME option, a process can detect if it’s being debugged and execute different instructions. This an effective anti-debugging technique. For example, take the following C program: int main() { if (ptrace(PTRACE_TRACEME, 0, 0, 0) < 0) { printf("I'm being debugged!n"); } else { printf("Normal flown"); } return 0; } If we execute the program from above we get Normal flow on our screen but if we debug it with gdb we get Err: I'm being debugged!...

January 2, 2020 · 2 min · Denis Nuțiu

Hack The Box &#8211; Travexec Write-up

Hello, Here’s my write-up for the Traverxec machine. Initial Shell: google User Hint: Read the configuration carefully and ls dem directories, and don’t forget, you’re the web server! Root Hint: In linux you can configure commands to be executed without requiring a password. The password for the PDF is the root flag. Link: BananaPr1nc3-Traverxec.pdf

December 13, 2019 · 1 min · Denis Nuțiu

Installing and configuring an anonymous VSFTPD server

After spending a good part of my weekend fiddling with VSFTPD, I’m very happy that I managed to get it to work properly. My goal was to create a simple, anonymous and private FTP server for my home network. It should facilitate sharing files between my machines. Configuring the Server If you’d like to try out my configuration all you need to do is look at the following commands and replace your configuration file with mine....

February 11, 2019 · 5 min · Denis Nuțiu

A quick look at some Embedded Operating Systems

Real Time Operating Systems Real time operating systems are designed for real time applications that need to accomplish a certain tasks with as little OS overhead as possible. Tasks like reading the sensors and displaying data. You could write an infinite while loop to accomplish that but things will get complicated once you have multiple tasks. RTOS provide users with a task scheduler and several methods for synchronizing tasks and inter-task communication, as well as other stuff, not necessarily related to tasks....

August 21, 2018 · 2 min · Denis Nuțiu

Introduction to GCC&#8217;s Extended ASM Format

As I’ve been reading Professional Assembly Language, I’ve come across chapter 13 and I liked it so much that I’m going to write a blog post about it. The book is quite nice if you’re interested in assembly for Linux. Extended ASM format let’s you write assembly code that interacts with any type of C data, such as local variables, strings, numbers, goto labels and so on. The format produces cleaner, safer and more efficient code than the Basic ASM format....

July 27, 2018 · 4 min · Denis Nuțiu