A cross-platform Burp Suite CA Certificate installer for Android devices
Project description
🔐 burpDrop – Cross-Platform Burp Suite CA Certificate Installer for Android
burpDrop is a professional-grade automation tool that simplifies installing Burp Suite CA certificates into rooted Android devices or emulators. Built for security professionals, pen testers, and mobile developers, it automates certificate conversion, deployment, permission setting, and rebooting — all with robust logging and cross-platform support.
✨ Features
- ✅ One-command certificate installation
- 🔁 Converts Burp CA cert (DER → PEM →
.0) with subject hash - 📲 Pushes cert to
/system/etc/security/cacerts/on Android device - 🔒 Verifies ADB and OpenSSL availability
- 📦 Automatically cleans up temporary certificate files on exit
- 🧰 Interactive CLI with prompts and auto-validation
- 📜 Timestamped logging to
logs/directory - 🖥️ Cross-platform support: Windows, macOS, and Linux
- 🤖 Magisk support: Installs certificates to the systemless Magisk path.
- 🧪 Dry-run mode: Simulates the installation without making any changes.
📦 Requirements
- Python 3.7+
- ADB (Android Debug Bridge)
- OpenSSL available in
PATH - Rooted Android device or emulator (e.g., Genymotion)
- Burp Suite CA certificate exported as
.derformat
🚀 Installation
Option 1: From PyPI (recommended)
pip install burpdrop
Option 2: From source
git clone [https://github.com/Gashaw512/android-traffic-interception-guide](https://github.com/Gashaw512/android-traffic-interception-guide)
cd android-traffic-interception-guide/burpdrop
pip install .
✅ Tip: Use a Python virtual environment to avoid system conflicts.
⚙️ Quick Start
1. Export your Burp certificate
In Burp Suite:
Proxy → Proxy Settings/ Options → Import / Export CA Certificate
- Choose DER format
- Save it as
burp.der
2. Connect your Android device
- Enable USB debugging on your phone or emulator
- Ensure
adbis accessible from your terminal (i.e., added to your systemPATH)
3. Install the certificate
Run:
burpdrop install
You’ll be prompted to select the certificate file path
The device will automatically reboot once the installation is successful
🧪 Example Usage
# Standard interactive install (prompt-based)
burpdrop install
# Install for Magisk systemless root
burpdrop install --magisk
# Simulate installation without making changes
burpdrop install --dry-run
# View recent logs
burpdrop logs
# Interactive configuration wizard (to set adb/openssl paths)
burpdrop config
# Set ADB and OpenSSL paths directly
burpdrop config --adb "/path/to/adb" --openssl "/path/to/openssl"
# Help
burpdrop help
⚠️ Troubleshooting
| Issue | Solution |
|---|---|
❌ adb not found |
Run burpdrop config to set the correct path |
| ❌ Certificate conversion fails | Make sure OpenSSL is installed and the cert is in DER format |
| ❌ Device not detected | Run adb devices to confirm connection; ensure USB debugging is enabled |
⚠️ adb remount fails |
Ensure your device/emulator is rooted. Use adb root if needed |
| Issue | Solution | |-------------------------------|--------------------------------------------------------------------------| | ❌ adb not found | Run burpdrop config to set the correct path | | ❌ Certificate conversion fails| Make sure OpenSSL is installed and the cert is in DER format | | ❌ Device not detected | Run adb devices to confirm connection; ensure USB debugging is enabled | | ⚠️ adb remount fails | Ensure your device/emulator is rooted. Use adb root if needed | | ❌ ImportError on local run | Ensure you are running with pip install . or using the wrapper scripts (burpDrop.sh/.bat) |
This will render as a neat table on GitHub. Let me know if you'd prefer a bullet list format or collapsible FAQs instead.
🔧 Configuration
o set up or override tool paths, use the config command:
burpdrop config
You can also manually edit the config.json file located inside the installed package (e.g., site-packages/burpdrop/scripts/config.json).
{
"adb_path": "/custom/path/to/adb",
"openssl_path": "/custom/path/to/openssl"
}
📚 FAQ
❓ How do I export the certificate from Burp?
Go to:
Proxy → Options → Import/Export CA Certificate
- Choose DER format
- Save the file (e.g.,
burp.der)
❓ My emulator isn’t rooted. What now?
burpDrop requires root access to push the certificate to /system/.
Use one of the following:
- ✅ Genymotion (emulators are rooted by default)
- ✅ Magisk-patched AVDs
- ✅ Custom rooted emulator images
❓ adb remount fails?
This is usually due to verity being enabled on the system partition.
Try running:
adb disable-verity
adb reboot
adb root
adb remount
🤝 Contributing
Contributions, bug reports, and feature requests are welcome!
If you’d like to help improve burpDrop, follow these steps:
- Fork the repository
- Create a feature branch
- Submit a pull request
📄 CONTRIBUTING.md – coming soon
For suggestions, feedback, or collaboration inquiries:
📧 kidanugashaw@gmail.com
📝 License
Distributed under the MIT License.
© 2025 Gashaw Kidanu.
See the LICENSE file for full details.
👋 Final Notes
burpDrop is actively maintained and designed for extensibility.
Whether you’re a red teamer, security engineer, or mobile developer —
this tool streamlines the HTTPS interception process on Android.
Intercept with confidence. Secure with precision.
— burpDrop
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file burpdrop-1.2.0.tar.gz.
File metadata
- Download URL: burpdrop-1.2.0.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba6268d9941c55a32f32dde9bb9105aa4a2bba7c6a3836dd5bf96913a69bce17
|
|
| MD5 |
11977792ea31f16842484f318fcb50a9
|
|
| BLAKE2b-256 |
2751bb542c31bb783535c7ef34c9b9b5b2863ebc96ea8283e66e40a1823e50f0
|
File details
Details for the file burpdrop-1.2.0-py3-none-any.whl.
File metadata
- Download URL: burpdrop-1.2.0-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea8a452062ac9f967294f1c3107e545b41487768248e3e07e5afffcb0e64033a
|
|
| MD5 |
8cbc98121342cb489c5fc26ca70192c8
|
|
| BLAKE2b-256 |
fbf302fda720e56242100b8dcce567fe1f6ee598825587a432500c3bc4c5070e
|