iOS Kernel Exploitation Training (May 2016)

SektionEins organises an iOS 8/9 Kernel Exploitation Training in Frankfurt in May 2016.

/images/iosthumb.jpg
Instructor: Stefan Esser (Antid0te UG)
Dates: 2nd May - 6th May 2016 (5 days)
Venue: Le Méridien Parkhotel Frankfurt, Germany
Availability: 15 Seats
Language: English

Our iOS Kernel Exploitation Trainings in 2014/2015 have been so successful that former trainees, tricks, techniques and vulnerabilities from the training have been directly involved in the making of some of the public iOS jailbreaks. However the security of the iOS kernel is getting improved every few months by the addition of new exploitation mitigation techniques. Therefore our 2016 training has once again been updated to contain the latest changes and new exploit mitigations that you can find in iOS 9.2.1.

The next training at the beginning of May 2016 will take place in the Le Meridien hotel in Frankfurt (Germany) between May 2nd May and 6th . It is a full 5-day course and is targeted at exploit developers that want to switch over to iOS.

If exploitation is less interesting to you and you are more interested in technical details than actual exploitation techniques we are planning to have an additional training in Berlin that only covers the internals of iOS/OS X kernels in regard to security.

The 2016 May edition of the training will focus on 64 bit iOS devices and most of the work will be performed on 64bit iPad mini 2 16GB (retina+WiFi) devices that each trainee can take home after the course. These devices are still running iOS 8.4 because there is no researcher friendly public jailbreak for any newer iOS version available.

NEW: This training will offer attendees the chance to select topics of their choice before the training. We will then integrate the most wanted topics among the trainees into the training.

The goal of this training is to enable you to exploit new vulnerabilities in the iOS 8 / 9 kernel that you discover on your own.

Topics

The following list of topics might change slightly before the course. (Please check every now and then to see an updated list of topics.)

  • Introduction

    • How to set up your Mac and Device for Vuln Research/Exploit Development

    • How to load own kernel modules into the iOS kernel

    • How to write Code for your iDevice

    • Damn Vulnerable iOS Kernel Extension

  • Low Level ARM / ARM64

    • Differences between ARM and ARM64

    • Exception Handling

    • Hardware Page Tables

    • Special Registers used by iOS

    • ...

  • iOS Kernel Source Code

    • Structure of the Kernel Source Code

    • Where to look for Vulnerabilities

    • Implementation of Mitigations

    • MAC Policy Hooks, Sandbox, Entitlements, Code Signing

    • ...

  • iOS Kernel Reversing

    • Structure of the Kernel Binary

    • Finding Important Structures

    • Porting Symbols

    • Closed Source Kernel Parts and How to analyze them

    • ...

  • iOS Kernel Debugging

    • Panic Dumps

    • Using the KDP Kernel Debugger (limited to 30 pin devices)

    • Extending the Kernel Debugger (KDP++)

    • Debugging with own Patches

    • Kernel Heap Debugging/Visualization (new software package)

  • iOS Kernel Heap

    • In-Depth Explanation of How the Kernel Heap works (including recent changes in iOS 9.x)

    • Different techniques to control the kernel heap layout (including non-public ones)

    • About the heap randomness in iOS >= 9.2

  • iOS Kernel Exploit Mitigations

    • Discussion of all the iOS Kernel Exploit Mitigations introduced

    • Discussion of various weaknesses in these protections

  • iOS Kernel Vulnerabilities and their Exploitation

    • Discussion of different kernel vulnerability types and strategies for their exploitation using the Damn Vulnerable iOS Kernel Extension

    • Discussion of real world exploitation of vulnerabilities disclosed by Jailbreaks or Google's project 0

  • iOS Kernel Jailbreaking

    • Discussion of all the Kernel Patches applied by old iOS Jailbreaks

    • Discussion of differences between 32 bit and 64 bit patches

    • Discussion of bypassing new iOS 9 Kernel Patch Protection

  • Handling of New Devices

    • Discussion of necessary steps to port exploits from old to new devices

  • Persistence

    • The topic of persistence or untethering will be discussed although the kernel land is only partially involved.

