SLAE32 - Assignment 5.2

The second shellcode I'll be analyzing for the #5 assignment of the SLAE32 exam is "linux/x86/shell/reverse_nonx_tcp", from the Metasploit framework. It creates a TCP reverse shell, however, as compared with previous cases, this one uses a staging system to keep the first shellcode more lightweight.

Continue reading »

SLAE32 - Assignment 5.1

The fifth assignment regards the analysis of three or more shellcodes to your liking, describing how they work in a detailed manner; the first one is "linux/x86/adduser", taken from the Metasploit framework. It adds a new privileged user named 'metasploit' on the local Linux machine (both UID and GID set to 0).

Continue reading »

SLAE32 - Assignment 4

The fourth assignment requires you to create a custom decoder in 32-bit x86 assembly code. The encoder can be developed in any language to your liking, while the encoding scheme must be invented from scratch. For this post, I decided to use some basic bit operations e.g., Rotate Right, Rotate Left, Not, XOR. It's really easy to create something anew, while it can be much harder to make it reversible and reliable 100% of the times.

Continue reading »

SLAE32 - Assignment 3

For the third assignment of the SLAE32 exam, I'll be covering the creation of a simple egg-hunter in 32-bit x86 assembly (NASM in particular). Nowadays, with the wirespread adoption of 64-bit systems, it's more of a artifact from the past, however it was interesting to make it work.

Continue reading »

SLAE32 - Assignment 2

Second day of the SLAE32 exam! We'll be taking a look at the second assignement, which involves the creation of a TCP reverse shell in 32-bit assembly.

Continue reading »

SLAE32 - Assignment 1

In this post I'm describing the beginning of the SLAE32 exam from Pentester Academy. The assignement given to students is to write a TCP bind shell in assembly, specifically 32-bit code for Linux x86 systems.

Continue reading »