The three-day training course covers exploit development from simple stack overflows to exploiting more complex vulnerabilities in C++ code. Students will learn techniques like return oriented programming and engineering read/write primitives. The course is a mixture of presentations and hands-on labs to practice developing exploits targeting stack overflows, mitigation techniques, payload development, and type confusion bugs.
The three-day training course covers exploit development from simple stack overflows to exploiting more complex vulnerabilities in C++ code. Students will learn techniques like return oriented programming and engineering read/write primitives. The course is a mixture of presentations and hands-on labs to practice developing exploits targeting stack overflows, mitigation techniques, payload development, and type confusion bugs.
course aimed at consultants, code Highlights reviewers, reverse engineers and exploit developers who want to understand how • Exploiting stack overflows vulnerabilities in native code can be exploited. • History of exploit mitigations including stack cookies, SafeSEH, DEP and ASLR and common techniques to bypass them. The course covers exploitation from simple stack overflows to type confusion • Return oriented programming (ROP).
bugs in C++ code using a variety of • Writing custom payloads/shellcode and
techniques including return oriented encoding them to get around filters. programming and engineering read/write • Exploiting C++ vulnerabilities by building read primitives. and write primitives.
The course is a mixture of presentations
and hands-on lab sessions where you can practice developing a variety of exploits.
The course is run over three days but the
second day covering payload development Agenda can be omitted if desired. • Day 1 Stack overflows, writing a simple exploit, mitigations, return oriented programming, developing a ROP exploit.
• Day 2 Developing payloads and shellcode,
common filters, writing filtered exploits.
• Day 3 C++ internals, exploiting vtable
overwrites, type confusion (casting bugs and use-after-free), exploiting type confusion bugs.
If the course is delivered at NCC Group premises
lunch will be provided to all delegates.
Please advise of any dietary requirements in
advance. Deliverables
• Slide-deck in PDF format of over 250 slides split into 13
Why choose us modules. The instructors for the course come from the NCC • Zip files of practical exercise, model solutions and reference Group Exploit Development Group (EDG) which material. provides bespoke exploits and tools for use on client engagements. They have been working in vulnerability research for over 15 years in a variety Requirements of roles. All the examples on the course are 32-bit Windows executa- The EDG has developed exploits against popular bles, however a 64-bit OS is necessary for one of the labs. software including Internet Explorer, Firefox, Flash, Adobe Reader, Windows Kernel, Xen and Java. Participants are expected to have some familiarity with x86 Their exploit development skills are backed up with assembly language and be comfortable with assembly level extensive knowledge and experience of reverse debugging. Experience with a scripting language such as engineering and low-level debugging. Blog posts Python, Perl or Ruby is highly recommended. describing some of the EDG’s work can be found on the NCC Group web site www.nccgroup.trust/ Hardware & Software blog.
Participants require a laptop running Windows 7 64-bit or
above with local administrator rights.
A projector with HDMI or VGA cable is required for in-house
courses. About NCC Group The following free packages are required: NCC Group is a global expert in cyber security and risk mitigation, working with businesses to protect • A debugger: Debugging Tools for Windows, OllyDbg or their brand, value and reputation against the Immunity Debugger ever-evolving threat landscape. • A disassembler: IDA (freeware edition) strongly recommended With our knowledge, experience and global footprint, we are best placed to help businesses • An assembler: NASM or FASM identify, assess, mitigate & respond to the risks they • A scripting language: Python, Perl or Ruby face.
We are passionate about making the Internet safer
Pricing and revolutionising the way in which organisations think about cyber security. We offer in-house and public courses. Prices are available on request.
For more information from NCC Group, please contact: