/android-security-awesome

A collection of android security related resources

Apache License 2.0Apache-2.0

android-security-awesome Awesome

A collection of android security related resources.

A lot of work is happening in academia and industry on tools to perform dynamic analysis, static analysis and reverse engineering of android apps.

ONLINE ANALYZERS

  1. AndroTotal
  2. Anubis
  3. App 360 scan
  4. CopperDroid
  5. Dexter
  6. Foresafe
  7. Mobile app insight
  8. Mobile-Sandbox
  9. Sandroid
  10. Tracedroid
  11. Visual Threat
  12. Android Sandbox
  13. Mobile Malware Sandbox
  14. MobiSec Eacus
  15. IBM Security AppScan Mobile Analyzer - not free
  16. NVISO ApkScan
  17. AVC UnDroid
  18. Stowaway – seems to be dead now
  19. Comdroid - seems to be dead now

STATIC ANALYSIS TOOLS

  1. Androwarn
  2. ApkAnalyser
  3. APKInspector
  4. Droid Intent Data Flow Analysis for Information Leakage
  5. Several tools from PSU
  6. Smali CFG generator
  7. FlowDroid
  8. Android Decompiler – not free
  9. PSCout - A tool that extracts the permission specification from the Android OS source code using static analysis
  10. Amandroid
  11. SmaliSCA - Smali Static Code Analysis
  12. CFGScanDroid - Scans and compares CFG against CFG of malicious applications
  13. Madrolyzer - extracts actionable data like C&C, phone number etc.
  14. SPARTA - verifies (proves) that an app satisfies an information-flow security policy; built on the Checker Framework
  15. QARK - QARK by LinkedIn is for app developers to scan app for security issues

DYNAMIC ANALYSIS TOOLS

  1. Android DBI frameowork
  2. Android Malware Analysis Toolkit - (linux distro) Earlier it use to be an online analyzer
  3. AppUse – custom build for pentesting
  4. Cobradroid – custom image for malware analysis
  5. ViaLab Community Edition
  6. Droidbox
  7. Mercury
  8. Drozer
  9. Taintdroid - requires AOSP compilation
  10. Xposed - equivalent of doing Stub based code injection but without any modifications to the binary
  11. Android Hooker - API Hooking of java methods triggered by any Android application (requires the Substrate Framework)
  12. Android tamer - custom image
  13. Droidscope - custom image for dynamic analysis
  14. CuckooDroid - Android extension for Cuckoo sandbox
  15. Mem - Memory analysis of Android (root required)
  16. Crowdroid – unable to find the actual tool
  17. AuditdAndroid – android port of auditd, not under active development anymore
  18. Android Security Evaluation Framework - not under active development anymore
  19. Android Reverse Engineering – ARE (android reverse engineering) not under active development anymore
  20. Ijiami (Chinese) - seems dead now
  21. Aurasium – rewrites the android app to add security policy, seems dead now
  22. Android Linux Kernel modules
  23. Appie - Appie is a software package that has been pre-configured to function as an Android Pentesting Environment.It is completely portable and can be carried on USB stick or smartphone.This is a one stop answer for all the tools needed in Android Application Security Assessment and an awesome alternative to existing virtual machines.
  24. StaDynA - a system supporting security app analysis in the presence of dynamic code update features (dynamic class loading and reflection). This tool combines static and dynamic analysis of Android applications in order to reveal the hidden/updated behavior and extend static analysis results with this information.
  25. DroidAnalytics - incomplete

REVERSE ENGINEERING

  1. Smali/Baksmali – apk decompilation
  2. emacs syntax coloring for smali files
  3. vim syntax coloring for smali files
  4. AndBug
  5. Androguard – powerful, integrates well with other tools
  6. Apktool – really useful for compilation/decompilation (uses smali)
  7. Android Framework for Exploitation
  8. Bypass signature and permission checks for IPCs
  9. Android OpenDebug – make any application on device debuggable (using cydia substrate).
  10. Dare – .dex to .class converter
  11. Dex2Jar - dex to jar converter
  12. Enjarify - dex to jar converter from Google
  13. Dedexer
  14. Fino
  15. Indroid – thread injection kit
  16. IntentSniffer
  17. Introspy
  18. Jad - Java decompiler
  19. JD-GUI - Java decompiler
  20. CFR - Java decompiler
  21. Krakatau - Java decompiler
  22. Procyon - Java decompiler
  23. FernFlower - Java decompiler
  24. Redexer – apk manipulation
  25. Smali viewer
  26. ZjDroid (no longer available), fork/mirror
  27. Simplify Android deobfuscator
  28. Bytecode viewer
  29. Krakatau

FUZZ TESTING

  1. IntentFuzzer
  2. Radamsa Fuzzer
  3. Honggfuzz
  4. An Android port of the melkor ELF fuzzer
  5. Media Fuzzing Framework for Android

##APP REPACKAGING DETECTORS

  1. FSquaDRA - a tool for detection of repackaged Android applications based on app resources hash comparison.

Exploitable Vulnerabilties

  1. Vulnerability Google doc
  2. Root Exploits (from Drozer issue #56)

SAMPLE SOURCES

  1. contagio mini dump
  2. Open Source database
  3. Drebin
  4. Admire

Reading material

  1. Android Security (and Not) Internals
  2. Android security related presentations
  3. A good collection of static analysis papers

MARKET CRAWLERS

  1. Google play crawler (Java)
  2. Google play crawler (Python)
  3. Google play crawler (Node) - get app details and download apps from official Google Play Store.
  4. Aptoide downloader (Node) - download apps from Aptoide third-party Android market
  5. Appland downloader (Node) - download apps from Appland third-party Android market

MISC TOOLS

  1. smalihook
  2. APK-Downloader
  3. AXMLPrinter2 - to convert binary XML files to human-readable XML files
  4. adb autocomplete
  5. Dalvik opcodes
  6. Opcodes table for quick reference
  7. ExploitMe - for practice
  8. GoatDroid - for practice
  9. Android Labs - for practice
  10. mitmproxy
  11. dockerfile/androguard

Other Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesomeness list.

Contributing

Your contributions are always welcome!