How r4ulcl/wifichallengelab-docker works
WiFiChallengeLab is a Docker-based wireless security training lab. An attacker uses virtual Wi-Fi adapters to exercise configured AP and client scenarios across open, PSK, WPA3, and enterprise networks; the lab also provides captive-portal and phishing challenges, while nzyme monitors wireless activity. The repository tree and README support the major subsystem boundaries, but sampled source is limited, so internal call-level wiring is not inferred. CTFd is a separate guided-challenge platform, not shown as part of the local runtime.
Main entry points: startAPs.sh AP Launcher · startClients.sh Client Launcher · mac80211_hwsim Virtual Radios · docker-compose.yml Container Topology
Components 15
Lab Runtime
- Container Topology
docker-compose.yml - Virtual Radios
APs/mac80211_hwsim - Attacker Adapters
- TLS Certificates
certs
Access Points
- AP Launcher
APs/config/startAPs.sh - AP Scenarios
APs/config - Captive Portal
APs/config/html - Enterprise Auth
APs/config/freeradius
Wireless Clients
- Client Launcher
Clients/config/startClients.sh - Client Scenarios
Clients/config - Isolation Challenge
Clients/config/html/index.php
Monitoring
- nzyme WIDS
nzyme - nzyme State
nzyme/nzyme-logs/data
Other components
- Attacker
- CTFd Challenges
Connections 16
- Attacker → Attacker Adapters: uses
- Container Topology → AP Launcher: starts
- Container Topology → Client Launcher: starts
- Container Topology → nzyme WIDS: starts
- AP Launcher → AP Scenarios: loads
- AP Launcher → Captive Portal: serves
- AP Launcher → Enterprise Auth: uses
- Client Launcher → Client Scenarios: loads
- Client Launcher → Isolation Challenge: serves
- AP Launcher → Virtual Radios: uses radios
- Client Launcher → Virtual Radios: uses radios
- Attacker Adapters → Virtual Radios: uses radios
- TLS Certificates → Enterprise Auth: provides TLS
- Virtual Radios → nzyme WIDS: wireless activity
- nzyme WIDS → nzyme State: stores state
- Attacker → CTFd Challenges: follows challenges