Hacking Mobile Devices

Schedule · Powerpoints · Projects · Links · Home Page

Surveys: Mon, Wed, Fri

Hall of Fame

Real Vulnerabilities Found by Students

Chris Marshall

Doctor's Android app --plaintext credential transmission

Rajiv Malkan

Conference schedule Android app -- plaintext credential transmission
Jeweler's Android app -- plaintext credential transmission
Community college sending SSNs through broken SSL
Fundraising coupon book uses plaintext authentication
Rewards app with plaintext authentication
Attorney site with plaintext authentication

Scott Stephenson

Pizza retail app--broken HTTPS
Emergency medical service in Texas--broken HTTPS

Mequanint Moges

Construction company plaintext
Realtor HTTP + MD5

John Byers

An important community college app breaks HTTPS

Mehmet Kilinc & Rafat Elsharef

Arabic Medical App plaintext credential transmission
Mehmet Kilinc & Rafat Elsharef -- Mortgage company with broken HTTPS
Mehmet Kilinc & Rafat Elsharef -- Nigerian cellphone company with plaintext authentication
Major ticket sales site using plaintext authentication

Jim Evans

Major television channel watching app with plaintext password transmission
Dating app with plaintext password transmission
Major university broken HTTPS
Major TV sports watching app broken HTTPS
Internet Service Provider with broken HTTPS

Carolyn Lightfoot

Major news app plaintext authentication
Foinancial planner plaintext authentication
Self--publisher plaintext authentication

Sean Che

A whole product line University reward apps that use plaintext authentication

Judy Ligocki

Major sports channel plaintext authentication

Catalog Description

Mobile devices such as smartphones and tablets are now used for making purchases, emails, social networking, and many other risky activities. These devices run specialized operating systems have many security problems. This class will cover how mobile operating systems and apps work, how to find and exploit vulnerabilities in them, and how to defend them. Topics will include phone call, voicemail, and SMS intrusion, jailbreaking, rooting, NFC attacks, malware, browser exploitation, and application vulnerabilities. Hands-on projects will include as many of these activities as are practical and legal.

Prerequisite skills: Security knowledge at the Security+ level, and familiarity operating mobile devices such as smartphones and tablets

Upon successful completion of this course, the student will be able to:
  1. Describe the risks of using mobile devices for common activities such as making phone calls, emailing, and shopping
  2. Explain cellular network functions, attacks, anbd countermeasures for voice calls, voicemail, and SMS
  3. Perform and analyze jailbreaks for iOS devices
  4. Analyze the Android security model and rooting
  5. Recognize types of mobile malware and anti-malware options
  6. Identify Web browser services and attacks on mobile platforms and recommend countermeasures
  7. Configure and defeat locking, remote location and wiping services
  8. Explain common mobile app risks and make intelligent decisions when installing and using them
  9. Evaluate the functions and risks of mobile payment services, such as Google Wallet


"Hacking Exposed Mobile: Security Secrets & Solutions", by Bergman, Stanfield, Rouse, Scambray, Geethakumar, Deshmukh, Matsumoto, Steven and Price, McGraw-Hill Osborne Media; 1 edition (July 9, 2013) ISBN-10: 0071817018 Buy from Amazon

Example Vulnerability Report

Example Proof of Concept Page for Plaintext

Example Proof of Concept Page for Broken SSL


Date Topics Projects

Mon 7-13    Motivation: Android Security Auditing
Android and iOS Vulnerabilities Research

1: The mobile risk ecosystem
2: Hacking the cellular network

    Proj. 1-3

Tue 7-14 3: iOS
4: Android (Part 1)
Proj. 4-6

Wed 7-15 4: Android (Part 2)
5: Mobile malware
6: Mobile services and mobile Web
Proj. 7-8

Thu 7-16 7: Mobile Device Management
8: Mobile development security
9: Mobile payments
Proj. 10, 6x, 11

Fri 7-17 To Be Announced To Be Announced


Android Security Auditing
Android Trojans
Android and iOS Vulnerabilities Research

1: The mobile risk ecosystem
2: Hacking the cellular network
3: iOS
4: Android
5: Mobile malware
6: Mobile services and mobile Web (part 1)
6: Mobile services and mobile Web (part 2)
7: Mobile Device Management
8: Mobile development security
9: Mobile payments

If you do not have PowerPoint you can use Open Office.

Back to Top


Preparation: Do One of These

Ubuntu Prep for Android Security Auditing Using Working Connections Lab Machines

Ubuntu Prep for Android Security Auditing Using Personal Laptops



Simple Insecurities

1. Genymotion and Google Play
2. Observing the TD Ameritrade Log
3. Mayo Clinic Medical Transport App Hardcoded Password Exposure

Using a Proxy to Audit SSL Traffic

4. Preparing Genymotion and Burp for Android SSL Auditing
5. GenieMD Broken SSL
6. Garland & Associates App Plaintext Data Transmission and Broken SSL

Code Modification and Smali

7. Making a Signed App with Android Studio
8. Trojaning the Charles Schwab App (NORMAL TROJAN)
8a. Trojaning the Citibank App (HTTP PARAMETERS TROJAN)
8b. Trojaning the Capital One App (APACHE CORDOVA TROJAN)
8c. Trojaning the BanCorp App (STRING BUILDER TROJAN)

8d. Auto-Trojaning the Walmart App

Auditing Local File Storage

Auditing Local File Storage for the Safeway App
Auditing Local File Storage for the Lumosity App

Defenses & Countermeasures

Project 10: Obfuscating an Android App with ProGuard (10 points)
Project 6x: Obfuscating Android Source Code with DashO (15 pts. extra credit)
Project 11: MaaS360 (15 points)

iOS Apps: SSL Auditing Proxy

