Catching a Rogue Access Point in the Wild

A real-world evil‑twin case study: detection → verification → remediation.

Summary

We discovered an evil‑twin SSID that mimicked the corporate guest network but was operated by an attacker to perform credential capture and MITM traffic. This article walks through the detection signals, the verification steps we used, and the mitigation + reporting actions that followed.

Detection Signals

Verification Steps

  1. Passive capture: collect 60–120 seconds of 802.11 management frames (beacons/probes) with a monitor-mode adapter to compare BSSIDs, capabilities, and vendor OUIs.
  2. Packet analysis: analyze the beacon frames in Wireshark and inspect supported rates, RSN/cipher suites, and vendor IEs for anomalies.
  3. DHCP & ARP checks: capture DHCP offer packets to identify the rogue DHCP server and IP assignment patterns. Use tcpdump -n -i port 67 or port 68.
  4. Client behavior: observe whether clients are redirected to captive portals or presenting self-signed certificates during TLS (possible credential collection).
  5. Physical correlation: map RSSI and channel across the facility to approximate the rogue AP's location using Kismet or a directional antenna.

Packet Examples

Here are sanitized examples you can use to look for signs in captures.

Frame 1: Beacon (rogue)
IEEE 802.11 Beacon, SN=0, FN=0, Flags...
SSID: "CorpGuest"
BSSID: 02:12:34:56:78:90 (OUI: 02:12:34 -> unknown vendor)
Channel: 6
Supported rates: 6,12,24
RSN: WPA2-PSK (TKIP)  <- mixed/weak cipher
Vendor IE: unknown TLV fingerprints...

Note: attacker devices sometimes show locally administered MACs (1st byte bit set) — pay attention to OUIs.

Mitigation & Immediate Actions

Detection Tools & Links

Kismet Wireshark Aircrack-ng (monitor mode) Kali / Flipper for RF checks WiFi Pineapple (authorized lab use)

WiFi Pineapple on Amazon Wireshark

Reporting & Lessons Learned

Appendix: Useful Commands

# Put interface into monitor mode (Linux)
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up

# Capture 802.11 management frames with tcpdump (requires monitor mode)
sudo tcpdump -i wlan0 -s 0 -w rogue_ap.pcap 'type mgt'