Instructor: Stefan Esser (Antid0te UG/Antid0te SG)
Dates: 20th June - 24th June 2022 (EU/North America Timezone)
Dates: 27th June - 1st July 2022 (APAC Timezone)
Venue: Online, Zoom
Availability: 20 Seats
Language: English
With the release of iOS 14 and 15 Apple has once again raised the bars in terms of kernel level security. This course will introduce you to the kernel exploitation on iOS 14 and iOS 15 kernels. This course will concentrate on the latest security enhancements of iOS 15 while performing exploitation tasks on iOS 14 and MacOS ARM64 devices.
This training will be held virtually in June 2022 via Zoom Sessions with support via a Discord server. It will be perfomed twice to allow trainees accross different timezones to attend the course. For 5 days there will be daily live training sessions around 5h in length. In addition to that all trainees will receive 1-2 weeks before the course a multi hour set of introduction videos they need to work through before the course. This course is targeted at security researchers that want to learn how to find and exploit kernel vulnerabilities in iOS 14 and 15.
The course will require trainees to have an own iOS device that is compatible to the checkra1n iOS 14 jailbreak. If checkra1n is available for iOS 15 devices until the course then this is also acceptable. Alternatively MacOS ARM64 devices can be used to perform kernel level hands on tasks.
Topics
The list of topics covered in the training. Please notice that this list is copied from an earlier version of the course and therefore there might be slight changes.
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
PAN and PAC (Pointer Authentication)
...
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
Debugging with own Patches
Kernel Heap Debugging/Visualization (new software package for new devices)
iOS Kernel Heap
In-Depth Explanation of How the Kernel Heap works (up to date for iOS 14.6)
Different techniques to control the kernel heap layout (including non-public ones)
Discuss weaknesses in current heap implementation
iOS Kernel Exploit Mitigations
Discussion of all the iOS Kernel Exploit Mitigations introduced
Includes software and hardware based mitigations like (KTRR, KPP, PAC, PAN, APRR)
Including newest mitigations already known in latest kernels
Discussion of various weaknesses in these protections
iOS Kernel Vulnerabilities and their Exploitation
Full walkthrough through exploitation of multiple prior known iOS memory corruption vulnerabilities
Analysis of public exploits and discussion how to improve them
Overview over different vulnerability types commonly found in iOS kernel and exploit strategies
Part of the training will be to reimplement bits and pieces of iOS 14 kernel exploits
iOS Kernel Jailbreaking
Discussion of how recent iOS jailbreaks work
Handling of New Devices
Discussion of necessary steps to port exploits from old to new devices
Training Takeaways
The whole training material (multiple hundred slides) will be handed to the students in digital form.
For up to 5 days after the training students can rewatch video recordings of all sessions.
Trainees will get a license for the Antid0te software and scripts that are used during
the training that allows usage but not redistribution of said software.
Training Requirements
Student Requirements
Basic understanding of exploitation
C and Python Programming knowledge
Knowledge of ARM64 assembly
Hardware Requirements
Apple Mac Notebook
iOS device compatible with checkra1n for iOS 14
Access to Apple ARM64 MacBook could be helpful to replace lack of iOS device (we will have some available via remote access)
Software Requirements
IDA Pro 7.x license (ARM64 support required)
Ghidra (Fully supported now)
Hexrays for ARM64 helpful, but not required
BinDiff for IDA helpful, but not required
MacOS, with latest XCode and iOS 14.x SDK (or newer)
Additional Software will be made available during the training
Virtual Venue
The training sessions will be held via Zoom video conferencing. Training sessions will be around 5 hours per training day. In addition to that trainees will get access to a few hours worth
of introductory videos.
Furthermore trainees get access to a Discord server that will be used to post information regarding the training and will be used to discuss exercises and their solution, unless those will be covered via Zoom.
All training sessions will be recorded and made available as videos until 5 days after the training. During that time trainees can rewatch sessions as often as they want.
Timezones
We offer this training in an EU/North America edition and in an APAC timezone edition. For other timezones please enquire. Unlike in person training courses when all attendees are present and share the same timezone the execution of online training courses requires some adjustments to be made to allow attendees accross different timezones to attent.
EU / North America Edition
17:00 - 22:00
Berlin
16:00 - 21:00
London
08:00am - 01:00pm
Seattle / Vancouver
11:00am - 04:00pm
New York / Montreal
Asia Pacific Edition
01:00pm - 06:00pm
Singapore
02:00pm - 07:00pm
Seoul
02:00pm - 07:00pm
Tokyo
03:00pm - 08:00pm
Sydney
07:00 - 12:00
Berlin
Please note that training times will be in afternoon for APAC edition because trainer might be in Germany during that time.
Pricing
We offer the following rates for this training.
EUR
4000,- EUR
SGD
6200,- SGD
USD
4750,- USD
Payment will be possible via international bank transfer or via credit card featured by STRIPE. Please note that we will usually charge EU customers in EUR and the rest of the world in SGD. On request we can charge in USD.
Register
If you have further questions or want to register for this training please contact us by e-mail training@antid0te.com. Please notice that signup, billing and execution of the training is handled by Antid0te SG Pte. Ltd..
In-House Training / Conferences / Additional Trainings
If you are interested in this training, but want us to perform the training for your people, want to feature our training at your online conference or would just like to know if we provide the training again at a later time please contact us by e-mail training@antid0te.com.