Penetration Testing with Shellcode: Detect, exploit, and secure network-level and operating system vulnerabilities
Master Shellcode to leverage the buffer overflow concept
- Understand how systems can be bypassed both at the operating system and network level with shellcode, assembly, and Metasploit
- Learn to write and modify 64-bit shellcode along with kernel-level shellcode concepts
- A step-by-step guide that will take you from low-level security skills to covering loops with shellcode
Security has always been a major concern for your application, your system, or your environment. This book's main goal is to build your skills for low-level security exploits, finding vulnerabilities and covering loopholes with shellcode, assembly, and Metasploit.
This book will teach you topics ranging from memory management and assembly to compiling and extracting shellcode and using syscalls and dynamically locating functions in memory. This book also covers techniques to compile 64-bit shellcode for Linux and Windows along with Metasploit shellcode tools. Lastly, this book will also show you to how to write your own exploits with intermediate techniques, using real-world scenarios.
By the end of this book, you will have become an expert in shellcode and will understand how systems are compromised both at the operating system and network level.
What you will learn
- Create an isolated lab to test and inject shellcodes (Windows and Linux).
- Understand both Windows and Linux behavior.
- Learn the assembly programming language.
- Create shellcode using assembly and Metasploit.
- Detect buffer overflows.
- Debug and reverse-engineer using tools such as GDB, edb, and Immunity (Windows and Linux).
- Exploit development and shellcodes injections (Windows & Linux).
- Prevent and protect against buffer overflows and heap corruption.
Who This Book Is For
This book is intended to be read by penetration testers, malware analysts, security researchers, forensic practitioners, exploit developers, C language programmers, software testers, and students in the security field.
Readers should have a basic understanding of OS internals (Windows and Linux). Some knowledge of the C programming language is essential, and a familiarity with the Python language would be helpful.
Table of Contents
Chapter 1. Introduction
Chapter 2. Lab Setup
Chapter 3. Assembly Language in Linux
Chapter 4. Reverse Engineering
Chapter 5. Creating Shellcode
Chapter 6. Buffer Overflow Attacks
Chapter 7. Exploit Development – Part 1
Chapter 8. Exploit Development – Part 2
Chapter 9. Real-World Scenarios – Part 1
Chapter 10. Real-World Scenarios – Part 2
Chapter 11. Real-World Scenarios – Part 3
Chapter 12. Detection and Prevention