x86 Assembly Language and Shellcoding on Linux - SLAE
Source code, tools and binaries for Pentester Academy x86 Assembly Language and Shellcoding on Linux course.
This blog post has been created for completing the requirements of the SecurityTube Linux Assembly Expert certification.
Compiled on Ubuntu Mate 18.04 64-bit.
Student ID: PA-7449
Assignment 1: Create Shell_Bind_TCP shellcode
NASM: bindtcp.nasm
Shellcode generator: bindtcp.py
Shellcode tester: bindtcp.c
Call graph: shell.png
Binary: bindtcp
Assignment 2: Reverse Shell TCP shellcode
NASM: reversetcp.nasm
Shellcode generator: reversetcp.py
Shellcode tester: reversetcp.c
Call graph: shell.png
Binary: reversetcp
Assignment 3: Create egghunter demo with configurable second stage
NASM: egghunter.nasm
Shellcode tester: egghunter.c
Call graph: shell.png
Binary: egghunter
Assignment 4: Create custom encoding with execve stack shellcode
NASM: decode.nasm
Encoder: encode.py
Binary: decode_shellcode (ELF)
Assignment 5: Analyze at least 3 shellcode from msfpayload linux/x86
Notes: notes.txt
chmod graph: chmod.png
readpasswd graph: readpasswd.png
revshell graph: revshell.png
Assignment 6: Create polymorphic version for 3 shellcodes from Shell-Storm (not larger than 150%)
Polymorphic shellcode and C source polymorph
Assignment 7: Create custom crypter for shellcode in any language
Source: crypter.py