Skip to main content

A cross-platform Burp Suite CA Certificate installer for Android devices

Project description

🔐 burpDrop – Cross-Platform Burp Suite CA Certificate Installer for Android

Platform Python License Author

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.

burpDrop Workflow


✨ 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


🚀 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 adb is accessible from your terminal (i.e., added to your system PATH)

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:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

📄 CONTRIBUTING.mdcoming 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

burpdrop-1.2.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

burpdrop-1.2.0-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

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

Hashes for burpdrop-1.2.0.tar.gz
Algorithm Hash digest
SHA256 ba6268d9941c55a32f32dde9bb9105aa4a2bba7c6a3836dd5bf96913a69bce17
MD5 11977792ea31f16842484f318fcb50a9
BLAKE2b-256 2751bb542c31bb783535c7ef34c9b9b5b2863ebc96ea8283e66e40a1823e50f0

See more details on using hashes here.

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

Hashes for burpdrop-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea8a452062ac9f967294f1c3107e545b41487768248e3e07e5afffcb0e64033a
MD5 8cbc98121342cb489c5fc26ca70192c8
BLAKE2b-256 fbf302fda720e56242100b8dcce567fe1f6ee598825587a432500c3bc4c5070e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page