The Exploit Laboratory:
Analyzing Vulnerabilities and Writing Exploits
Saumil Udayan Shah & S.K. Chong
What to bring:
See the requirements below.
MAC OS X is currently not supported in this class
Have you ever found yourself staring at a vulnerability advisory with some proof-of-concept snippets and wished the author had rather attached a working exploit with it? Have you wished you could analyze vulnerabilities and write your own exploits for them? Have you wanted to debug and exploit custom built applications and binaries?
The Exploit Laboratory is an intense hands-on class for those wishing to dive into vulnerability analysis and exploit writing. The Exploit Laboratory starts off with a basic insight into system architecture, process execution, operating systems and error conditions. The class then quickly accelerates to analysing vulnerabilities with debuggers, reproducing reliable error conditions and writing working exploits for the same. The Exploit Laboratory features popular third party applications and products as candidates for vulnerability analysis and exploitation, rather than building up on carefully simulated lab exercises. Most of the class time is spent working on lab exercises and examples.
Lab examples and exercises used in this class cover both the Unix (Linux) and Microsoft Windows platforms, illustrating various error conditions such as stack overflows, heap overflows and format string bugs. The latter part of the class focuses on topics such as advanced "one-way" shellcode, multi-stage payloads, integrating your own exploits into frameworks such as Metasploit, bypassing protection mechanisms, etc. All this - delivered in a down-to-earth, learn-by-example methodology, by trainers who have been teaching advanced topics in computer security for over 6 years.
This class is updated from the 2006 edition, featuring new content on heap overflows, abusing exception handlers and more hands-on examples based on recent vulnerabilities.
- Understanding Error Conditions
- Types of error conditions: Stack Overflows, Heap Overflows, Format String bugs, etc.
- Process execution and memory map under Linux and Windows
- Debugging applications and sharpening debugging skills, using GDB and WinDBG
- Putting together an exploit
- Shellcode - various types of shellcode and functionality
- Crafting the attack vector and payload
- Making the exploit work reliably
- Stack overflows on Linux and Windows
- Return to stack vs. Return through registers
- Abusing Structured Exception Handlers
- Heap overflows in Linux
- Overwriting the Global Offset Table
- Heap overflows in Windows
- Format string bugs
- Blind exploitation using format string bugs
- Using and extending the Metasploit framework
- Advanced "one-way" shellcode
- Protection mechanisms
- Secure coding practices
Who should attend
- Pen-testers, Security analysts, Security auditors, who want to take their skills to the next level and write their own exploits instead of borrowing them.
- Developers and Project managers, who want to understand what can happen to poorly written code.
- Members of internal product security groups, who want to pen-test custom binaries and exploit custom built applications.
- System administrators, who want to follow a more "pro-active" approach in enforcing security measures.
- Just about anyone curious about vulnerabilities and exploits.
Participants are required to:
- Have a working knowledge of operating systems, Win32 and Unix.
- Not be allergic to command line tools.
- Use vi/pico/joe editors.
- Have a working knowledge of shell scripts, cmd scripts or Perl.
- Understanding of C or C++ programming would be a bonus.
What to bring:
- A working laptop with the following hardware/software requirements:
- Hardware Requirements:
- Intel(ish) X86 hardware required
- 512MB RAM required, at a minimum
- Wired 10/100 Network card
- CDROM drive
- 4 GB free Hard disk space
- Operating Systems (one of the following):
- Windows 2000 SP4/XP SP2
- Administrator access mandatory
- Ability to disable Anti-virus / Anti-spyware programs
- Ability to disable Windows Firewall or personal firewalls
- Active Perl 5.8 or above from activestate.com
- An SSH client, such as PuTTY
- Firefox browser
- Linux kernel 2.4 or 2.6
- Kernel 2.4 or 2.6 required
- Root access mandatory
- Ability to use an X-windows based GUI environment
- Perl 5.8 should be available
- SSH should be available
MAC OS X is currently not supported in this class. Participants may bring their Intel based MacBooks or MacBook Pros that have Windows XP running on them using Apple Boot Camp.
Windows Vista is also not currently supported in this class. Vista's protection features break many simple tools such as Netcat.
Saumil Udayan Shah
Founder and Director, Net-Square Solutions Pvt. Ltd.
Saumil continues to lead the efforts in e-commerce security research at Net-Square. His focus is on researching vulnerabilities with various e-commerce and web-based application systems. Saumil also provides information security consulting services to Net-Square clients, specializing in ethical hacking and security architecture. He holds a designation of Certified Information Systems Security Professional. Saumil has had more than nine years experience with system administration, network architecture, integrating heterogeneous platforms, and information security and has perfomed numerous ethical hacking exercises for many significant companies in the IT area. Saumil is a regular speaker at security conferences such as BlackHat, RSA, etc.
Previously, Saumil was the Director of Indian operations for Foundstone Inc, where he was instrumental in developing their web application security assessment methodology, the web assessment component of FoundScan - Foundstone's Managed Security Services software and was instrumental in pioneering Foundstone's Ultimate Web Hacking training class.
Prior to joining Foundstone, Saumil was a senior consultant with Ernst & Young, where he was responsible for the company's ethical hacking and security architecture solutions. Saumil has also worked at the Indian Institute of Management, Ahmedabad, as a research assistant and is currently a visiting faculty member there.
Saumil graduated from Purdue University with a master's degree in computer science and a strong research background in operating systems, networking, infomation security, and cryptography. At Purdue, he was a research assistant in the COAST (Computer Operations, Audit and Security Technology) laboratory. He got his undergraduate degree in computer engineering from Gujarat University, India. Saumil is a co-author of "Web Hacking: Attacks and Defense" (Addison Wesley, 2002) and is the author of "The Anti-Virus Book" (Tata McGraw-Hill, 1996).
S.K. Chong (CISSP) is a security consultant from SCAN Associates. His job allows him to play with all kinds of hacking tools and exploits in his penentration testing. Most often, he needs to modify and/or enhance these tools before it can be used for legal penetration testing for banks, ISPs goverment agencies, etc. If exploit code is not available, his understanding of security advisories, exploitation and buffer overflow concepts have allowed him to create exploit code on the fly. These experiences have helped him discover other similar yet new bugs. SK has authored security whitepapers on SQL Injection, Buffer overflows, Shellcode and Windows Kernel research, including one of which was published in Phrack E-zine #62. His research hsa been presented in many security conferences around the world like Blackhat, XCon, HITBSecConf, etc.
Course Length: Two days. All course materials, lunch and two coffee breaks will be provided. A Certificate of Completion will be offered. You must provide your own laptop.
Ends January 12, 2007
Ends February 25, 2007
Ends March 18, 2007
Begins March 19, 2007