SEARCH
TOOLBOX
LANGUAGES
Difference between revisions of "Training Corelan"

Difference between revisions of "Training Corelan"

From BruCON 2016

Jump to: navigation, search
(Corelan Live! by Peter Van Eeckhoutte)
Line 13: Line 13:
  
 
Finally, we offer you post-training support as well.  If you have taken the course and you still have questions afterwards, we will help.
 
Finally, we offer you post-training support as well.  If you have taken the course and you still have questions afterwards, we will help.
 
  
 
=Why take this course?=
 
=Why take this course?=
Line 27: Line 26:
 
* Are you willing to suffer and bleed a bit, learn fast and not intimidated by debuggers and assembly instructions?
 
* Are you willing to suffer and bleed a bit, learn fast and not intimidated by debuggers and assembly instructions?
 
* ...then this course is exactly what you need!
 
* ...then this course is exactly what you need!
 
  
 
=Target Audience=
 
=Target Audience=
Line 118: Line 116:
  
 
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.
 
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.
 
  
 
=Trainer Biography=
 
=Trainer Biography=
Line 127: Line 124:
 
He presented at various international security conferences (Athcon, Hack In Paris, DerbyCon, ISSA Belgium) and delivered the Corelan Live Win32 Exploit Development Bootcamp at numerous places around the globe. He trained security enthusiasts & professionals from private companies, government agencies and military.
 
He presented at various international security conferences (Athcon, Hack In Paris, DerbyCon, ISSA Belgium) and delivered the Corelan Live Win32 Exploit Development Bootcamp at numerous places around the globe. He trained security enthusiasts & professionals from private companies, government agencies and military.
  
<!--In the professional information security world, there has yet to be a course which provides the
+
''Wed. 23 - Fri. 25 April (09:00 - 17:00)''
students the knowledge and skills to carry out a real world attack. Traditional penetration
 
testing courses impart only a limited view of the exposure and vulnerabilities companies suffer
 
from. Traditional classes are generally focused on standard scanner, framework and tool usage
 
as well as techniques for collecting “shells” on target systems. In contrast, this course is
 
designed to teach its students how to plan and execute a successful attack against a target,
 
using the same techniques and mindsets that real attackers use.
 
 
 
Attack Research will bring a unique approach to penetration testing, using deep system
 
knowledge and lesser-known techniques that will arm the student with true offensive
 
capabilities. This class is designed to help students think past the need for known exploits.
 
Alternating between hands-on exercises and lectures the students will walk away with having
 
been given the chance to utilize the new skills that they will learn. A virtual target network will
 
be provided, along with all of the software needed to participate in the labs.
 
 
 
The first day of the class will cover the basic, core skill sets, that are needed to be successful in
 
an offensive operation. These skills are the foundation for being able to handle and evade a
 
large array of technical defensive measures which the student may experience when attacking
 
sophisticated environments. The Metasploit Framework will be used as a development
 
platform for building custom tools and launching specialized attacks.
 
 
 
In the second day, our attention will turn to the initial target exploitation and lateral
 
movement. The students will learn how to gain persistence and deep footholds into an
 
organizations network. We will focus heavily on the persistence and post exploitation
 
techniques that have been perfected by the Attack Research team. At the end of this day
 
students will have a strong understanding of how to get into a network and then stay in.
 
The third day will focus on deeply penetrating a Unix environment which is designed to emulate
 
common corporate setups. Many penetration testing classes focus on Windows based
 
methodologies and attacks, neglecting the wide array of Unix scenarios that may be
 
encountered in the real world. After the third day the students will not only be capable of
 
taking over a Windows domain, but they will also be able to compromise Unix domains as well.
 
Some of the techniques covered in the Unix domain are also applicable to mobile devices.
 
 
 
Students will test all of the skills they have gained in the course against a virtual network
 
specially designed for the class. The labs will be interwoven into the lecture so that students
 
will receive a significant amount of time practically exercising these new skills as they learn. By
 
the end of the class students will have spent roughly 50% of the time in a lab environment.
 
 
 
===Technical Requirements and prerequisites===
 
Student machines must be able to run at least 2 virtual machines utilizing either: VMWare
 
Workstation (which can be obtained through a demo license) or Virtual Box. This usually means
 
at least 4 gig’s of memory is needed.
 
 
 
Student laptops must be running either OSX, Linux, or Windows and they must have the ability
 
to disable all antivirus on the machine. You must have administrative access on your machine as
 
well for sniffing traffic, adjusting firewalls, etc, etc.
 
 
 
Students must have:
 
* a concept of scripting languages such as Python/Perl/Ruby
 
* A medium level of systems administration on a Windows or Linux machine (Windows preferable but not a must)
 
* Student’s laptop must be capable of running the Metasploit software
 
 
 
===Detailed Agenda===
 
 
 
'''Day 1'''
 
* intros
 
* schedule & venue
 
* class setup
 
* class overview / philosophy
 
* Metasploit Tutorial
 
** msf background / history
 
** core components/meterpreter
 
