Blue-sec now includes a comprehensive Graphical User Interface (GUI) that provides an intuitive way to interact with all the framework's features. The GUI is built using Python's tkinter library, ensuring cross-platform compatibility without additional dependencies.
- Python 3.11+
- tkinter (usually included with Python, or install with
apt-get install python3-tkon Linux) - All Blue-sec dependencies from
requirements.txt
# From the Blue-sec directory
python3 blue-sec-gui.pyOr on Windows:
python blue-sec-gui.pyThe Blue-sec GUI is organized into five main tabs:
Purpose: Discover and enumerate Bluetooth devices in range.
Features:
- Scan Type Selection: Choose between BLE, Classic Bluetooth, or All
- Start/Stop Scan: Real-time device scanning with live updates
- Device List: Displays all discovered devices with:
- MAC Address
- Device Name
- Device Type (BLE/Classic)
- Signal Strength (RSSI)
- Number of Services
- Device Information Panel: Shows detailed info for selected device
- Address, Name, Type
- RSSI value
- Services list
- First/Last seen timestamps
How to Use:
- Select scan type (all/ble/classic)
- Click "Start Scan"
- Wait for devices to be discovered
- Click on a device in the list to view details
- Use "Use Selected" button in other tabs to target this device
Purpose: Assess security vulnerabilities in discovered Bluetooth devices.
Features:
- Target Selection: Enter MAC address or use selected device
- Automated Scanning: Scan devices for known CVEs
- Vulnerability Display: Shows detailed vulnerability information:
- CVE ID
- Severity level (Critical/High/Medium/Low)
- CVSS Score
- Description
- Mitigation advice
How to Use:
- Select a device from the Scanner tab OR enter MAC address manually
- Click "Use Selected" to populate target field
- Click "Scan" to start vulnerability assessment
- Review discovered vulnerabilities in the results panel
- Generate reports from the Tools menu
Purpose: Execute keyboard/mouse injection attacks (BadUSB/Rubber Ducky style).
Features:
- Target Selection: Choose device for HID attack
- Payload Browser: Select from pre-built payloads or load custom ones
- Available Payloads: List of built-in payloads:
test_keyboard.json- Harmless keyboard testrickroll_test.json- Fun demonstrationinfo_gather_windows.json- System information gatheringwifi_exfil_windows.json- WiFi password extractionreverse_shell_linux.json- Linux reverse shellreverse_shell_windows.json- Windows reverse shell
- Test Connection: Verify device connectivity before payload execution
- Execution Results: Shows payload execution status and logs
How to Use:
- Select or enter target device MAC address
- Choose a payload from the list OR browse for custom payload
- Click "Test Connection" to verify connectivity (optional)
- Click "Execute Payload" (requires confirmation)
- Review execution results
Safety Features:
- Confirmation dialog before execution
- Visual warnings throughout the interface
- Detailed logging of all actions
- Connection testing before payload execution
Purpose: Execute various Bluetooth attack simulations for security testing.
Features:
- Attack Type Selection: Choose from:
- MITM (Man-in-the-Middle)
- Bluesnarfing
- Bluebugging
- Bluejacking
- PIN Brute Force
- Target Selection: Specify device for attack
- Execution Results: Detailed attack outcome logs
How to Use:
- Select attack type from dropdown
- Enter target MAC address or use selected device
- Click "Execute Attack" (requires confirmation)
- Review attack results and success/failure status
Purpose: Monitor all operations and maintain activity history.
Features:
- Real-time Logging: All operations are logged with timestamps
- Clear Logs: Remove all log entries
- Export Logs: Save logs to file for documentation
- Auto-scroll: Automatically scrolls to show latest entries
Log Information Includes:
- Scan operations
- Device discoveries
- Vulnerability assessments
- Attack executions
- Errors and warnings
- Load Config: Load custom configuration file
- Exit: Close the application
- List CVEs: View complete CVE database
- Opens new window with all known Bluetooth vulnerabilities
- Sortable by severity, CVSS score, etc.
- Generate Report: Create comprehensive security report
- Includes all scanned devices
- Vulnerability assessments
- Configurable output format
- About: Display version and author information
- Documentation: Links to documentation files
- Launch GUI:
python3 blue-sec-gui.py - Go to Device Scanner tab
- Select "all" scan type
- Click Start Scan
- Wait for devices to appear in list
- Select a device by clicking on it
- Go to Vulnerability Scanner tab
- Click Use Selected button
- Click Scan to assess vulnerabilities
- Review results
- Go to Tools → Generate Report to save findings
- Ensure you have authorization for the target device
- Go to Device Scanner tab and scan for devices
- Select your target device
- Go to HID Attacks tab
- Click Use Selected to populate target
- Select
test_keyboard.jsonfrom payload list - Click Test Connection to verify connectivity
- Click Execute Payload and confirm
- Observe results in execution panel
- Check Logs tab for detailed execution log
- Perform any operations (scanning, testing, attacks)
- Go to Logs tab to review all activities
- Click Export Logs to save to file
- Use logs for documentation or audit purposes
- ✅ Always obtain written authorization before testing any device
- ✅ Use on test environments whenever possible
- ✅ Document all activities using the logging feature
- ✅ Review warnings before executing dangerous operations
- ✅ Test connections before executing payloads
- ❌ Never use on production systems without authorization
- ❌ Never ignore confirmation dialogs
- Scan Duration: Keep scans under 30 seconds to avoid overwhelming the interface
- Device Limits: GUI handles 50+ devices comfortably; more may slow down
- Background Operations: Long operations run in background threads
- Responsiveness: GUI remains responsive during scans and attacks
Issue: GUI doesn't start
- Solution: Check tkinter is installed:
python3 -c "import tkinter" - Solution: Install tkinter:
sudo apt-get install python3-tk(Linux)
Issue: No devices found during scan
- Solution: Ensure Bluetooth adapter is enabled
- Solution: Run with elevated privileges if required
- Solution: Check that target devices are in range and discoverable
Issue: HID attacks fail
- Solution: Verify device pairing/connection
- Solution: Ensure target device accepts HID connections
- Solution: Check payload compatibility with target OS
Issue: GUI freezes during operations
- Solution: Wait for operation to complete (check logs)
- Solution: Restart GUI if unresponsive after 60 seconds
- Solution: Check system resources (CPU/Memory)
- Ctrl+Q: Quit application (when supported)
- F5: Refresh device list (future feature)
- Ctrl+L: Clear logs
The GUI is built using:
- tkinter: Cross-platform GUI framework
- asyncio: Asynchronous operation handling
- threading: Background task execution
- ttk: Modern themed widgets
- All long-running operations execute in background threads
- UI updates are thread-safe using
root.after() - Event loop runs in separate daemon thread
- Automatically cleans up connections
- Closes threads on application exit
- Minimal memory footprint (~50MB)
- High Contrast: Use system theme settings
- Font Size: Configurable via tkinter settings
- Keyboard Navigation: Full tab/arrow key support
- Screen Readers: Basic support (platform dependent)
Planned features for future releases:
- Dark mode toggle
- Customizable layouts
- Real-time signal strength graphing
- Device relationship mapping
- Export to multiple report formats
- Scheduled scanning
- Plugin system for custom attacks
For issues, feature requests, or contributions:
- GitHub: https://github.com/irfan-sec/Blue-sec
- Documentation: See docs/USAGE.md and docs/API.md
- Issues: https://github.com/irfan-sec/Blue-sec/issues
The GUI is part of Blue-sec and is licensed under MIT License.
The Blue-sec GUI is for authorized security testing only.
- Use responsibly and ethically
- Obtain proper authorization before testing
- Comply with all applicable laws
- Follow responsible disclosure practices
- Understand legal implications in your jurisdiction
The authors are NOT responsible for misuse or damage caused by this software.
Made with ❤️ by @irfan-sec