Red Teaming | Exploit Development with Assembly and C |MSAC+
Exploit Development: Shellcode Execution, Bad Character Analysis, Segmentation Fault Handling, Buffer Overflow, Hacking
What you will learn:
Mastering Shellcode Execution: Gain a comprehensive understanding of shellcode execution techniques and their role in system hacking.Identifying Bad Characters: Learn to identify and handle bad characters in shellcode, ensuring its effectiveness and reliability.
Segmentation Fault Analysis: Explore the nuances of segmentation faults and discover strategies to overcome them when executing shellcode.
Ethical Hacking Fundamentals: Understand the ethical framework of hacking and how to apply these techniques responsibly.
Developing Custom Shellcode: Develop your own custom shellcode to exploit system vulnerabilities effectively.
Hands-On Practical Scenarios: Engage in practical demonstrations and exercises to apply theoretical knowledge in real-world scenarios.
System Compromise Techniques: Learn techniques to compromise systems ethically by executing shellcode.
Vulnerability Exploitation: Discover vulnerabilities within systems and exploit them using shellcode to gain access.
Advanced Bad Character Mitigation: Dive deep into advanced techniques for identifying, analyzing, and mitigating bad characters in shellcode.
Building Ethical Hacking Skills: Equip yourself with practical skills in ethical hacking, enhancing your cybersecurity expertise.
Understand the significance of Assembly language in open-source exploration.
Gain insights into the course structure and objectives.
Install and set up the SASM development environment.
Download and configure Ghidra, IDA Pro, and JDK for effective lab usage.
Open and navigate projects within Ghidra.
Explore and utilize key features of Ghidra for code analysis.
Perform real malware analysis using Ghidra.
Analyze suspicious strings and employ OSINT techniques in reverse engineering.
Extract system files from malware and manipulate function names.
Break down the four stages of binary compilation.
Understand the preprocessing, compilation, assembly, and linking phases of binary analysis.
Utilize READELF to view symbolic information.
Analyze both stripped and not stripped binaries for key insights.
Explore the ELF format and understand its executable and linkable features.
Learn about ELF fields and program header fields.
Grasp the fundamentals of the Windows PE format for executable files.
Familiarize yourself with IDA Pro and its key functionalities.
Explore useful tabs within the IDA Pro interface.
Write a "Hello World" program using a makefile.
Understand the advantages of NASM and compare different assemblers.
Comprehend the theory behind disassembly.
Explore the concept of disassembly and its practical applications.
Understand CPU architectures and binary data types.
Convert decimal to binary using basic mathematical operations.
Initiate and set up GDB, exploring various flavors.
Debug programs, locate variables in memory addresses, and enhance debugging skills.
Code an assembly file, analyze output with GDB, and create a makefile.
Learn the operations of OR, XOR, NOT, and AND in assembly language.
Develop an assembly program for analysis using DDD.
Analyze previously written code and interpret register values using DDD.
Identify and troubleshoot errors in assembly programming.
Implement conditional jumps and loops in assembly code.
Develop a project involving loops and a calculator using assembly language.
Test and evaluate the completed project.
Work on the EXABYTE project involving memory manipulation.
Test and analyze the project using Readelf and GDB.
Define variables, perform addition and subtraction in assembly.
Explain registers in practice and complete the section.
Develop a custom shellcode and troubleshoot segmentation faults.
Identify and fix bad characters in shellcode execution.
Create shellcode with JMP instruction for malware injection.
Inject shellcode and build an exploit for practical application.
Compile and test shellcode using stack technique.
Implement the Execve syscall with C for gaining shell access.
Successfully gain shell access using the Execve syscall.
Program the C side of a reverse bind shell.
Develop assembly code for Listen, Bind, and Accept syscalls.
Create a functional and secure TCP bind shell.