Overview
Syllabus
Introduction
Case Study 1 - Rooting On A Locked Bootloader
Target Device
Disabled Bootloader Unlock
Finding An Exploit
SELinux Protection
Alternative Attack Vectors
Custom Recovery Mode
Finding An Update Image
Recovery Mode Menu
Root Cause Analysis
Exploiting Command Injection
Getting A Shell
Switching To Android
Overriding Init
Init Process
Shared Mounts
Patching out SELinux Checks
Fixing Kernel Panics
Reinitialising Services
Replacing Read-Only Files
Hidden RAMDisk
Case Study 2 - Exploiting An Exynos Secondary Bootloader
Fuzzing USB Control Transfers
Initial Fuzzing Attempts
Causing A Crash
Exploiting Descriptor Overwrite
Brute Forcing Memory
Dumping Memory
DEP Misconfiguration
Basic Code Execution
Reimplementing Boot
Boot Debugging
Kernel Execution
Boot Failure
Bootloader Threads
Disabling Threads
Aarch64 Exceptions
Additional Errors
Android Modification
Final Notes
Disclosure
Conclusion
Taught by
DEFCONConference