Xtreme Android Exploitation Lab

Nullcon 2017

01 March 2017

AI Generated Summary

AI Generated Content Disclaimer

Note: This summary is AI-generated and may contain inaccuracies, errors, or omissions. If you spot any issues, please contact the site owner for corrections. Errors or omissions are unintended.

This is a comprehensive two-day training workshop titled “Xtreme Android Exploitation Lab” delivered by Anant Shrivastava and Anto Joseph at Nullcon 2017. The training takes a hands-on, scenario-based approach to Android security — covering the full spectrum from APK reverse engineering, traffic interception, SSL pinning bypass, and root detection evasion on Day 1, through dynamic analysis, instrumentation frameworks (Xposed and Frida), and Android fuzzing on Day 2. The lab uses Android Tamer as the base environment with Genymotion emulator, and maps exercises against the OWASP Mobile Top 10 risks.

Key Topics Covered

Actionable Takeaways

  1. Set up Android Tamer with Genymotion as a standardized Android security testing lab — use apk2java for rapid decompilation and always cross-reference output from multiple decompilers (jad and jadx) for accuracy.
  2. For traffic interception, follow the escalation path: configure proxy for HTTP first, import proxy root CA for HTTPS, then use Xposed with JustTrustMe or Frida scripts for certificate pinning bypass — this systematic approach covers progressively hardened applications.
  3. Learn Frida as your primary dynamic instrumentation tool — its JavaScript injection capability and Python/Node.js bindings make it the most versatile tool for runtime behavior modification, covering root detection bypass, certificate pinning bypass, and custom hooking scenarios.
  4. When facing obfuscated code, use the Simplify de-obfuscation tool first, then fall back to Smali-level analysis if Java decompilation fails — remember that obfuscation defers but doesn’t prevent analysis.
  5. Include fuzzing in your Android assessment methodology — use DroidFuzzer for intent fuzzing and C binary fuzzing to discover vulnerabilities beyond what static and dynamic analysis tools typically find, especially in Android’s media processing and core framework components.
  6. Always check /data/data/<app>/, /sdcard/, and /sdcard1/ during dynamic analysis for insecure data storage — many applications leak sensitive data to these locations.
  7. Master the decompile-modify-recompile workflow (apktool d → edit Smali → apktool bkeytooljarsigner) as it is essential for bypassing client-side controls and modifying application behavior during assessments.

Social chatter