Mon, 25 Mar|
Singapore, exact location to-be-announced
SINCON 2024 — Advanced Exploit Development for Windows
The advanced course takes off where other courses end. After a quick refresher on ASLR & DEP, the course dives deep into the fascinating world of heap exploitation and the fine art of memory leaks. We cover what others don’t. Our unique approach prepares you for future Windows versions as well.
Time & Location
25 Mar 2024, 8:30 am – 28 Mar 2024, 6:00 pm
Singapore, exact location to-be-announced
About the event
A fast-paced, mind-bending, hands-on course where you will learn advanced heap manipulation and exploit development techniques from an experienced exploit developer. During this 4-day class, students will get the opportunity to learn how to write heap exploits for the Windows platform, using Windows 7, Windows 10 and Windows 11 as the example platform, but mostly focusing on learning & applying generic techniques that can be applied to other operating systems and heap implementations. We will discuss the differences between Windows 7 and Windows 10/Windows 11 and explore previously undocumented techniques to achieve important exploitation primitives in Windows 10 and Windows 11. The trainer will share his “notes from the field” and various tips & tricks to become more effective at writing exploits.
This is not an entry-level course. In fact, this is one of the finest and most advanced courses you will find on heap exploit development for Windows, and probably the only one that dives deep into the Windows heap manager on Windows 7 and Windows 10/11 and demystifies how the heap really works.
This hardcore, practical, hands-on course will provide students with a solid understanding of Windows heap exploitation. We make sure the course material is kept updated with current evolutions, includes previously undocumented tricks and techniques, and details about the research we performed ourselves, so you can apply the research techniques on other applications and operating system versions. Combined with the way the course is built up, this will turn this class into a truly unique learning experience.
During all of our courses, we don’t just focus on techniques and mechanics, we don’t focus on just using one vulnerability, but we mainly want to make sure you understand why a given technique is used, why something works and why something doesn’t work. In the advanced course, we provide you with generic insights on how to do your own research related to heap exploitation in general (not just Windows 7 or Windows 10 / 11), fully preparing you for the future. This class covers techniques that work on both 32-bit and 64-bit applications.
The current edition of the course is based on Windows 11/10 and Windows 7 (As the Windows 10/11 Heap Manager contains additional mitigations, we use Windows 7 first to teach the basics, and then use Windows 11/10 later on). Furthermore, this course contains an intro to x64 exploitation (stack and heap), providing you with the required fundamentals to get started with x64 exploitation yourself.
We believe those are just a few arguments that make this training stand out from other exploit development training offerings. Check our testimonials page if you want to see real, voluntary, unmodified and uncensored reactions by some of our students.
WHY TAKE THIS COURSE?
- Are you familiar with the basics of exploit development? Do you know how to write exploits for saved return pointer overwrites and abuse SEH records with your eyes closed? Are you interested in understanding how heap spraying works, and why it works? Is heap exploitation still a mysterious black box for you? Are you now ready for the next step?
- Have you taken the Bootcamp or other commercial courses on exploit development and want to move to the next phase?
- Do you want to learn modern techniques to exploit heap-related memory corruptions on Windows 7 and Windows 10/11?
- Do you want to learn the fine art of writing exploits for heap-related corruptions in complex applications?
- Do you want to learn the skills to investigate heap managers on modern Windows versions (Win7, Win10, Win11) and how to look for your own exploitation primitives?
- Would you like to know what (generic) questions to ask (rather than being spoon-fed exploit-specific solutions & answers)
- Would you like to know how to approach fuzzing/bug hunting in complex applications, and how to recognise and determine exploitability for heap-based corruptions?
- 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 of common development mistakes, how to avoid them and how compiler options can help?
- Are you able to write ROP chains blindfolded? (It is fundamentally important that you have practical experience with constructing/writing your own ROP chain!)
- Are you willing to suffer and bleed, absorb new knowledge fast and not be intimidated by debuggers and assembly instructions…
…then this course is exactly what you need!
Pentesters, auditors, network/system administrators, reverse engineers, malware analysts, developers, members of a security department, security enthusiasts, or anyone that has a solid and practical basic knowledge of exploit development for Windows already.
ASLR & DEP Refresher
- Bypassing ASLR
- Bypassing DEP
WinDBG / WinDBGX (WinDBG Preview Edition)
- WinDBG and WinDBGX (WinDBG Preview Edition) fundamentals
- Breakpoints, logging breakpoints
- Using WinDBG(X) to explore Windows Heap data structures in Windows 7, Windows 10 and Windows 11
Windows Heap Management
- Terminology & building blocks
- Windows 7 Heap, Windows 10 (and Windows 11) Heap (“NT” and “Segment” heap)
- Front-End-Allocator and Back-End-Allocator
- Differences between Windows 7 & Windows 10 / Windows 11
- Heap manipulation and exploitation primitives
- Advanced BEA feng shui
- Learn how to do your own heap-related research, what to look for
- Basic mechanisms
- Data & object spraying
- Precise heap spraying
- Linear & non-linear overflows / controlled write
- Double Free
- Type confusion
- Use of uninitialized memory
- Memory leaks / Information Disclosure
- Heap Manipulations and heap primitives
- How to avoid heap sprays
Intro to x64 heap exploitation
- x64 processes, memory map, registers
- Functions & calling conventions
- Structured Exception Handling
- Stack Buffer Overflows
- Heap exploitation primitives on x64
- Overview of memory protection evolutions
- Thoughts & ideas on fuzzing and bug hunting
For an up-to-date description of the course, please visit https://www.corelan-training.com/index.php/advanced
During the course, students will get the opportunity to work on real vulnerabilities in real applications, use a wide range of heap exploitation techniques and most importantly learn how to do your own research to find exploitation primitives in complex applications and new versions of Windows.
Warning: The course has a steep learning curve and will require full attention and focus.
KNOWLEDGE & ATTITUDE PREREQUISITES
- truly master all basic concepts of exploit development, as listed in our “BOOTCAMP” course. If you have taken the Bootcamp course and done a lot of practice after taking the class, then you’re probably ready for this class.
- be familiar with ROP (i.e. understand how it works on Windows, know how to build a ROP chain, know how to use mona.py to generate a chain and how to fix the chain if it doesn’t work)
- be familiar with using debuggers (we’ll use WinDBG for most part of the course, but we’ll spend some time explaining the basics of using WinDBG. It is assumed that you have practical experience with Immunity Debugger and mona.py)
- 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 virtualization software such as vmware workstation/fusion or virtualbox
- be familiar with using Metasploit to generate shellcode (msfvenom, msfconsole) and managing meterpreter sessions
- have basic practical knowledge of x86 assembly
It’s imperative for students to comply with these prerequisites.
Unless specified otherwise, students are required to bring the following :
- A laptop (no netbook) with VMware workstation/fusion/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 64-bit processor and a 64-bit operating system on the laptop will make the exercises more realistic.
- 3 virtual machines (Windows 11/Windows 10 (no patches), Windows 7 SP1 (no patches), 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 installing 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.
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.
- Super Early Bird: $7,000 USD (Sign up by 15 October 2023)
- Early Bird: $7,300 USD (Sign up by 31 December 2023)
- Standard: $7,700 USD (Sign up by 29 February 2024)
- Late: $8,300 USD
Our courses are packed with years and years of knowledge, experience, and tons of exercise. We spare no efforts to make sure our students can get the most out of the class… but we also realize that there is only so much a human being can absorb in just a few days. Furthermore, it’s not realistic to expect to be an expert at exploit development after this class ends. You’ll need to put in a lot of practise to get more fluent at writing exploits. That means you may end up with questions and may need some guidance after the class ends.
We care more about quality than quantity, and we are committed to making sure our students really feel supported during class and after the class ends. This means we provide post-training support to all of our students. If you have taken the course and you still have questions afterwards, we will help. This support system is unique in the industry, and is a great way to protect your investment.
WARNING: We do not provide solutions for any of the exercises in this course, but we will help you to find the solutions yourself, either during the course or after the course (via the student-only support system)
Super Early BirdUS$7,000.00Tax: +US$560.00 GSTSale ended
- Sale ends: 01 Jan, 12:00 am
Early BirdUS$7,300.00Tax: +US$584.00 GST
StandardUS$7,700.00Tax: +US$616.00 GSTGoes on sale: 01 Jan, 12:00 am
LateUS$8,300.00Tax: +US$664.00 GSTGoes on sale: 01 Mar 2024, 12:00 am