Prateek Gianchandani works as a Security Researcher at xen1thlabs. He has more than eight years of experience in Mobile Security. His core focus area is mobile exploitation, reverse engineering and embedded device security. He is also the author of the open source vulnerable application named Damn Vulnerable iOS app. He has presented and trained at many international conferences including Defcon, Blackhat USA, Brucon, Hack in Paris, PhDays, Appsec USA. In his free time, he blogs at http://highaltitudehacks.com
This course is designed to introduce beginners as well as advanced security enthusiasts to the world of mobile security using a fast-paced learning approach through intensive hands-on labs. The class starts with a basic introduction to the ARM instruction set and an intro to reverse engineering before moving on to the internals of iOS and Android. We then discuss some of the latest exploitation techniques using real-world bugs (e.g., voucher_swap for iOS 12) followed by a walkthrough of how jailbreaks are written. We also discuss some of the common vulnerability types (Heap Overflows, Use-after-free, Uninitialized Stack variable, Race conditions).
The training then moves on to application security and is based on exploiting Damn Vulnerable iOS app, Android-InsecureBankv2 written by the authors of this course and a broad range of other real-world applications. Slides and detailed documentation on the labs will be provided to the students for practice after the class.
After the training, the attendees will:
- Get an understanding of ARM64 instruction set (including ARM 8.3)
- Learn the fundamentals of iOS IPC (XPC, Mach)
- Get an intro to some common bug categories UaF, Heap overflow, etc
- Understand how jailbreaks and exploits are written (including iOS 12)
- Reverse engineer iOS and Android binaries (Apps and system binaries)
- Be able to audit iOS and Android apps for security vulnerabilities
- Understand some of the latest bugs and mitigations (PAC, CoreTrust, Code Signing)
- Understand and bypass anti-debugging and obfuscation techniques
- Get a quick walkthrough on using IDA Pro, Hopper, Frida, etc
The course covers topics ranging from beginners to advanced topics. Basic Linux skills are the only requirements for the course.
What students should bring
- Laptop with:
- 25+ GB free hard disk space
- 4+ GB RAM
- VMware player/Fusion installed on the machine
- A Mac machine and jailbroken 64bit iPhone/iPad/iPod running iOS 10+ are necessary for the iOS hands-on modules.
- Download and install the latest version of Xcode.
- Administrative access on the system
- External USB access allowed.
Seats – 15
Period– Three days