"In this course, we bridge the gaps and take a step-by-step look at Linux and Windows operating systems and how exploitation truly works under the hood. This four-day course rapidly progresses through exploitation techniques used to attack stacks, heaps, and other memory segments on Linux and Windows. This is a fast-paced course that provides you with the skills to hit the ground running with vulnerability research."

I would like to begin by saying that the above description is very accurate and should be taken word-for-word. It is a very tough course and very fast-paced. It does require you to know intermediate level x86 assembly programming, basic level C and python to get the most out of the course. Here’s a quick day-by-day account of my experiences.

Let us know what you think and also recommend other courses, SANS or otherwise, you'd like for us to review.

Sounds like a positive write up. Just by the description of the course I figured it'd be some advanced stuff. Considering this guys an OSCP, I'd love to hear a review of the Cracking the Perimeter course offered by the Offensive Security guys. Maybe that'll be something I'm looking forward to. - It sounds like this training would've been some good preparation.

Next up was Windows heap exploitation. We looked at methods to abuse the Process Environment Block (PEB) and other constructs to gain control of a process. We moved from there into browser-based exploitation and how to increase the chances of exploitation through heap spraying. Day 3 ended with a look at Windows shellcode and how it differs from Linux.

The first thing which came in my mind was that 4 days are realy short for anything more than an overview/ introduction. Although I am sure that the author of the course has very much knowledge as otherwise he couldn't do such a course, but it is in my opinion not possible to teach someone seriously exploit development in that short amount of time.However, it should be enough time to teach the concepts behind it, show some examples and get the message through the audience for further research.

This is Steve Sims, author of the course... Thanks to Google for alerting me about the posting! I'm happy to say that the course has now moved to a five-day version to allow for more time on the material and to include additional modules on fuzzing.

Your statement is correct, "How can you teach Windows Heap Overflows in less than one day?" The fact is simply that each vulnerability is different. You could spend several days alone on heap overflows relative to a specific OS. Unfortunately, to spend that many days on one niche topic does not serve anyone very well. The focus of the course is to go deep inside of various exploitation techniques to get you thinking outside of the box. Consider it as a bridge that the course will help you cross. You must have a passion for exploit development and leverage accordingly.

Stack overflows, both on Windows and Linux, are quite simple. There are a standard set of techniques that you will often find on Milw0rm. <-- (An awesome resource!) SEC709 gets you thinking of ways to handle the unexpected. When performing exploit development on a day-to-day basis, you find yourself with constant obstacles. SEC709 focuses on how to defeat modern OS controls such as stack canaries, Data Execution Prevention (DEP), ASLR, etc...

As for more advanced techniques, you will be forced to utilize your knowledge gained to help you think in more abstract terms. We cover several advanced techniques that should be included as part of your custom pen-testing arsenal. It is up to you to utilize your skills and think creatively. Pounding several days of advanced heap exploitation into someone's head will only leave that person mentally exhausted by day two and with a small skill set upon completion. Heap exploitation is a necessary rite of passage and we cover techniques accordingly.

The goal of the course is to get you beyond using pre-compiled pen-testing tools such as Metasploit, Core, Saint, Immunity, and to get you writing your own exploits. Of course these tools are awesome, but if you have custom applications, 3rd party developed tools, or are considering using commercial products in your environment, you need to be prepared to properly assess them. Unless you're using a public app and someone else discovered every vulnerability in the application, how can you comfortably go to production? I just couldn't sleep at night! lol

Please feel free to contact me at stephen@deadlisting.com if you have any questions. I'm happy to provide you with more details on the course format, topics covered, preparation materials, or any other questions you may have.

Thanks again to Don for providing such a great resource! Hope to see you all soon. I'll be around DEFCON. Buying me a beer may get you a course discount!