Powersystemprotectiondevices 161120193617
Powersystemprotectiondevices 161120193617
Powersystemprotectiondevices 161120193617
www.sans.org/SEC760
asiapacific@sans.org
Course Day Descriptions
DAY 1: Threat Modeling, Reversing and DAY 2: Advanced Linux Exploitation DAY 3: Patch Diffing, One-Day Exploits,
Debugging with IDA The ability to progress into more advanced and Return-Oriented Shellcode
Many penetration testers, incident handlers, reversing and exploitation requires an Attackers often download patches as soon
developers, and other related professionals expert-level understanding of basic software as they are distributed by vendors such as
lack reverse-engineering and debugging vulnerabilities, such as those covered in SEC660. Microsoft in order to find newly patched
skills. These are different skills than reverse- Heap overflows serve as a rite of passage into vulnerabilities. Vulnerabilities are usually
engineering malicious software. As part of modern exploitation techniques. This day is disclosed privately, or even discovered in-
the Security Development Lifecycle (SDL) and aimed at bridging this gap of knowledge in order house, allowing the vendor to more silently
Secure-SDLC, developers and exploit writers to inspire thinking in a more abstract manner, patch the vulnerability. This also allows the
should have experience using IDA Pro to debug necessary for continuing further with the course. vendor to release limited or even no details
and reverse their code when finding bugs or Linux can sometimes be an easier operating at all about a patched vulnerability. Attackers
when identifying potential risks after static code system to learn these techniques, serving as a are well aware of this and quickly work to
analysis or fuzzing. productive gateway into Windows. find the patched vulnerability in order to take
Topics: Security Development Lifecycle; Threat Topics: Linux Heap Management, Constructs, control of unpatched systems. This technique
Modeling; Why IDA Is the #1 Tool for Reverse and Environment; Navigating the Heap; Abusing is also performed by incident handlers, IDS
Engineering; IDA Navigation; IDA Python and Macros such as unlink() and frontlink(); Function administrators and vendors, vulnerability and
the IDA IDC; IDA Plug-ins and Extensibility; Pointer Overwrites; Format String Exploitation; penetration testing framework companies,
Local Application Debugging with IDA; Remote Abusing Custom Doubly-Linked Lists; Defeating government entities, and others. You will use
Application Debugging with IDA Linux Exploit Mitigation Controls; Using IDA for the material covered in this day to identify bugs
Linux Application Exploitation; Using Format patched by vendors and take them through to
String Bugs for ASLR Bypass exploitation.
Topics: The Microsoft Patch Management
Process and Patch Tuesday; Obtaining Patches
and Patch Extraction; Binary Diffing with
BinDiff, patchdiff2, turbodiff, and DarunGrim4;
Visualizing Code Changes and Identifying Fixes;
Reversing 32-bit and 64-bit Applications and
Modules; Triggering Patched Vulnerabilities;
Writing One-Day Exploits; Handling Modern
Exploit Mitigation Controls; Using ROP to
Compiled Shellcode on the Fly (Return-
Oriented Shellcode)
DAY 4: Windows Kernel Debugging and DAY 5: Windows Heap Overflows and DAY 6: Capture-the-Flag Challenge
Exploitation Client-Side Exploitation Day 6 will feature a Capture-the-Flag event
The Windows Kernel is very complex and The focus of this section is primarily on with different types of challenges taken from
intimidating. This course day aims to help you Windows browser and client-side exploitation. material taught throughout the week.
understand the Windows Kernel and the various You will learn to analyze C++ vftable overflows,
exploit mitigations added into recent versions. one of the most common mechanisms used
You will perform Kernel debugging on various to compromise a modern Windows system.
versions of the Windows OS, such as Windows Many of these vulnerabilities are discovered in
7 and 8, and learn to deal with its inherent the browser, so browser techniques will also
complexities. Exercises will be performed to be taught, including modern heap spraying to
analyze vulnerabilities, look at exploitation deal with Internet Explorer 8/9/10 and other
techniques, and get a working exploit. browsers such as FireFox and Chrome. You will
Topics: Understanding the Windows Kernel; work towards writing exploits in the Use-After-
Navigating the Windows Kernel; Modern Kernel Free/Dangling Pointer vulnerability class.
Protections; Debugging the Windows 7/8 Topics: Windows Heap Management, Constructs,
Kernels and Drivers; WinDbg; Analyzing Kernel and Environment; Understanding the Low
Vulnerabilities and Kernel Vulnerability Types; Fragmentation Heap (LFH); Browser-based
Kernel Exploitation Techniques; Token Stealing and Client-side Exploitation; Remedial Heap
and HAL Dispatch Table Overwrites Spraying; Understanding C++ vftable/vtable
Behavior; Modern Heap Spraying to Determine
Address Predictability; Use-after-free Attacks
and Dangling Pointers; Using Custom Flash
Objects to Bypass ASLR; Defeating ASLR, DEP, and
Other Common Exploit Mitigation Controls