Advanced Penetration Testing, Exploit Writing, and Ethical Hacking
Advanced Penetration Testing, Exploit Writing, and Ethical Hacking
6 46 Laptop This course is designed as a logical progression point for those who have completed SEC560:
Required
Day Program CPEs Network Penetration Testing and Ethical Hacking, or for those with existing penetration testing
experience. Students with the prerequisite knowledge to take this course will walk through
You Will Be Able To dozens of real-world attacks used by the most seasoned penetration testers. The methodology
• Perform fuzz testing to enhance your of a given attack is discussed, followed by exercises in a real-world lab environment to solidify
company’s SDL process advanced concepts and allow for the immediate application of techniques in the workplace.
• Exploit network devices and assess Each day includes a two-hour evening bootcamp to allow for additional mastery of the
network application protocols techniques discussed and even more hands-on exercises. A sample of topics covered includes
• Escape from restricted environments on weaponizing Python for penetration testers, attacks against network access control (NAC) and
Linux and Windows
VLAN manipulation, network device exploitation, breaking out of Linux and Windows restricted
• Test cryptographic implementations
environments, IPv6, Linux privilege escalation and exploit-writing, testing cryptographic
• Model the techniques used by attackers to
perform 0-day vulnerability discovery and implementations, fuzzing, defeating modern OS controls such as ASLR and DEP, return-oriented
exploit development programming (ROP), Windows exploit-writing, and much more!
• Develop more accurate quantitative and
qualitative risk assessments through Attackers are becoming more clever and their attacks more complex. In order to keep up
validation with the latest attack methods, you need a strong desire to learn, the support of others, and
• Demonstrate the needs and effects of the opportunity to practice and build experience. SEC660 provides attendees with in-depth
leveraging modern exploit mitigation
controls
knowledge of the most prominent and powerful attack vectors and an environment to perform
• Reverse-engineer vulnerable code to write
these attacks in numerous hands-on scenarios. This course goes far beyond simple scanning
custom exploits for low-hanging fruit, and shows penetration testers how to model the abilities of an advanced
attacker to find significant flaws in a target environment and demonstrate the business risk
associated with these flaws.
SEC660 starts off by introducing the advanced penetration concept, and provides an overview
to help prepare students for what lies ahead. The focus of section one is on network attacks,
an area often left untouched by testers. Topics include accessing, manipulating, and exploiting
the network. Attacks are performed against NAC, VLANs, OSPF, 802.1X, CDP, IPv6, VOIP, SSL, ARP,
GXPN SNMP, and others. Section two starts off with a technical module on performing penetration
Exploit Researcher &
Advanced Pen Tester testing against various cryptographic implementations. The rest of the section is spent on
giac.org/gxpn network booting attacks, escaping Linux restricted environments such as chroot, and escaping
GIAC Exploit Researcher and Windows restricted desktop environments. Section three jumps into an introduction of Python
Advanced Penetration Tester for penetration testing, Scapy for packet crafting, product security testing, network and
The GIAC Exploit Researcher and Advanced application fuzzing, and code coverage techniques. Sections four and five are spent exploiting
Penetration Tester certification validates programs on the Linux and Windows operating systems. You will learn to identify privileged
a practitioner’s ability to find and mitigate
significant security flaws in systems and
programs, redirect the execution of code, reverse-engineer programs to locate vulnerable
networks. GXPN certification holders have code, obtain code execution for administrative shell access, and defeat modern operating
the skills to conduct advanced penetration system controls such as ASLR, canaries, and DEP using ROP and other techniques. Local and
tests and model the behavior of attackers to
improve system security, and the knowledge
remote exploits, as well as client-side exploitation techniques, are covered. The final course
to demonstrate the business risk associated section is dedicated to numerous penetration testing challenges requiring you to solve
with these behaviors. complex problems and capture flags.
• Network Attacks, Crypto, Network Booting,
and Restricted Environments Among the biggest benefits of SEC660 is the expert-level hands-on guidance provided through
• Python, Scapy, and Fuzzing the labs and the additional time allotted each evening to reinforce daytime material and
• Exploiting Windows and Linux for
master the exercises.
Penetration Testers
SECTION 3: Python, Scapy, and Fuzzing SECTION 4: Exploiting Linux for Penetration Testers
Section 3 brings together the multiple skill sets needed for creative analysis Section 4 begins by walking through memory from an exploitation perspective as well
in penetration testing. We start by discussing product security testing. The as introducing x86 assembler and linking and loading. These topics are important for
day continues with a focus on how to leverage Python as a penetration anyone performing penetration testing at an advanced level. Processor registers are
tester - the aim is to help students unfamiliar with Python start modifying directly manipulated by testers and must be intimately understood. Disassembly is
scripts to add their own functionality, while also helping seasoned Python a critical piece of testing and will be used throughout the remainder of the course.
scripters improve their skills. Once we leverage the Python skills in creative lab We will take a look at the Linux OS from an exploitation perspective and discuss
exercises, we move on to leveraging Scapy for custom network targeting and privilege escalation. We continue by describing how to look for SUID programs and
protocol manipulation. Using Scapy, we examine techniques for transmitting other likely points of vulnerabilities and misconfigurations. The material will focus on
and receiving network traffic beyond what canned tools can accomplish, techniques that are critical to performing penetration testing on Linux applications.
including IPv6. Next, we take a look at network protocol and file format fuzzing. We then go heavily into stack overflows on Linux to gain privilege escalation and code
We leverage fuzzing to target both common network protocols and popular execution. We will first cover using a debugger to expose weak passwords. Then we
file formats for bug discovery. We use hands-on exercises to develop custom will go over redirection of program execution and, finally, code execution. Techniques
protocol fuzzing grammars to discover bugs in popular software. Finally, we such as return to buffer and return to C library (ret2libc) will be covered, as well as an
carefully discuss the concept of code coverage and how it goes hand-in-hand introduction to return-oriented programming. The remainder of the day takes students
with fuzzing. We will conduct a lab using the Paimei Reverse Engineering through techniques used to defeat or bypass OS protections such as stack canaries
Framework and IDA Pro to demonstrate the techniques discussed. and address space layout randomization (ASLR). The goal of this section is to expose
TOPICS: Becoming Familiar with Python Types; Leveraging Python Modules for students to common obstacles on modern Linux-based systems
Real-World Pen Tester Tasks; Manipulating Stateful Protocols with Scapy; Using TOPICS: Stack and Dynamic Memory Management and Allocation on the Linux OS;
Scapy to Create a Custom Wireless Data Leakage Tool; Product Security Testing; Disassembling a Binary and Analyzing x86 Assembly Code; Performing Symbol Resolution
Using Taof for Quick Protocol Mutation Fuzzing; Optimizing Your Fuzzing Time on the Linux OS; Identifying Vulnerable Programs; Code Execution Redirection and
with Smart Target Selection; Automating Target Monitoring While Fuzzing with Memory Leaks; Identifying and Analyzing Stack-Based Overflows on the Linux OS;
Sulley; Leveraging Microsoft Word Macros for Fuzzing .docx files; Block-Based Performing Return-to-libc (ret2libc) Attacks on the Stack; Return-Oriented Programming;
Code Coverage Techniques Using Paimei Defeating Stack Protection on the Linux OS; Defeating ASLR on the Linux OS