The x86 environment
- System Architecture
- Windows Memory Management
- Introduction to Assembly
- The stack
- Running 32bit applications on a 64bit OS (wow64)
The exploit development lab environment
- Setting up the exploit developer lab
- Using debuggers and debugger plugins to gather primitives
Stack Buffer Overflows
- Stack Buffers
- Saved return pointer overwrites
- Stack cookies
- Structured Exception Handlers
- Using egghunters
- Egg hunters in a WoW64 environment
Reliability++ & Reusability++
- Finding and avoiding bad characters
- Creative ways to deal with character set limitations
Metasploit framework Exploit Modules
- Writing exploits for the Metasploit Framework
- Porting exploits to the Metasploit Framework
- Bypassing ASLR
- Bypassing NX/DEP
- Return Oriented Programming / Code Reuse (ROP)
Intro to x64 exploitation
- x64 processes, memory map, registers
- Functions & calling conventions
- Structured Exception Handling
- Stack buffer overflows
During the course, students will get the opportunity to work on real vulnerabilities in real applications and use exploitation techniques that work on default installation of Operating Systems (Windows 10). Make no mistake. Although this course will explain the basics of exploit development, students will need to be able to transition to more complex theory and exercises quickly. The course has a steep learning curve and will require your full attention and focus.
The “Course Contents” on this page is subject to change without prior notice & can be updated between the moment of registration and the actual course. We will try to cover as much as we can from the “Course Contents”, based on the overall ability to absorb knowledge and time needed to complete the exercises, but Corelan GCV cannot ever guarantee that we will be able to cover everything.
Pentesters, auditors, network/system administrators, reverse engineers, malware analysts, developers, members of a security department, security enthusiasts, or anyone interested in exploit development.
Why take this course ?
- Are you interested in the process of turning a proof-of-concept into a working exploit ?
- Do you want to figure out if a given security patch/hotfix should be applied immediately or not ?
- Do you want to learn how to read and understand existing exploits ?
- Have you ever found yourself in a position where you have to change an existing exploit but failed to make it work.
- Do you want to write reliable exploits and integrate them into Metasploit ?
- Do you want to know what shellcode is, how Metasploit shellcode works and how to make shellcode work reliably in your exploit ?
- Do you have some basic knowledge about win32 exploit development already, and do you want to a good refresher and learn more advanced topcis ?
- Have you read the Corelan exploit development tutorials, but still want to take the classes to fully understand and master the concepts ?
- Are you involved in malware research or do Incident Response & interested in understanding how exploits work?
- Would you like to understand better how to detect exploits and how to protect against them?
- Would you like to get a basic view on common development mistakes, how to avoid them and how compiler options can help?
- Do you have other reasons to learn how to write exploits for the Win32 platform ?
- Are you willing to suffer and bleed a bit, learn fast and not intimidated by debuggers and assembly instructions…
…then this course is exactly what you need !
Students should :
- be able to read simple C code and simple scripts
- be familiar with writing basic scripts using python/ruby/…
- be ready to dive into a debugger and read asm for hours and hours and hours
- be ready to think out of the box and have a strong desire to learn
- be fluent with managing Windows / Linux operating system and with using vmware workstation/virtualbox
- be familiar with using Metasploit
No prior knowledge of assembly is required, but it will certainly help if you have some basic knowledge 🙂
(In case you’re wondering: if you took OSCP/OSCE, and understood the exploitation part of the courses, then you are probably ready for the course)
Unless specified otherwise, students are required to bring the following :
- A laptop (no netbook) with vmware workstation/virtualbox and enough processing power and RAM (we recommend 4Gb of RAM) to run up to 2 virtual machines at the same time. The use of a 64bit processor and a 64bit operating system on the laptop will make the exercises more realistic.
- 2 Virtual machines installed (Windows 10 (or Windows 7 SP1) no pathes), Kali Linux (fully up-to-date))
Note : you will receive the exact installation instructions after registration, about a week before class begins, so don’t start installling the VMs yet.
All required tools and applications will be provided during the training or will be downloaded from the internet during the training.
You must have full administrator access to all machines. You must be able to install and remove software, and you must be able to disable and/or remove firewall/antivirus/… when necessary.
In case you still need it ;-), you can find a large amount of testimonials on this page of the Corelan Training website.
It will be required to sign a confidentiality agreement at the start of the course. You will not be admitted to the course without signing this document. You can find a copy of the document here
Peter Van Eeckhoutte is the founder of Corelan Team and the author of the well-known tutorials on Win32 Exploit Development Training, available at https://www.corelan.be. The team gathers a group of IT Security enthusiasts and researchers from around the world, who all share common interests : doing research, gather & share knowledge, and perform responsible/coordination disclosure. Above all, the team is well known for their ethics and their dedication to helping other people in the community. Together with the team, he has developed and published numerous tools that will assist pentesters and exploit developers, and published whitepapers/video’s on a wide range of IT Security related topics (pentesting tools, (malware) reverse engineering, etc). In addition to operating an IRC channel (freenode, channel #corelan), the team is running a slack work space (corelan.slack.com). You can get access to slack by checking out the Corelan Facebook page (CorelanConsulting) or Twitter account (@corelanconsult), looking for the most recent Slack invitation. Peter is reachable on Twitter (@corelanc0d3r).
Peter has been an active member of the IT Security community since 2000 and has been working on exploit development since 2006.
He presented at various international security conferences (Athcon, Hack In Paris, DerbyCon, ISSA Belgium) and taught various Win32 Exploit Development courses at numerous places around the globe. He trained security enthusiasts & professionals from private companies, government agencies and military organizations.