Training PLUS++

  • This training course allows trainees to submit a list of topics they are missing from the list of topics and would like to see discussed. The most wanted topics of all attendees will be added to the course.

  • Attendees of our trainings will now get a 9 months guarantee of updates: This means if another training of the same kind is held within 9 month of their booked training they will receive the updated training material free of charge (after the new training was held).

Training Takeaways

  • All students will take home an iPad mini 2 - 16GB (retina+WiFi) with a retail value of now 289,- EUR (these iPads are currently jailbroken on iOS 8.4 for the hands-on during the training).

  • The whole training material (multiple hundred slides) will be handed to the students in digital and printed form.

  • In addition the training material of our previous course will be handed in digital form.

  • Trainees will get a license for the SektionEins software and scripts that are used during the training that allows usage but not redistribution of said software.

Training Requirements

  • Student Requirements

    • This course will not give an introduction to ARM basics. The trainee is required to understand basic ARM assembly. It is not required to have previous experience with ARM64 cpus, because their differences are discussed within the training. Low level ARM CPU knowledge will be helpful, but is not required for this course - part of it will be explained within the course.

    • This course will not give basic introduction to exploitation or ROP. Trainees are required to know concepts like ROP or buffer overflows, integer overflows, etc...

    • About 3 weeks before the training trainees will receive a paper that covers introductory information. Trainees are required to read and work through this document in order to ensure that all software is correctly installed and some basics are understood.

    • Due to new EU export regulations on so called "Intrusion Software Technology" all exploitation trainings are subject to export control. This means we can currently only accept students from EU, Switzerland, USA, Canada, Japan, Norway, Lichtenstein, New Zealand, Australia.

  • Hardware Requirements

    • An Apple Mac Notebook is required in order to run OS X Yosemite and XCode.

    • Training hands-on exercises will be performed on devices provided by SektionEins. It is not required for students to bring their own iOS devices.

    • Every student will be handed an iPad mini 2 16GB (Retina+Wifi) at the beginning of the training that they will work on and can take home after the training.

    • Students can optionally bring their own iOS device for experiments. But for best results these devices should run an iOS version which has a public jailbreak for it.

    • Students are not required to bring iOS serial cables for older devices to the training, because these will be provided by SektionEins as well.

  • Software Requirements

    • Legal IDA Pro 6.x license (ARM64 support required) / Hopper use at own risk

    • Hexrays for ARM helpful, but not required

    • BinDiff for IDA helpful, but not required

    • Mac OS X Yosemite, with latest XCode and iOS 8.x SDK (or newer)

    • Additional Software will be made available during the training

Venue

The training will be held at the Le Méridien Parkhotel Frankfurt (Germany). The hotel is located near the main train station of Frankfurt, which is an ICE train ride of about 20 minutes away from the airport of Frankfurt (FRA).

Address:
Le Méridien Parkhotel Frankfurt
Wiesenhüttenplatz 28-38
60329 Frankfurt am Main


View Larger Map

The hotel offers up to 10 rooms for a special rate of 169 EUR per night (including breakfast) until 6 weeks before the training. They will be given out on a first come first serve basis.

Pricing

We offer the following rates for this training. Attention: Trainees paying for the training themselves or companies within the European Union have to pay VAT on top of the base price.

Price

VAT

Early Bird (before 15th February)

4250,- EUR

807,50 EUR

Regular (before 1st April)

4500,- EUR

855,- EUR

Late (after 1st April)

5000,- EUR

950,- EUR

The training ticket price includes a daily lunch buffet (or 3 course menu), various food selections during morning and afternoon coffee breaks, free soft drinks in the training room and a one night surprise dinner.

Register

If you have further questions or want to register for this training please contact us by e-mail training@sektioneins.de.

In-House Training / Conferences / Additional Trainings

If you are interested in this training, but want us to perform the training for your people at your office, want to feature our training at your conference or would just like to know if we provide the training again at a later time please contact us by e-mail training@sektioneins.de.