Course Description

This course is about memory corruptions attacks manually and automatically. Students will study differents applications and how they operate; learn, study, and exploit cutting edge application vulnerabilities; understand automated vulnerability analysis tools; learn the state-of-the-art in memory corruptions automated vulnerability analysis tools; and develop a novel automated vulnerability analysis tool. We will also cover how to use these techniques legally and ethically.

The first half of the course will focus on understanding low level applications and how to exploit applications, and these topics will be reinforced with practical, hands-on. The second half of the course will focus on the state-of-the-art in automated vulnerability analysis of applications via reading and presenting research papers.

Prerequisites

This course will be insane, and students are expected to learn the necessary technologies. Students will expected to already understand networking and the TCP/IP stack. Students with strong skills in C/C++, x86 assembly and at least one scripting language (Python, Ruby, Javascript, etc.)

To benefit from this course you need to know and be comfortable with x86 assembly. This is not negotiable! Hint: I did this syllabus using windows 7 x86 enterprise , and Windows 10 Home Single Language 64-bit

Course Topic

  1. Basic Reverse engineering
  2. Software Vulnerability Review
  3. Classic Technique Review
  4. Win32 ShellCode
  5. About Defence Technique
  6. SEH(Structured Error Handling)
  7. Writing SEH Based Buffer OverFlow Exploits
  8. Egghunting
  9. ASLR(Address space layout randomization)
  10. SAFESEH
  11. ROP(Return Oriented Programming)
  12. Defeat Exploit Mitigations
  13. Heap Exploitation
  14. EMET(Enhanced Mitigation Experience Toolkit) 5.2 / WDEG(Windows Defender Exploit Guard)