Skip to content

Latest commit

 

History

178 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 Prototype IoT Pentester

A modular IoT penetration testing toolkit for security researchers

FeaturesInstallationModulesUsageRequirements


⚠️ LEGAL DISCLAIMER: This toolkit is designed ONLY for authorized security testing, educational purposes, and research on devices you own or have explicit permission to test. Unauthorized use is illegal.


✨ Features

Protocol Capabilities
Wi-Fi WPA/WPA2 handshake capture, deauth attacks, password cracking (Hashcat/John)
Bluetooth LE Device discovery, GATT enumeration, characteristic read/write
Bluetooth Classic Service enumeration, vulnerability testing
NFC Tag identification, Mifare key testing, card cloning & emulation

Additional Features:

  • 🖥️ Cross-platform: Linux, Windows (WSL), macOS
  • 🔧 ARM optimized for Raspberry Pi
  • 📦 Auto dependency management
  • 🛡️ Dry-run mode for safe testing

📦 Installation

# Clone the repository
git clone https://github.com/trefeon/Prototype-IoT-Pentester.git
cd Prototype-IoT-Pentester

# Set permissions
chmod +x */**/*.sh */**/*.py

# Run the main toolkit
sudo ./wifi_audit/wifipen_main.sh

🧩 Modules

1. Wi-Fi Security Testing — wifi_audit/

Full-featured Wi-Fi penetration testing framework.

sudo ./wifi_audit/wifipen_main.sh
Feature Description
Network Scanning Discover nearby networks and clients
Handshake Capture Capture WPA/WPA2 4-way handshakes
Deauth Attack Force client reconnection for handshake capture
Password Cracking GPU (Hashcat) or CPU (John) based cracking
Wordlist Generator Create custom wordlists with crunch

2. Bluetooth Low Energy — bl_audit/

Modern BLE security testing with async Python.

# Python BLE framework
sudo python3 bl_audit/ble_poc.py

# Classic Bluetooth testing
sudo ./bl_audit/bl_audit.sh

Dependencies:

pip install bleak colorama
Feature Description
Device Discovery Scan and identify BLE devices
GATT Enumeration List services and characteristics
Read/Write Interact with device characteristics

3. NFC Security — nfc_audit/

NFC tag security testing, optimized for Raspberry Pi with PN532.

# Python NFC tool
sudo python3 nfc_audit/nfc_audit.py

# Shell-based NFC operations
sudo ./nfc_audit/NFCpen.sh
Feature Description
Tag Identification Read UID and tag type
Key Testing Test Mifare Classic keys
Card Dump Create .mfd dump files
Clone & Emulate Write to blank cards or emulate UIDs

Hardware: PN532 module (I2C) or USB NFC reader


🚀 Usage

Quick Start Workflow

┌─────────────────────────────────────────────────────────┐
│  1. Start    →  sudo ./wifi_audit/wifipen_main.sh       │
│  2. Deps     →  Option 1: Check/Install Dependencies    │
│  3. Interface→  Option 4: Select wireless adapter       │
│  4. Capture  →  Option 6: Scan & capture handshakes     │
│  5. Crack    →  Option 7: Attack with wordlist          │
└─────────────────────────────────────────────────────────┘

Example: Wi-Fi Assessment

  1. Check dependencies — Auto-installs missing tools
  2. Select interface — Switches adapter to monitor mode
  3. Scan networks — Discovers available targets
  4. Capture handshake — Uses deauth to force reconnection
  5. Crack password — Uses Hashcat (GPU) or John (CPU)

🔧 Requirements

Hardware

Module Required Hardware
Wi-Fi Wireless adapter with monitor mode support
BLE Bluetooth adapter (built-in or USB)
NFC PN532 module (I2C) or USB NFC reader

Software

Requirement Version
OS Linux (Kali/Ubuntu/Debian), Windows (WSL2), macOS
Python 3.7+
Bash 4.0+

Core Tools (auto-installed)

  • Wi-Fi: aircrack-ng, hcxtools, hashcat, john
  • Bluetooth: bluez, btscanner
  • NFC: libnfc, mfoc, nfcutils

🐛 Troubleshooting

Permission Issues
sudo chmod +x */**/*.sh */**/*.py
sudo -v  # Check sudo access
Missing Dependencies
# Run dependency checker
sudo ./wifi_audit/wifipen_main.sh
# Select Option 1
Wireless Adapter Issues
# Check monitor mode support
iw list | grep -A 5 "Supported interface modes"
Raspberry Pi Setup
# Enable I2C for NFC
sudo raspi-config  # → Interface Options → I2C

# Check I2C devices
i2cdetect -y 1

🤝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Follow code standards:
    • Bash: Use set -Eeuo pipefail, proper quoting
    • Python: Follow PEP 8, add type hints
  4. Test on multiple platforms
  5. Submit a Pull Request

📄 License

MIT License — see LICENSE for details.


Developed by Abi Kurniawan
⭐ Star this repo if you find it useful!

Remember: Always test responsibly and only on systems you own or have permission to test.

About

Prototype toolkit for IoT security testing across WiFi, BLE, NFC/RFID, and device workflows.

Topics

Resources

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages