Description

Penetration testing with canned tools and exploits is a thing of the past. As companies are getting more and more conscious of having their internal programs binary audited and reverse engineered, penetration testers are required to spot vulnerabilities in compiled code and write custom exploits for these vulnerabilities. The Exploit Laboratory takes the hacker's approach in demonstrating how seemingly trivial errors and vulnerabilities can be exploited with astonishing results. The Exploit Laboratory begins with an introduction to vulnerabilities in binary code and goes through a systematic process of debugging, reverse engineering and writing a working exploit for these vulnerabilities.

This class is aimed at demystifying the "rocket science" in writing exploits - 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 does NOT require knowledge of assembly language. A few concepts and a sharp mind is all you need. Examples and exercises in this class cover both the Unix (Linux) and Microsoft Windows platforms.

Topics

  • Introduction to error conditions

  • The CPU's Registers

  • The Process memory map

  • Effective use of debuggers on Linux and Windows

  • Stack Overflows in Linux and Windows

  • Getting control of the Instruction Pointer

  • Making exploits reliable

  • Return to stack vs. return via registers

  • Advances in shellcode techniques

  • Overwriting Exception Handlers

  • Heap Overflows in Linux and Windows

  • Overwriting Global Offset Table entries

  • Exploiting Browsers

  • Format String bugs (time permitting)

Prerequisite Knowledge

  • Working knowledge of operating systems, Win32 and Unix.

  • Working knowledge of shell scripts, cmd scripts or Perl.

  • Be able to work easily with command line tools.

  • Understanding of C programming would be a bonus.

Laptop requirements

  • Hardware Requirements:

    • Intel 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 -OR- Linux kernel 2.4/2.6

    • For Windows users:

      • Windows 2000 SP4/XP SP2

      • Windows Vista WILL NOT WORK (you have been warned)

      • Administrator access mandatory

      • Ability to disable Anti-virus / Anti-spyware programs

      • Ability to disable Windows Firewall or personal firewall

      • Active Perl to be installed

    • For Linux users:

      • Kernel 2.4 or 2.6 required

      • Root access mandatory

      • Ability to use an X-windows based GUI environment

    • 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. If you wish to use Parallels Desktop, you may do so, but you are on your own when it comes to weird troubleshooting.

  • Pre-loaded software:

    • Netcat (nc)

    • SSH client (PuTTY for Windows laptop users)

    • Perl 5.8 or above (ActivePerl for Windows users)

    • Firefox browser

Saumil Udayan Shah

Founder and CEO, Net-Square Solutions Pvt. Ltd. saumil@net-square.com Saumil continues to lead the efforts in e-commerce security research at Net-Square. He holds a designation of Certified Information Systems Security Professional. Saumil has had more than ten years experience with system administration, network architecture, integrating heterogenous platforms, and information security and has perfomed numerous ethical hacking exercises for many significant companies in the IT area. Previously, Saumil held the position of Director of Indian operations at Foundstone Inc. and a senior consultant with Ernst & Young. Saumil has also worked at the Indian Institute of Management, Ahmedabad, as a research assistant. 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. 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)

Previous
Previous

Advanced Linux Hardening

Next
Next

Protecting Software with AppArmor