** Multihandler
 
** auxiliary modules / scanners
 
** exploits & payloads
 
* recon activities
 
 
 
'''Day 2'''
 
* Initial Penetration
 
** Web / sqli
 
** Social Engineering
 
** File format attacks
 
** Java applet
 
** Physical & Hardware
 
* Post Exploitation
 
** Command & Control
 
** Persistence
 
** Stealth
 
** PSP Evasion
 
** Cleanup
 
** Data Exfiltration Strategies
 
 
 
'''Day 3'''
 
* Unix Domain Takeover
 
** Unix Intro
 
** NFS
 
** Authentication Systems
 
** Kerberos
 
** SSH
 
* Windows Domain Takeover
 
** Lateral Movement
 
** SMB
 
*** WPAD
 
*** SMBRELAY
 
* Insecure Services
 
* Privilege Escalation
 
* RDP/VNC/Sethc
 
* Authentication Abuse
 
** Hashes and Passwords
 
** Token Hijacking
 
* Domain Enumeration
 
 
 
=Trainer Biography=
 
[[File:Attack-Research-Logo.jpg|190px|thumb|left]] '''Russ Gideon''' has many years of experience in information security fulfilling many diverse roles from
 
being a core component of an Incident Response operation to managing an effective Red Team.
 
Russ excels both at malware reverse engineering, which enables him to deeply understand how
 
the attackers do what they do, as well as at high end Red Teaming where he has to penetrate
 
sophisticated and well protected high value systems. Russ currently serves as the Director of
 
Malware Research at Attack Research, LLC.
 
 
 