Making an SSL Auditing Proxy with a Mac, Burp, and pf
Comparing Secure and Insecure iOS Apps (not public yet)


Project 14: Acquiring a Forensic Image of an Android Phone (25 pts.)
Project X4: Acquiring an iPad image with iTunes (15 pts.) (rev. 5-6-15)
Project X6: Analyzing an iTunes Backup with Magnet Forensics' Internet Evidence Finder (15 pts.) (new 5-6-15)

Old Projects

Project 1: Preparing an Android Virtual Machine (25 pts.)
Project 2: Rooting Your Android Virtual Machine (10 pts.)
Project 3: Android Studio (20 pts.)

Troubleshooting Android Emulator Problems

Project 4: ExploitMe Mobile Lab 1: Sniffing Insecure Connections with Burp (15 points)
Project 5: ExploitMe Mobile Lab 2: Parameter Manipulation (15 points)
Project 6: ExploitMe Mobile Lab 3: Insecure File Storage (20 points)
Project 7: ExploitMe Mobile Lab 4: Secure Logging (10 points)
Project 8: ExploitMe Mobile Lab 7: Scraping Data from RAM (15 points)
Project 9: Decompiling and Trojaning an Android App with Smali Code (15 points)

Extra Credit Projects

Project 1x: Android Security Auditing with Genymotion and Burp (20 pts. extra credit)
Project 2x: Security Audit of the NFL Android App (15 pts. extra credit)
Project 3x: Security Audit of Another Android App (20 pts. extra credit)
Project 4x: BlueStacks Android Emulator on Windows (15 pts. extra credit)
Project 5x: Trojaning an Android App and Posting Credentials on the Web (15 pts. extra credit)
Project 7x: Making an iPhone App with Xcode (15 pts. extra credit)
Project 8x: Security Audit of ExploitMe Mobile in Xcode (25 pts. extra credit)
Project 9x: Making a Data-Stealing Android Trojan (15 pts. extra credit)
Project 10x: Find an Android Vulnerability and Report it Correctly (40 pts. extra credit)
Project 11x: Stealing Credentials from an Android App with a SSL MITM Attack (15 pts.)

References for Projects

ExploitMe Mobile Android Labs from Security Compass
Android Assessments with GenyMotion + Burp
Back to Top


Ch 1a: Mobile OS market share in the U.S. 2018
Ch 1b: Android App Vulnerablities Research
Ch 1c: How to secure, protect, and completely lock down your Android phone
Installing Burp Certificate as a System Certificate
Ch 6a: SSL broken! Hackers create rogue CA certificate using MD5 collisions (2008)
Ch 6b: Create your own MD5 collisions
Ch 6c: MD5 considered harmful today (2008)
Ch 6d: Why it's harder to forge a SHA-1 certificate than it is to find a SHA-1 collision
Ch 6e: Encryption: Android Open Source Project
Ch 6f: Android version history - Wikipedia
Ch 6g: Android Encryption Demystified | ElcomSoft blog
Stuck at 99% : noxappplayer
JustTrustMe SSL certificate UN-pinning
Android Applications Reversing 101
Android and Apple phone security: Here's an objective chart to help you decide
Android Enterprise Recommended
Ch 6h: What is LineageOS and What Happened to CyanogenMod?
Ch 6i: Paranoid Android (software) - Wikipedia
Ch 7a: Picking your compileSdkVersion, minSdkVersion, targetSdkVersion
Ch 7b: Distribution dashboard: Android Developers
Ch 7c: What has happened to Android's Distribution Dashboards?
Ch 7d: Apple will stop reporting unit sales for iPhone, iPad and Mac from next quarter (2018)
Ch 7e: Vulnerabilities with Custom Permissions
Ch 7f: Permission Downgrade Attacks and Android 5.0
Ch 7g: Android Intents - Tutorial
Ch 7h: am: Activity Manager
Ch 7i: CVE-2013-6271: Remove Device Locks from Android Phone - Cureblog
Ch 5k: whois microsoft.com (archived)
Ch 5j: Zone Transfer Test Online | HackerTarget.com
Android Security Analysis Tools, Part Four - MobSF | Netguru Blog on Android
Ch 7j: What is Umask and How To Setup Default umask Under Linux? - nixCraft
Ch 7k: linux - Effect of umask on text files - Stack Overflow
Ch 7l: Download Cydia for Android - Full Installation Guide
Ch 7m: Link Substrate Files failed � Issue #1 � AndroidHooker/hooker
Ch 7n: Frida -- A world-class dynamic instrumentation framework
Ch 7o: Hacking Android app with Frida
Ch 7p: Hacking Android apps with FRIDA
passionfruit: [WIP] Crappy iOS app analyzer -- TRY FOR PROJECTS
JEB Decompiler by PNF Software -- Important commercial tool
Ch 7q: Four Ways to Bypass Android SSL Verification and Certificate Pinning
MOBISEC slides for European Android Hacking Class
TrustMeAlready: Disable SSL verification and pinning on Android, system-wide
Ch 7r: CVE-2013-6271 Android Settings Remove Device Locks (4.0-4.3)
Ch 8a: PathClassLoader �|� Android Developers
Ch 8b: DexClassLoader - Android Developers
Don't Trust Google Play Protect to Shield Your Android
9 Mobile App Scanner to Find Security Vulnerabilities
Ch 8c: How to Use ADB and Fastboot on Android (and Why You Should)
Ch 8d: How to Enter Android's Bootloader and Recovery Environments
Ch 8e: Cracking Android passwords, a how-to
Ch 8f: How to crack android lockscreen passwords
Ch 8g: Android WebView addJavascriptInterface Code execution Vulnerability

Back to Top
Last Updated: 7-16-15 9 am