/Adhrit

Android Security Suite for APK reversing, in-depth reconnaissance and static bytecode analysis based on Ghera benchmarks.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Logo

INDIA BUILD STATUS Open Source Love made-with-python saythanks pep8 version Hits

Adhrit is an open source Android APK reversing and analysis suite. The tool is an effort to find an efficient solution to all the needs of mobile security testing and automation. Adhrit has been built with a focus on flexibility and mudularization. Adhrit currently uses the Ghera benchmarks to identify vulnerability patterns in Android applications. The project is subject to continuous updations and will incorporate the latest available methodologies and tools. Adhrit has been presented at conferences like OWASP Seasides, ThreatCon and Cysinfo. Feature requests and bug reports are always welcome!


Features:

  • APK Extraction

    • assets
    • classes.dex
    • native libraries
    • jar file from dex (integrated Enjarify)
  • Source Extraction

    • Certificate/signature
    • Java source
    • smali source
    • Parsed XML resource files
    • Parsed AndroidManifest
    • Native library
  • Static Analysis

    • Manifest analysis

      • Critical permission usage analysis
      • MainActivity identification
      • Backup status
      • Exported activities
      • Exported broadcast receivers
      • Identify intent filters
      • Identify embedded deeplinks
      • Automated ADB payload generation for exported activities
    • Bytecode analysis

      • ICC

        • Dynamic Broadcast Receivers
        • Empty Pending Intents
        • Sticky Broadcasts
        • Unprotected Broadcast Receivers
        • Weak Dynamic Invocation Checks
      • Web Issues

        • JavaScript Execution in WebViews
        • HTTP Connections
        • Unsafe Intent URL Resolving Implementation
        • Overwritable Cookie
        • File Access from URLs
        • Content Provider Access from URLs
        • Supressed SSL Warnings
      • Storage Issues

        • Non-parameterized SQL queries
        • Usage of External Storage for application data
      • Networking

        • Missing Server Certificate Validity Check
        • Insecure SSL Socket Factory
      • Crypto Issues

        • Usage of ECB Block Cipher
      • const-strings

      • CTF flags

      • URLs

    • Native Library analysis

      • Library info
      • Sections
      • Base64 Decoding of strings from .data
  • Miscellaneous

    • Rebuilding the APK
    • Signing the APK

Screenshots:

1

2

3

4

5

6


Pre-requisites:

  • Linux or MAC
  • Python3
  • Java JDK

Quick Setup

  1. Dowload the zip or clone the package and extract the tool ( git clone https://github.com/abhi-r3v0/Adhrit.git ).
  2. Open config and input your VirusTotal API key without any quotes. (Click here to know how to obtain your VT API key)
  3. Open a terminal and cd into the directory.
  4. Run the installer script to install the necessary tools/dependencies: python3 installer.py

Presentations / Conferences:


Usage:

  1. Place the application (apk file) in the tool directory.
  2. Use python3 adhrit.py -h for usage help.

Example:

python3 adhrit.py -a myapp.apk

Pentest Mode

python3 adhrit.py -pen myapp.apk

Refer to the detailed documentation for complete details


Blogs:


Video:


Team:

Project Lead:

Lead Contributors:

Logo:


Mentions:


Credits:


Note:

  1. Filenames with two '.' may give an error. Please rename the apk in such cases. For example, if your file name is my.app.apk, rename it to myapp.apk