Hacking Android, iOS and IoT apps by Example

This course is the culmination of years of experience gained via practical penetration testing of mobile applications as well as countless hours spent in research. We have structured this course around 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. This course provides participants with actionable skills that can be applied immediately from day 1

Please note our courses are 90%+ hands-on, we do not lecture students with boring bullet points and theories, instead we give you practical challenges and help you solve them, teaching you how to troubleshoot common issues and get the most out of this training. As we try to keep both new and advanced students happy, the course is very comprehensive and we have not met any student able to complete all challenges during the class, therefore training continues after the course through our frequently updated training portal, for which you keep ​lifetime access​, as well as ​unlimited email support​.

Each day starts with a brief introduction to the mobile platform for that day and then continues with a look at static analysis, moves on to dynamic checks finishing off with anice CTF session to test the skills gained.

Day 1​: Focused specifically on Android: We start with understanding applications and then deep dive into static and dynamic analysis of the applications at hand. This day is packed with hands on exercises and CTF-style challenges.

Day 2: Focused on iOS: We start with understanding iOS Architecture and varioussecurity precautions in place. We then focus on static and dynamic analysis of the applications at hand. The day is filled with hands on exercises ending with a CTF formore practical fun.

Course 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
Attendees will be provided with
  • Lifetime​ access to ​training portal​, with all course materials
  • ​Unlimited access​ to ​future updates​ and step-by-step ​video recordings
  • Unlimited email support​, if you need help while you practice at home later
  • Government-mandated​ and ​police apps​ in various countries
  • Many other excitingly vulnerable real-world apps
  • ​IoT​ apps controlling Toys, Drones, etc.
  • Digital copies of all training material
  • Custom Build Lab VMs
  • Purpose Build Vulnerable Test apps
  • Source code for test app
Topics Included
  1. Review of Common Flaws in Source Code and at Runtime
  2. Modification of App Behavior Through Code/Configuration Changes
  3. Interception of Network Communication aka MitM
  4. ​Jailbreak/Root Detection Bypasses and App Review from a Privileged Standpoint
  5. Instrumentation (Review and Modification of App Behavior)
  6. CTF Challenges for Attendants to Test Their Skills
Why should you take this course?

This is ​more​ than a physical attendance course: You get the physical course but also lifetime access​ to a training portal with step-by-step video recordings, slides and labexercises, ​including all future updates for free​.

Students can take the course at their own pace and training portal access ensures topicscan 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 thetraining with a significantly higher level of proficiency in the artistry of mobile pentesting.

Students will be taught of ways to identify the attack surface of mobile apps, exploitinteresting vulnerabilities and means to fix them. Ranging from fun defeatingroot/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 atrest 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.

Upon Completion of this training, attendees will know

Completing this training ensures attendees will be competent and able to:

  • Intercept mobile app network communications
  • Bypass certificate and public key pinning protections
  • Bypass jailbreak/root detection
  • Reverse engineer and analyze mobile apps from a blackbox perspective
  • Review mobile app source code to identify security flaws
  • Perform a mobile app security review
Course Content (ToC)

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:
      • Hardcoded secrets
      • Logic bugs
      • Access control flaws
      • Intents
      • 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

Day 2: Attacking Android 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 tip
  • 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:
      • Hardcoded secrets
      • Logic bugs
      • Access control flaws
      • URL handlers
      • Cool injection attacks, and more
    • Patching and Resigning iOS binaries to alter app behaviour
    • Tips to test without a jailbreak
  • Part 2 - Dynamic Analysis
    • Monitoring data: caching, logs, app files, insecure file storage, iOS keychain,etc.
    • Crypto flaws
    • The art of MitM: Intercepting Network Communications
    • Defeating certificate pinning and jailbreak detection at runtime
    • The art of Instrumentation: Introduction to ​Frida, Objection
    • App behaviour monitoring at runtime
    • Modifying app behaviour at runtime
  • Part 3 - Test your Skills
    • CTF time, including finding IoT vulnerabilities through app analysis
Prerequisite of Training Class

Hardware & Software: Attendees should bring

2 Day TrainingPrerequisite of Training ClassHardware & Software: Attendees should bringA 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) 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 codereview & labs
Student / Prerequisites for attendees

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 willget out of the course:

  • Linux command line basics
  • Android basics
  • iOS basics
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 andadvanced 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 studentspolish 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 withthe training portal.

If you are more advanced in mobile security you can try to complete the labs in full andthen take the CTF challenges we have for each day, you will likely also attempt tocomplete some exercises from home later :)

