Exactly a year ago I went through the Offensive Security Certified Professional (OSCP) exam, the 24 hour capstone to the comprehensive and awesome Penetesting with Backtrack (now Pentesting with Kali Linux) training offered by the guys Offensive Security. I can’t say enough good things about that set of training and the exam itself; it’s a de facto requirement at my company that technical testers get their OSCP.
A few months ago, I completed the follow-up training course, Cracking the Perimeter, and just finished the exam this past weekend. The OSCE functions as an ‘intermediate’ certification in between the OSCP and Offsec’s advanced web and Windows exploitation certifications. G0tmi1k did an awesome writeup on this course and topic and I don’t want to just repeat what’s already been said, but wanted to add a few notes about my experience going through the class and test.
Overall, I really liked the course and loved the exam. As g0tmi1k mentions, the course material itself is a bit dated, but it really does get you thinking “outside of the box” (sorry for the business cliche) about how to approach difficult security problems. I would love for the material itself, which originated from 2007-2008, to be updated just because I’m sure the offsec guys have a ton of new stuff to add in, but it’s still a set of quality training that I would highly recommend as a follow up to the OSCP. As others have mentioned, you will spend a majority of your time in a debugger in the training, and it forces you to get comfortable with reading and writing assembly. As someone who’s always been a bit intimidated at playing around at that level, it really isn’t so bad and I encourage anyone with hesitations similar to mine to give it a shot.
The 48-hour exam was the hardest thing I think I’ve ever done in my life.
Starting at 10am Friday morning, I plowed through a few of the challenges quickly, which granted me a sense of false confidence. I progressed a bit (I thought) on my final challenge from 8pm-2am, got a good night’s sleep, then spent 10am-midnight of Saturday banging my head against a table and wondering whether I should rage-quit the exam. A break and then a 2am flash of caffeine-fueled inspiration set me down a completely new path that finally yielded results, granting me a working solution by 8am Sunday morning (after nearly 24 straight hours of work). I’ve don’t think I’ve ever been happier or more proud of an accomplishment than I was at getting that last challenge.
I honestly believe that I learned at least as much, if not more, during the exam than I did during the training. Calling the experience frustrating at times is an immense understatement, but I came out the other side accomplishing the certification, being able to write basic custom shellcode, perform basic reversing, and being more than comfortable in a debugger. I finally got over my mental block of “assembly/shellcoding is hard”, which I’m quite grateful to Offsec for.