Skip to main content

Mobile

Mobile application security reference. Covers Android and iOS attack surfaces, testing methodology, and defensive controls.

Writeups and references in this category follow the two-track format (Pentest / AppSec) where applicable.

CAUTION

Authorized use only. All material is provided for educational purposes and authorized testing.
See ../../SECURITY.md for the full policy.

Table of Contents​

#SectionDescription
-Quick ReferenceCommon ports, tools, and one-liners for mobile
-Decision TreeChoose the right path based on the artifact (APK/IPA)
1Mobile Security FundamentalsArchitecture, threat modeling, shared attack vectors
2OWASP Mobile Top 102024 list (M1-M10) with 2016 mapping and MASVS categories
3Android SecurityAPK structure, manifest, exported components, WebView, Frida hooks
4iOS SecurityIPA structure, Mach-O, Keychain, Data Protection, jailbreak detection
5Mobile Defense and TestingMASTG/MASVS methodology, MobSF, supply chain (M2), privacy (M6)

Quick Reference​

Common Ports​

PortCommon Use
5555ADB over TCP (Android Debug Bridge)
27042Frida default port (frida-server)
8080mitmproxy / Burp Suite proxy
8000MobSF web UI
1337Common Metasploit / custom C2 port
8443HTTPS alt (custom APIs)

Tools​

ToolPurpose
adbAndroid Debug Bridge: install, shell, logcat, backup
fridaRuntime hooking (Android/iOS)
objectionFrida-based exploration without writing scripts
jadxDecompile Android DEX to Java
apktoolDecode/rebuild Android APK (smali, manifest)
class-dumpDump Objective-C headers from iOS binaries
frida-ios-dumpDecrypt iOS app from memory (jailbroken)
MobSFAutomated static + dynamic analysis (APK/IPA)
mitmproxyTraffic interception with user CA
Burp SuiteTraffic interception, scanner
keychain_dumperDump iOS Keychain (jailbroken)
ideviceinstallerInstall/manage iOS apps from Linux/macOS

One-liners​

# Android: install and launch
adb install app.apk
adb shell monkey -p com.example.app -c android.intent.category.LAUNCHER 1

# Android: decompile
apktool d app.apk -o app-decoded
jadx -d app-jadx app.apk

# iOS: unzip and inspect
unzip app.ipa -d app-decoded
plutil -p app-decoded/Payload/App.app/Info.plist

# Frida: spawn and attach
frida -U -f com.example.app -l script.js --no-pause

# MobSF: upload and scan (API)
curl -F "file=@app.apk" http://localhost:8000/api/v1/upload -H "Authorization: <KEY>"

Decision Tree​

When you receive a mobile app artifact, follow this tree.

Artifact received (APK / IPA)
|
+-- Android (APK)
| |
| +-- Static: apktool d app.apk
| | +-- Check AndroidManifest.xml (exported, debuggable, allowBackup)
| | +-- Check network_security_config.xml (cleartext, pinning)
| |
| +-- Static: jadx -d out app.apk
| | +-- Search for hardcoded secrets (api_key, token, password)
| | +-- Check WebView settings, JS bridges
| |
| +-- Dynamic: adb install app.apk
| +-- adb shell am start -n com.example/.Activity
| +-- Frida: hook root detection, SSL pinning
| +-- adb logcat | grep com.example
|
+-- iOS (IPA)
|
+-- Static: unzip app.ipa
| +-- plutil -p Info.plist (URL schemes, ATS)
| +-- codesign -d --entitlements (get-task-allow, keychain groups)
| +-- class-dump / Hopper (if decrypted)
|
+-- Dynamic: (jailbroken or Corellium)
+-- frida-ios-dump -u com.example -o out.ipa
+-- Frida: hook jailbreak detection, SSL pinning
+-- Keychain dump (keychain_dumper)

Workflow​

  1. Scope - list the apps, versions, and backend APIs.
  2. Static - manifest/plist, permissions, exported components, hardcoded secrets, pinning, ATS/cleartext, debuggable flag.
  3. Dynamic - install, launch, browse all screens, capture traffic, exercise deep links and IPC.
  4. Abuse - try exported components, content providers, WebView bridges, deep links, jailbreak/root detection bypass, pinning bypass.
  5. Backend - test the API directly (auth, IDOR, rate limiting, token lifetime).
  6. Report - per MASVS category, with severity and evidence.

References​


  • ../web/ - browser-facing web application security (CSRF, XSS, SQLi).
  • ../api/ - machine-facing API security (REST, GraphQL, Auth).
  • ../../CHEATSHEET.md - general pentest commands.
  • ../../METHODOLOGY.md - engagement workflow.
  • ../../methodology/OSCP-Reporting.md - exam reporting.

Last updated: 2026-10-24. Part of MethodMan. English only by design.