What to expect

A fully practical class that will seriously improve your mobile security knowledge and skills, regardless of the skill level you come in with.

Battle-tested tips and tricks that take your abilities to the next level and that you can apply as soon as you go back to your workplace, making security testing of mobile appsas efficient as possible.

Intensive hands-on exercises that challenge you to deep dive into the world of mobile security.

Lifetime access to training portal (including all future updates), unlimited email support,access to private groups to communicate with other students, mandated, police, IoT andotherwise interesting apps from various countries.

What not to expect

This is ​more​ than a physical attendance course: You get the physical course but also lifetime access​ to a training portal with step-by-step video recordings, slides and labexercises, ​including all future updates for free​.

The course does ​not​ cover: Android or iOS 0-day, exploits against the platforms themselves, ARM exploit writing, writing buffer or heap overflows.

Do ​not​ expect the teachers to be talking through slides most of the time: This class is practical not theoretical, the teachers don’t bore you with slides all the time, instead youdo exercises all the time and the teachers help you solve the challenges you face as youcomplete them.

Speaker Profile

Workshop - 1
Abraham Aranguren

CEO, Security Trainer, Director of Penetration Testing

7ASecurity


After 13 years in itsec and 20 in IT Abraham is now the CEO of 7ASecurity (​7asecurity.com​), a company specializing in penetration testing of web/mobile apps, infrastructure, code reviews and training. Former senior penetration tester / team lead at Cure53 (​cure53.de​) and Version 1 (​www.version1.com​). Creator of “Practical WebDefense” - a hands-on eLearnSecurity attack / defense course(​www.elearnsecurity.com/PWD​), OWASP OWTF project leader, an OWASP flagship project (​owtf.org​), Major degree and Diploma in Computer Science, some certs: CISSP, OSCP, GWEB, OSWP, CPTS, CEH, MCSE:Security, MCSA:Security, Security+. As ashell scripting fan trained by unix dinosaurs, Abraham wears a proud manly beard. Hewrites on Twitter as ​@7asecurity​​ @7a_​​@owtfp​ or ​https://7asecurity.com/blog​. Multiplepresentations, pentest reports and recordings can be found at https://7asecurity.com/publications


Workshop - 1
Abhishek J M

Security Trainer, Penetration Tester

7ASecurity

Abhishek is a security enthusiast and has been working on mobile application security for the past 5 years. He is an avid CTF player and is the mobile security team lead ofone of India's top CTF teams, ​Team bi0s​. He is the author of notable open source mobile security projects like ​Adhrit​ and ​EVABS​ which have been received well in the community. He has presented his work and has conducted trainings at various meetups and conferences like ​OWASP Seasides​, Threatcon, ​Cysinfo​ and c0c0n. He is an open source evangelist and spends his free time automating and building learning materials for mobile security.


Workshop - 1
Anirudh Anand

Security Trainer, Penetration Tester

7ASecurity

Anirudh Anand is a security researcher with a primary focus on Web and Mobile Application Security. He has been submitting bugs and contributing to security tools forover 7 years. In his free time, he participates in CTF competitions along with ​Team bi0s(#1 security team in India according to CTFtime). His bounties involve vulnerabilities inGoogle, Microsoft, LinkedIn, Zendesk, Sendgrid, Gitlab, Gratipay and Flipboard.

Anirudh also has contributed to several OWASP projects with notable contributionsbeing in OWTF and Hackademic Challenges Project. He has presented/trained in amultitude of conferences including c0c0n 2019, BlackHat Arsenal 2019, BlackHatEurope Arsenal 2018, HITB Dubai 2018, Offzone Moscow 2018, Ground Zero SummitDelhi 2015 and Xorconf 2015


Past Training Experience

The proposed trainers have provided IT training during multiple years in their careers. Inaddition to this, in 2019 various courses have been taught by these trainers at the following conferences with excellent attendant feedback:


Additional References

Evidence of the course author being part of the team in a number of engagements is available via public pentest reports (i.e. the course author name appears in all of these reports):

NOTE: Smart Sheriff is a mobile app that was mandated by the South Koreangovernment, for more information please see our presentation: “Smart Sheriff, DumbIdea, the wild west of government assisted parenting”


Other Links

NOTE: Name removed for safety in the following reports, participation can be confirmed emailing ​mario@cure53.de

Remember these Dates!

CFP/CFW Opens

October 26th, 2019

CFP Closing Date

December 1st, 2019

Conference Dates

June 17th to 18th, 2020

Workshop Dates

June 15th to 16th, 2020