Skip to content

ByteSnipers/mobile-pentest-toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python size lastcommit follow

MPT (Mobile Pentest Toolkit)

The MPT (Mobile Pentest Toolkit) is a must-have solution for your android penetration testing workflows. This tool allow you to automate security tasks and focus on security assessment without to know, where the tools are located and with parameters are required.

Features:

  • Automation of your security checks
  • Perform project based security assessments
  • TMP provides a full set of required tools on any linux distribution
    • local installation of required tools, you can easy extend missing tools
    • installation of required APKs on your devices
  • ADB is included
  • Switch WI-FI proxy on your device (e.g. Burp Proxy)
  • Show colored logcat output with special highlighting
  • Install and run frida server on your device
  • Dump application memory
  • Analyse source code using several decompilers
  • Backup and dump you application data from device. Even if backup is disabled.
  • Disable SSL pinning
  • Disable root detection
  • Start security tools from one place

list of available tools:

  • MobSF [ Mobile Security Framework (MobSF) ]
  • RMS [ Runtime Mobile Security (RMS) ]
  • objection [ Runtime Mobile Exploration Toolkit ]
  • jadx [ Dex to Java decompiler ]
  • jd-gui [ Java Decompiler, dex2jar required ]
  • luyten [ Java Decompiler Gui for Procyon ]
  • sqlitestudio [ Multi-platform SQLite database manager ]
  • pidcat [ excellent logcat color script ]
  • pidcat-ex [ PID Cat (extended version) ]
  • adus [ Bash script to dump, build and sign apk ]
  • fridump [ Memory dumping tool uring frida ]
  • adb [ Android Debug Bridge (adb) ]
  • aapt [ Android Asset Packaging Tool ]
  • abe [ Android backup extractor, android:allowBackup="true" required ]
  • signapk [ sign an apk with the Android test certificate ]
  • apktool [ A tool for reverse engineering Android apk files ]
  • dex2jar [ Convert the Dalvik Executable (.dex) file to jar ]
  • janus [ scans an APK and an Android device for CVE-2017–13156 ]
  • kitty [ The fast, feature-rich, GPU based terminal emulator ]

The mobile pentest toolkit (MPT) was presented on conference OWASP Bucharest AppSec 2018.

Installation using PIPX

pipx install git+https://github.com/ByteSnipers/mobile-pentest-toolkit --include-deps

if required install pipx

  1. install OS package python-pipx or pipx
  • also possible to install using pip: python3 -m pip install --user pipx
  1. pipx ensurepath

Update using PIPX

pipx install git+https://github.com/ByteSnipers/mobile-pentest-toolkit --include-deps --force

Update using MPT

mpt --update

Uninstall using PIPX

pipx uninstall mpt

Install Dependencies (local usage)

pip3 install -r requirements.txt

Install zsh plugin (autocomplete support)

⚠️ You need to install Oh My ZSH

cp -r mpt/mpt-zsh-plugin/ ~/.oh-my-zsh/plugins/mpt

Enable MPT plugin in .zshrc by adding the fooling line plugins=(mpt)

Start New Project

  1. Setup pentest environment and install required tools
mpt --install tools
  1. Prepare pentest device
mpt --install apps
  1. Setup a new pentest project
mpt --setup <apk-file>

Usage

mpt.py <command> [options]

  -h, --help            show this help message and exit
  --setup [APK]         setup pentest environment
  --config              show current pentest config
  -i [tools|apps], --install [tools|apps]
                        Install required packages
  -a, --adb-run         Start adb server
  -l [all], --list-packages [all]
                        Show all installed packages (use option 'all' to display system apps)
  -p [package-name], --pidcat [package-name]
                        Show colored logcat for a specific application (<package name> optional)
  -D, --fridump         Dump application memory
  -b [package-name], --backup [package-name]
                        Backup an android application (<package name> optional)
  -d [decompiler], --decompile [decompiler]
                        Start java decompiler for course code analysis (<decompiler> optional): jadx(default), jd-gui, luyten
  -f, --frida           Run frida server on the device
  -t [toolname|list], --tool [toolname|list]
                        Run selected tool (use option 'list' to display all tools)
  -w [host:port], --wifi-proxy [host:port]
                        Enable/Disable WiFi Proxy (optional <host:port>)"
  -s [package-name], --ssl-pinning [package-name]
                        Disable SSL Pinning (<package name> optional)
  -r [package-name], --root-detection [package-name]
                        Disable Root Detection (<package name> optional)

License

GNU GPL v3 ©@bytesnipers