MobSF (Mobile Security Framework)
MobSF is an open-source tool for automated security testing of mobile apps (Android, iOS, Windows). It supports static, dynamic, and malware analysis, identifies vulnerabilities, reverse-engineers apps, checks API security, and ensures compliance with standards like OWASP Mobile Top 10. Widely used in penetration testing, it integrates with CI/CD pipelines and provides detailed reports for faster remediation.
[!IMPORTANT] You Need to Install Docker to Run MobSF
1) Start Docker Engine 2) Run this command
- This command Pulls MobSF Docker Image From Repo
docker pull opensecurity/mobile-security-framework-mobsf:latest
- Run MobSF in localhost:8000
docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
- Default
- Username: mobsf
- Password : mobsf
[!NOTE] You can enable Wi-Fi debugging or use Genymotion for dynamic analysis with MobSF in Docker.
-e MOBSF_ANALYZER_IDENTIFIER=<remote_device_IP>:<adb_port>Example:
docker docker run -it --rm --name mobsf -p 8000:8000 -e MOBSF_ANALYZER_IDENTIFIER=192.168.255.101:5555 opensecurity/mobile-security-framework-mobsf[!TIP] You can bypass or disable the MobSF login feature in Docker by using:
-e MOBSF_DISABLE_AUTHENTICATION=1
Yaazhini
Yaazhini is an open-source mobile application security testing tool for Android apps. It automates static, dynamic, and malware analysis to identify vulnerabilities like insecure storage, improper permissions, and weak encryption. Lightweight and user-friendly, Yaazhini is designed for security professionals and developers to ensure app robustness and compliance with security standards.
[!NOTE] You Can Download Yaazhini from Here
1) Download The Setup From Official Website 2) Install The Application As Normal User 3) DONE!
[!CAUTION] Recommended RAM size is 16GB. You may experience slow performance with Yaazhini due to the low available RAM.
Drozer (on desktop)
Dozer is a tool that helps you create real-time APIs (ways for applications to talk to each other) from your data. It takes data from places like databases, message queues (like Kafka), or other sources and lets you access it instantly in your application, without delays.
Pipx Method
pipx install drozer
Run and Connect (Pipx)
- First, forward port 31415 to the phone via ADB:
adb forward tcp:31415 tcp:31415 - Ensure that the drozer agent is running on the target device, and that the embedded server has been started.
- Then run the drozer command to connect to the phone:
drozer console connect
Docker Method
[!IMPORTANT] You Need to Install Docker to Run Dozer
Install Drozer:
docker pull withsecurelabs/drozer
docker build -t withsecurelabs/drozer https://github.com/WithSecureLabs/drozer.git#develop:docker
[!NOTE] You need to install Drozer Agent Apk agent-debug.apk
Run and Connect (Docker)
Option 1: connect to the phone via network
If the target phone and PC are on the same network, this tends to be the easiest approach.
- Ensure that the drozer agent is running on the target device, and that the embedded server has been started.
- Then, to run drozer and connect to the phone, run:
docker run --net host -it withsecurelabs/drozer console connect --server <phone IP address>
If a system shell is required (for example, to inspect and retrieve any files downloaded by drozer), you can:
- Ensure that the drozer agent is running on the target device, and that the embedded server has been started.
- Obtain a shell into the container:
docker run --net host -it --entrypoint sh withsecurelabs/drozer - Then run the drozer command to connect to the phone:
drozer console connect --server <phone IP address>
Option 2: connect to the phone via USB
If network communications is restricted, adb port forwarding can be used to forward TCP traffic via USB.
- First, forward port 31415 to the phone via ADB:
adb forward tcp:31415 tcp:31415 - Ensure that the drozer agent is running on the target device, and that the embedded server has been started.
- Then, to run drozer and connect to the phone, run:
docker run --net host -it withsecurelabs/drozer console connect --server localhost
If a system shell is required (for example, to inspect and retrieve any files downloaded by drozer), you can:
- First, forward port 31415 to the phone via ADB:
adb forward tcp:31415 tcp:31415 - Ensure that the drozer agent is running on the target device, and that the embedded server has been started.
- Obtain a shell into the container:
docker run --net host -it --entrypoint sh withsecurelabs/drozer - Then run the drozer command to connect to the phone:
drozer console connect --server localhost
Frida
[!NOTE] Prerequisites: - python - Rooted Android device (for advanced functionality; non-rooted devices have limited capabilities). - USB debugging enabled on your Android device. - Android Debug Bridge (ADB) installed on your computer.
**Installation
- pip install frida-tools
- frida --version
[!IMPORTANT] Download the appropriate frida-server binary from here According to your Device CPU Architecture
-
**Push the Frida Server to the Device:
adb push frida-server-<version>-android-<arch> /data/local/tmp/frida-server -
Set Permissions:
- make frida-server executable
adb shell "chmod +x /data/local/tmp/frida-server"
- make frida-server executable
-
**Start the Frida server:
adb shell "/data/local/tmp/frida-server &"
[!tip] - Use
frida-ls-devicesto verify that the device is listed, If the device appears in the list, the setup is complete.
Objection
Objection is a powerful, open-source tool designed for mobile application penetration testing. Built on top of Frida, it simplifies the process of runtime app manipulation, security testing, and debugging for Android and iOS applications. It allows security testers to bypass restrictions like SSL pinning, explore app internals, and identify vulnerabilities without needing root or jailbreak access in most cases.
**Installation
pip3 install objection.
Upgrade existing Objection tool
pip3 install --upgrade objection.
**Run:
objection <command>
JADX
JADX - Dex to Java decompiler
Command line and GUI tools for producing Java source code from Android Dex and Apk files
[!note] You can download the latest version of **JADX from here and run the setup directly
APKTool
A tool for reverse engineering Android apk files. Click Here to Download
[!IMPORTANT] Prerequisites: - Minimun JAVA 8 is required link - Rename downloaded jar to
apktool.jar.
Run Command:
java -jar apktool.jar <command>
[!NOTE] Make sure you run the command in terminal where the apktool.jar file is stored
APKLeaks
**Installation
pip3 install apkleaks.
**Usage
apkleaks <command>.
RMS
Runtime Mobile Security (RMS), powered by FRIDA, is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime. With RMS you can easily dump all loaded classes and relative methods, hook everything on the fly, trace methods args and return value, load custom scripts and many other useful stuff.
[!IMPORTANT] Prerequisites 1. NodeJS installed on your computer 2. FRIDA's CLI tools installed on your computer 3. FRIDA server up and running on the target device - Android - Official Tutorial - iOS - Official Tutorial
Installation
- Open the terminal and run the following command to install the npm package
npm install -g rms-runtime-mobile-security
- Make sure frida-server is up and running on the target device.
- Launch RMS via the following command
rms(orRMS-Runtime-Mobile-Security)
- Open your browser at
http://127.0.0.1:5491/
reFlutter
Install
pipx install reflutter
Usage
reflutter <apkfile.path>