WAPT is a modular toolkit designed to launch simulated wireless access points. It supports security research by providing 13 scenario-aligned AP profiles (e.g., Evil Twin, Open Rogue) to generate traffic for the WSTT analysis engine.
- Modular Integration: Built with a Bash/Python CLI integration to automate hostapd and dnsmasq configurations without operator input.
- Accessibility Focus: Includes high-contrast and monochrome modes, keyboard navigation, and consistent UI cues for diverse user needs.
- Hardware Validation: Optimised for Linux-compatible wireless adapters (Alfa AWUS036ACM) to ensure stable AP mode injection.
- Scenario Profiles: Automated setup for Open, WPA2, Hidden, and Misconfigured APs.
- L7 Services: Automated deployment of DNS, NTP, and HTTP services for realistic simulations.
- Service Status: Live monitoring panel and consistent cleanup routines.
Click to view original Technical Specifications & Usage
A modular, accessible command-line toolkit for launching simulated wireless access points to support wireless threat simulations and cyber security research.
- Scenario-aligned AP profiles for 13 WATT threats (e.g. Evil Twin, Open Rogue, Misconfigured)
- Fully automated AP launch with no operator input required
- NAT forwarding and custom BSSID support
- Live Service Status panel
- Time-based status expiry and consistent cleanup
- Modular Bash/Python CLI integration
- Robust error handling and session logging
- Accessibility: multiple colour themes, high-contrast and monochrome modes, keyboard navigation
- Multiple colour themes: Dark, Light, High Contrast, Monochrome
- High-contrast and monochrome modes for low vision and colourblind users
- Fully keyboard-navigable menu system
- Clear, consistent prompts and colour cues throughout the UI
- Accessible to users with limited command-line experience
/src/
├── python/
│ ├── wapt.py
│ └── logs/
│ └── wapt_session.log
├── bash/
│ ├── config/
│ ├── helpers/
│ ├── services/
│ └── utilities/
├── docs/
│ └── (Sphinx or other documentation)
- Linux host with support for hostapd, dnsmasq, iptables
- Wireless interface supporting AP mode (e.g. Alfa AWUS036ACM)
- Python 3.x
- Clone the repository
- Install Python dependencies (if any)
- Ensure required system packages are installed (hostapd, dnsmasq, iptables)
cd src/python
python3 wapt.py
- Use the menu to select and launch AP profiles, manage services, or change themes.
- Session events are logged to
src/python/logs/wapt_session.log.
| Profile | Description | Security |
|---|---|---|
| T001 | Open Access Point | None |
| T003 | Open, WPA2, Hidden, Misconfig | Mixed |
| T004 | WPA2 Evil Twin | WPA2-PSK |
| T005 | WPA2 + Open Rogue | WPA2/Open |
| T006 | Misconfigured WPA1/TKIP | WPA1-TKIP |
| T007, T009 | WPA2 for client targeting | WPA2-PSK |
| T014–T016 | Open + Client for spoofing/MiTM | None |
Each profile launches with L7 services (DNS, NTP, HTTP) and consistent interface configuration.
All user actions and errors are logged to src/python/logs/wapt_session.log with timestamps for audit and troubleshooting.
- Code is fully documented with Google-style docstrings.
- See the
docs/directory for Sphinx-generated developer documentation (if present).
This project is licenced under the MIT Licence.
- Paul Smurthwaite
- 12 March 2025
- TM470-25B
See the Core Toolkit (WSTT) for the main analysis engine.