3-DAY TRAINING 4 – Hacking Android, iOS and IoT apps by Example
THIS CLASS IS NOW BEING HELD ONLINE FOLLOWING SINGAPORE TIMEZONE (CET +6)
DURATION: 3 DAYS
CAPACITY: 15 pax
SEATS AVAILABLE: REGISTRATION CLOSED
This course is a 100% hands-on deep dive into the OWASP Mobile Security Testing Guide (MSTG) and relevant items of the OWASP Mobile Application Security Verification Standard (MASVS), so this course covers and goes beyond the OWASP Mobile Top Ten.
Learn about Android, iOS and IoT app security by improving your mobile security testing kung-fu. Ideal for Penetration Testers, Mobile Developers and everybody interested in mobile app security.
All action, no fluff, improve your security analysis workflow and immediately apply these gained skills in your workplace, packed with exercises, extra mile challenges and CTF, self-paced and suitable for all skill levels, with continued education via unlimited email support and lifetime access to training portal with step-by-step video recordings and interesting apps to practice, including all future updates for free!
Why should you take this course?
This is more than a live online attendance course: You get the live online course but also lifetime access to a training portal with step-by-step video recordings, slides and lab exercises, including all future updates for free.
Students can take the course at their own pace and training portal access ensures topics can be reviewed on an ad-hoc basis as required by the student online after the course.
This training has been built from real issues seen in real applications, not fabricated vulnerabilities that you will never see in practice.
The goal is to start from the basics and ensure that each student comes out of the training with a significantly higher level of proficiency in the artistry of mobile pentesting.
Students will be taught ways to identify the attack surface of mobile apps, exploit interesting vulnerabilities and means to fix them. Ranging from fun defeating root/jailbreak detection, pinning, modifying app behaviour at runtime to inspecting what apps are doing in real time. The training also covers effective identification and exploitation of common vulnerability patterns, modification of Android and iOS apps at rest and at runtime, and more.
As the course has been written and carefully created by professional mobile app penetration testers, after many years of experience, many practical tips will be shared to leverage automation and make penetration testing more efficient as soon as the student goes back to their office.
Key Learning Objectives
This course will take any student and make sure that:
The general level of proficiency is much higher than when they came
The skills acquired can be immediately applied to mobile app security assessments
Skills can be sharpened via continued education in our training portal for free
The student is equipped to defeat common mobile app assessment challenges
People who are new to mobile security will learn a lot in this training.
Advanced students will come out with enhanced skills and more efficient workflows
The skills gained are highly practical and applicable to real-world assessments
Who Should Attend
Any mobile developer, penetration tester or person interested in mobile security will benefit from attending this training regardless of the initial skill level:
The course is for beginners, intermediate and advanced level students. While beginners are introduced to the nuances of mobile app security from scratch, intermediate and advanced level learners get to perfect both their knowledge and skills on the subject. Extra mile challenges are available in every module to help more advanced students polish their skills.
The course is crafted in a way that regardless of your skill level you will significantly improve your mobile security skills:
If you are new and cannot complete the labs during the class, that is OK, as you keep training portal access, you will learn a lot in the class but can continue from home with the training portal.
If you are more advanced in mobile security you can try to complete the labs in full and then take the CTF challenges we have for each day, you will likely also attempt to complete some exercises from home later 🙂
This course has no prerequisites as it is designed to accommodate students with different skills:
Advanced students will enjoy comprehensive labs, extra miles and CTF challenges
Less experienced students complete what they can during the class, and can continue at their own pace from home using the training portal.
This said, the more you learn about the following ahead of the course, the more you will get out of the course:
Linux command line basics
Hardware / Software Requirements
A laptop with the following specifications:
Ability to connect to wireless and wired networks.
Ability to read PDF files
Administrative rights: USB allowed, the ability to deactivate AV, firewall, install tools, etc
Knowledge of the BIOS password, in case VT is disabled.
Minimum 8GB of RAM (recommended: 16GB+)
60GB+ of free disk space (to copy a lab VM and other goodies)
VirtualBox 6.0 or greater, including the “VirtualBox Extension Pack”
Genymotion (can be the free version)
A mobile phone capable of receiving text messages
A jailbroken iPhone / iDevice with iOS >=9 (ideally: iOS 12-13) for the iOS labs
Optional but useful: One of the following BurpSuite, ZAP or Fiddler (for MitM)
Optional but useful: A Mac/Hackintosh with the latest XCode installed, for iOS code review & labs
Agenda – Day 1: Attacking Android apps by Example
Part 0 – Android Security Crash Course
The state of Android Security
Android security architecture and its components
Android apps and the filesystem
Android app signing, sandboxing and provisioning
Recommended lab setup tips
Part 1 – Static Analysis with Runtime Checks
Tools and techniques to retrieve/decompile/reverse and review APKs
Identification of the attack surface of Android apps and general information gathering
Identification of common vulnerability patterns in Android apps:
Access control flaws
Cool injection attacks and more
The art of repackaging:
Tips to get around not having root
Manipulating the Android Manifest
Defeating SSL/TLS pinning
Defeating root detection
Dealing with apps in foreign languages and more
Part 2 – Dynamic Analysis
Monitoring data: LogCat, Insecure file storage, Android Keystore, etc.
The art of MitM: Intercepting Network Communications
The art of Instrumentation: Hooking with Xposed
App behaviour monitoring at runtime
Defeating Certificate Pinning and root detection at runtime
Modifying app behaviour at runtime
Part 3 – Test Your Skills
CTF time, including finding IoT vulnerabilities through app analysis
Agenda – Day 2: Attacking iOS apps by Example
Part 0 – iOS Security Crash Course
The state of iOS Security
iOS security architecture and its components
iOS app signing, sandboxing and provisioning
iOS apps and the filesystem
Recommended lab setup tips
Part 1 – Static Analysis with runtime checks
Tools and techniques to retrieve/decompile/reverse and review IPAs
Identification of the attack surface of iOS apps and general information gathering
Identification of common vulnerability patterns in iOS apps:
Access control flaws
Cool injection attacks, and more
Patching and Resigning iOS binaries to alter app behaviour