More information is available on [http://carnal0wnage.attackresearch.com carnal0wnage]
 
 
 
[[Image:300px-twitter-icon.jpg|17px]] [https://twitter.com/#!/attackresearch @attackresearch]
 
 
 
[http://www.attackresearch.com http://www.attackresearch.com]
 
 
 
[[File:Attack-Research-Logo.jpg|190px|thumb|left]] '''Dave Sayre''' has worked in the computer security area for the past ten years. He has specialized in reverse engineering, malware research, and penetration testing. He is currently a researcher at Attack Research.  Dave specializes on *nix systems and enjoys figuring out how to abuse various trust relations between *nix systems.-->
 
 
 
<br><br><br><br><br><br><br><br><br><br><br>
 
''23 - 25 April (09:00 - 17:00)''
 
  
 
[[File:Register.jpg||link=https://registration.brucon.org/training-registration/]]
 
[[File:Register.jpg||link=https://registration.brucon.org/training-registration/]]
  
 
[[Training|Back to Training Overview]]
 
[[Training|Back to Training Overview]]

Revision as of 19:45, 17 December 2013

Corelan Live! by Peter Van Eeckhoutte

Course Description

The Corelan “BOOTCAMP” is a truly unique opportunity to learn both basic & advanced techniques from an experienced exploit developer, at a conference. During this 3 day course, students will be able to learn all ins and outs about writing reliable exploits for the Win32 platform. The trainer will share his “notes from the field” and various tips & tricks to become more effective at writing exploits.

We believe it is important to start the course by explaining the basics of buffer overflows and exploit writing, but this is most certainly not “your average” entry level course. In fact, this is a true bootcamp and one of the finest and most advanced courses you will find on Win32 stack based exploit development.

This hardcore hands-on course will provide students with solid understanding of current Win32 (stack based) exploitation techniques and memory protection bypass techniques. We make sure the course material is kept updated with current techniques, includes previously undocumented tricks and techniques, and details about research we performed ourselves. Combined with the way the course is built up, this will turn these 2 days into a truly unique experience.

During all of our courses, we don’t just focus on techniques and mechanics, but we also want to make sure you understand why a given technique is used, why something works and why something doesn’t work.

We believe those are just a few arguments that makes this training stand out between other exploit development training offerings. Feel free to check our testimonials page if you want to see real, voluntary, unmodified and uncensored reactions by some of our students.

Finally, we offer you post-training support as well. If you have taken the course and you still have questions afterwards, we will help.

Why take this course?

  • Are you interested in the process of turning an advisory into a working exploit?
  • Do you want to figure out if a given security patch/hotfix should be applied immediately or not?
  • Do you want to learn how to read and understand existing exploits?
  • Have you ever found yourself in a position where you have to change an existing exploit but failed to make it work?
  • Do you want to write reliable exploits and integrate them into Metasploit?
  • Do you want to know how shellcode works?
  • Do you have some basic knowledge about win32 exploit development already, and do you want to a good refresher and learn more advanced topics?
  • Have you read the Corelan exploit development tutorials, but still want to take the classes to fully understand and master the concepts?
  • Do you have other reasons to learn how to write exploits for the Win32 platform?
  • Are you willing to suffer and bleed a bit, learn fast and not intimidated by debuggers and assembly instructions?
  • ...then this course is exactly what you need!

Target Audience

Pentesters, auditors, network/system administrators, reverse engineers, malware analysts, developers, members of a security department, security enthusiasts, or anyone interested in exploit development.

If you have a strong desire to learn and willing to suffer & bleed, then register for this class.

Course Contents

  • The x86 environment
    • System Architecture
    • Windows Memory Management
    • Registers
    • Introduction to Assembly
    • The stack
  • The exploit development lab environment
    • Setting up the exploit developer lab
    • Using debuggers and debugger plugins to gather primitives
  • Stack Buffer Overflows
    • Stack Buffers
    • Functions
    • Saved return pointer overwrites
    • Stack cookies
    • Structured Exception Handlers
    • Function pointers
    • Data/object pointers
    • vtable/virtual functions
    • Off-by-one
    • Integer overflows
  • Size limitations
    • Limited buffers, shellcode splitting
  • Reliability++ & Reusability++
    • Finding and avoiding bad characters
    • Creative ways to deal with character set limitations
  • Metasploit framework Exploit Modules
    • Writing exploits for the Metasploit Framework
    • Porting exploits to the Metasploit Framework
  • ASLR
    • Bypassing ASLR
    • Information Disclosure/Memory Leaks
  • DEP
    • Bypassing NX/DEP
    • Return Oriented Programming / Code Reuse (ROP)
  • Heap Spraying
    • Heap Management and behaviour
    • Heap Spraying for Internet Explorer 6 and 7
    • Heap Feng Shui & heaplib
    • Precise Heap Spraying in modern browsers
      • IE8, IE9, IE10, Firefox
  • Browser Exploitation
    • Exploiting Browser Use-After-Free conditions


During the course, students will get the opportunity to work on real vulnerabilities in real applications and use the latest exploitation techniques that work on current Operating Systems.

Make no mistake. Although this course will explain the basics of exploit development, students will need to be able to transition to more complex theory and exercises quickly. The course has a steep learning curve and will require your full attention and focus.

The “Course Contents” on this page is subject to change without prior notice & can be updated between the moment of registration and the actual course. We will try to cover as much as we can from the “Course Contents”, based on the overall ability to absorb knowledge and time needed to complete the exercises, but Corelan GCV cannot ever guarantee that we will be able to cover everything.

Knowledge & Attitude Prerequisites

Students should

  • be able to read simple C code and simple scripts
  • be familiar with writing basic scripts using python/ruby/…
  • 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 vmware workstation/virtualbox
  • be familiar with using Metasploit
  • No prior knowledge of assembly is required, but it will certainly help if you have some basic knowledge

Technical Prerequisites Unless specified otherwise, students are required to bring the following :

  • A laptop (no netbook) with vmware workstation/virtualbox and enough processing power and RAM (we recommend 4Gb of RAM) to run up to 2 virtual machines at the same time. Make sure your laptop has a screen size of at least 15″. The use of a 64bit processor and a 64bit operating system on the laptop will make the exercises more realistic.
  • Virtual machines installed, all English versions, (including guest addition tools):
    • a 32bit version of Windows XP SP3 Professional, with Internet Explorer 8
    • a 64bit version of Windows 7 SP1 with Internet Explorer 9 (32bit version works too) Trial versions are fine. Just make sure the OS won’t expire during the training
    • Kali Linux with an up-to-date “git”version of Metasploit:
      • mkdir /pentest
      • mkdir /pentest/exploits
      • cd /pentest/exploits
      • git clone git://github.com/rapid7/metasploit-framework.git
    • Make sure all 3 virtual machines are configured in an VM internal network, and have full IP access to each other. Disable all firewalls.
    • Make sure you know how to change the network configuration to (temporarily) give the VM’s access to the internet (via NAT)
    • Make sure all 3 virtual machines are based on ENGLISH versions of the Operating System.
    • Make sure you can transfer files from your host machine to all 3 Guest (virtual) machines.

Note : you will receive the exact installation instructions after registration, so don’t start installling 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.

Trainer Biography

Peter Van Eeckhoutte is the founder of Corelan Team and the author of the well-known tutorials on Win32 Exploit Development Training, available at https://www.corelan.be. The team gathers a group of IT Security enthusiasts and researchers from around the world, who all share common interests : doing research, gather & share knowledge, and perform responsible/coordination disclosure. Above all, the team is well known for their ethics and their dedication to helping other people in the community. Together with the team, he has developed and published numerous tools that will assist pentesters and exploit developers, and published whitepapers/video’s on a wide range of IT Security related topics (pentesting tools, (malware) reverse engineering, etc). The team also moderates a forum that provides a platform for people who want to talk about exploit development, and operates an IRC channel (freenode, channel #corelan)

Peter has been an active member of the IT Security community for more than 10 years and has been working on exploit development since 2006.

He presented at various international security conferences (Athcon, Hack In Paris, DerbyCon, ISSA Belgium) and delivered the Corelan Live Win32 Exploit Development Bootcamp at numerous places around the globe. He trained security enthusiasts & professionals from private companies, government agencies and military.

Wed. 23 - Fri. 25 April (09:00 - 17:00)

Register.jpg

Back to Training Overview