Description
In this course , you will learn:
- Computer Architecture Basics
- IA-32/64 Family
- Compilers, Assemblers and Linkers
- CPU Modes and Memory Addressing
- Tools of the trade
- Nasm, Ld, Objdump, Ndisasm etc.
- IA-32 Assembly Language
- Registers and Flags
- Program Structure for use with nasm
- Data Types
- Data Movement Instructions
- Arithmetic instructions
- Reading and Writing from memory
- Conditional instructions
- Strings and Loops
- Interrupts, Traps and Exceptions
- Procedures, Prologues and Epilogues
- Syscall structure and ABI for Linux
- Calling standard library functions
- FPU instructions
- MMX, SSE, SSE2 etc. instruction sets
- Shellcoding on Linux
- Execution environment
- Exit and Execve shellcode
- Bind Shell and Reverse TCP
- Staged Shellcode
- Egg Hunter
- Using 3rd party shellcode
- Simulating shellcode
- locating syscalls
- graphing shellcode execution
- Encoders, Decoders and Crypters on Linux
- Purpose of encoding and crypting
- XOR encoders
- Custom encoding
- Random sequencing and scrambling
- mapping functions
- Crypters
- Polymorphism
- Why polymorphism?
- Polymorphic engines
- Techniques and Tools
Syllabus:
- What is Assembly Language?
- Setting up the Lab
- Getting the CPU Info on Linux
- IA-32 Architecture Basics
- IA-32 Architecture Exercise
- CPU Modes and Memory
- Hello World in Assembly
- Hello World GDB Exercise
- Data Types
- Moving Data
- Understanding the Stack
- Arithmetic Operations
- Multiplication and Division
- Logical Instructions
- Control Instructions
- Loop Exercise
- Procedures
- Saving CPU State String in Assembly
- Libc and NASM
- Shellcode Basics
- Writing Exit Shellcode
- Hello World Shellcode using JMP-CALL-POP Technique
- Hello World Shellcode Stack Technique
- Execve JMP-CALL-POP
- Execve Shellcode Stack Technique
- XOR Encoder and Decoder
- Using Metasploit's Encoders
- Simple NOT Encoder
- Insertion Encoder
- XOR Encoder Decoder using MMX Registers
- Polymorphism
- Analyzing 3rd Party Shellcode
- Analyzing Shellcode with Libemu
- Writing Custom Crypters
- SLAE Exam Format