Wireless penetration testing and security audit framework
Project description
AutoWIFI
Wireless penetration testing framework built for security professionals. Automates the full attack chain - from reconnaissance through exploitation - with a clean terminal interface.
Features
- Multi-vector attacks - WEP (ARP replay, fragmentation, chopchop), WPA/WPA2 (handshake capture, PMKID), WPS (pixie dust, PIN brute force)
- Smart target selection - Auto-recommends attack vectors based on target encryption and configuration
- Live scanning - Real-time network discovery with signal strength visualization and client tracking
- Multiple cracking backends - aircrack-ng, hashcat (GPU), John the Ripper
- Session management - Save, restore, and resume interrupted operations
- Report generation - Export findings in HTML, JSON, and text formats
- Interface management - Automatic monitor mode, MAC randomization, channel control
- Handshake verification - Multi-method validation of captured handshakes
- Wordlist discovery - Auto-detects installed wordlists (rockyou, seclists, etc.)
Requirements
- Linux with a wireless adapter that supports monitor mode
- Python 3.9+
- aircrack-ng suite (required)
- Optional: hashcat, reaver, bully, hcxdumptool, mdk4, macchanger
Installation
From PyPI
pip install autowifi
From source
git clone https://github.com/momenbasel/AutoWIFI.git
cd AutoWIFI
pip install .
Development
git clone https://github.com/momenbasel/AutoWIFI.git
cd AutoWIFI
pip install -e .
Usage
Interactive mode
sudo autowifi
Launches the full TUI with menu-driven workflow - scan, select target, attack, crack.
CLI mode
Scan networks:
sudo autowifi scan -i wlan0mon -d 30
Capture WPA handshake:
sudo autowifi capture -i wlan0mon -b AA:BB:CC:DD:EE:FF -c 6 -t 120
Crack a capture file:
sudo autowifi crack handshake.cap -w /usr/share/wordlists/rockyou.txt
Use hashcat backend:
sudo autowifi crack handshake.cap -w rockyou.txt --backend hashcat
Attack Vectors
| Attack | Encryption | Method |
|---|---|---|
| ARP Replay | WEP | IV collection via ARP request replay |
| Fragmentation | WEP | Keystream recovery through fragmented packets |
| ChopChop | WEP | KoreK chopchop keystream extraction |
| Handshake Capture | WPA/WPA2 | Deauth + 4-way handshake capture |
| PMKID | WPA/WPA2 | Clientless key extraction from first EAPOL frame |
| Pixie Dust | WPS | Offline WPS PIN recovery via Raghav Bisht / Dominique Bongard |
| PIN Brute Force | WPS | Online WPS PIN enumeration |
Configuration
Settings are stored in ~/.autowifi/config.json. Edit through the interactive menu or directly:
{
"interface": "wlan0",
"scan_duration": 30,
"deauth_count": 15,
"handshake_timeout": 180,
"default_wordlist": "/usr/share/wordlists/rockyou.txt",
"crack_backend": "aircrack",
"mac_randomize": false,
"auto_crack": true
}
Project Structure
autowifi/
cli.py - Entry point, interactive mode, CLI commands
ui.py - Terminal UI components (Rich-based)
scanner.py - Network discovery and client tracking
attacks.py - WEP, WPA, WPS, PMKID attack implementations
handshake.py - Handshake capture and verification
cracker.py - Multi-backend password cracking
interface.py - Wireless interface management
session.py - Session persistence
report.py - HTML/JSON/text report generation
config.py - Configuration management
deps.py - Dependency checking
Legal
This tool is intended for authorized security testing and educational purposes only. Unauthorized access to computer networks is illegal. Always obtain proper written authorization before testing.
License
GPL-3.0
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 autowifi-2.0.0.tar.gz.
File metadata
- Download URL: autowifi-2.0.0.tar.gz
- Upload date:
- Size: 38.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee6e81bc8094a4cdc6c4c6a634ad419cb71ca5663a989770e70df7b330cb0acc
|
|
| MD5 |
8b529d24ab1f79c4a391af2beeccf8f4
|
|
| BLAKE2b-256 |
5501d254bf71ea970da16f043cb0f05f2d361f81e3262adf6d3bb3d5c19fe1d6
|
File details
Details for the file autowifi-2.0.0-py3-none-any.whl.
File metadata
- Download URL: autowifi-2.0.0-py3-none-any.whl
- Upload date:
- Size: 40.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fa27bbf98625f3ed439b0af662956af2cd5334c6b04ae397ce269423d6d4170
|
|
| MD5 |
e80343f0082c90545d88a7fd856b4710
|
|
| BLAKE2b-256 |
8afa732b8ebdddbd22f2896d208965c83d568df249cbb7dca85d59073064ef97
|