July 30, 2020

Полная инструкция по всем техникам взлома Wi-Fi

Данный материал предоставлен лишь в образовательных целях и создан в рамках изучения информационной безопасности. Автор не публиковал материал для вредоносных целей. Если кто-либо воспользуется информацией для личной выгоды, то автор не несёт ответственность за любой причинённый вред или ущерб.


Как автоматизировать аудит точек доступа Wi-Fi?

Порог вхождения для обучения взлому Wi-Fi постоянно снижается. За последние пару лет снова выросла подборка простых и эффективных утилит, автоматизирующих выполнение большинства типов атак по каналам беспроводной связи. Когда-то в Kali (тогда еще BackTrack) были только сырые скрипты, а сейчас глаза разбегаются от обилия готовых инструментов.

Сегодня даже не обязательно начинать с изучения Aircrack-ng — пакета, на котором основаны практически все инструменты взлома Wi-Fi. Быстро получить практический результат помогут скрипты WiFi-autopwner от Алексея Милосердова и Wifite2 от Derv Merkler (псевдоним программиста из Сиэтла).

Мне нравятся оба скрипта, но привычнее Wifite2 и его народный форк. Он грамотно использует дополнительные утилиты для повышения эффективности аудита и позволяет автоматически выполнять пять самых распространенных типов атак на все сразу или только на указанные точки доступа.

Wifite2 применяет bully, tshark и reaver для выполнения атак на WPS методом PixieDust или перебором пинов. Он использует coWPAtty и pyrit для проверки хендшейков, захваченных во время атаки на WPA(2), и реализует новую атаку на PMKID с использованием hashcat.

Успешный захват хендшейка PMKID

Все типы атак уже отсортированы по скорости выполнения. Сначала для выбранной точки доступа используются самые быстрые (WPS, WEP, PMKID), а в случае неудачи скрипт переходит к следующим вариантам. Более того, при включении режима verbose -vv в терминале выводятся все использованные команды и их результат. По сути, это режим обучения и отладки.


Какая атака на Wi-Fi самая быстрая?

Раньше я бы ответил: WPS. Если на точке доступа включен Wi-Fi Protected Setup, то с большой вероятностью она вскрывается перебором известных пинов или более изящной атакой PixieDust. Список пинов для перебора берется из дефолтных конфигов производителя, который определяется по MAC-адресу. Делать исчерпывающий перебор всех вариантов (брутфорс) чаще всего бессмысленно, так как после N неудачных попыток авторизации по WPS роутер надолго блокирует дальнейшие.

Успешный подбор WPS PIN с помощью WiFi-Autopwner

В любом случае атака на WPS занимала до пяти минут и казалась скоростной по сравнению с ожиданием захвата хендшейка WPA, который потом еще надо мучительно долго брутить. Однако сейчас появился новый тип атаки — PMKID (Pairwise Master Key Identifier). На уязвимых роутерах она позволяет захватить хендшейк за считаные секунды, и даже при отсутствии подключенных к нему клиентов! С ней не надо никого ждать и деаутентифицировать, достаточно одной (даже безуспешной) попытки авторизации с твоей стороны.

Поэтому оптимальный алгоритм взло… аудита следующий: определяем, включен ли на целевой точке доступа режим WPS. Если да, запускаем PixieDust. Безуспешно? Тогда перебор известных пинов. Не получилось? Проверяем, не включено ли шифрование WEP, которое тоже обходится влет. Если нет, то выполняем атаку PMKID на WPA(2). Если уж и так не получилось, тогда вспоминаем классику и ждем хендшейка (чтобы не палиться) или активно кикаем клиентов, чтобы наловить их сессии авторизации.


Я узнал WPS PIN, что дальше?

Дальше с его помощью можно подключиться к роутеру и узнать пароль, каким бы длинным и сложным он ни был. Вообще WPS — это огромная дыра в безопасности. На своем оборудовании я всегда его отключаю, а потом еще проверяю Wi-Fi-сканером, действительно ли WPS выключен.


Я перехватил хендшейк. Что с ним делать?

Четырехстороннее рукопожатие записывается скриптом Wifite2 в файл с расширением .cap.

Захват классического хендшейка WPA

TCPdump, Wireshark, Nmap и другие программы используют формат .pcap. Хендшейк PMKID будет иметь формат .16800.

По умолчанию Wifite использует для подбора паролей Aircrack-ng. Он отправляет команду вида

aircrack-ng yourhandshake.cap -w /yourwordlist.txt

В простейших вариантах этого достаточно, однако чаще приходится конвертировать хендшейки с помощью hcxtools, чтобы скормить одной из продвинутых утилит для перебора паролей. Например, John the Ripper или hashcat.

Мне больше нравится hashcat. Для работы с ней нужно конвертировать .cap в формат .hccapx. Сделать это можно также онлайн или локально утилитой cap2hccapx. В последнем случае придется скачать исходник и скомпилировать его.

wget https://raw.githubusercontent.com/hashcat/hashcat-utils/master/src/cap2hccapx.c
gcc -o cap2hccapx-converter cap2hccapx.c

Полученный исполняемый файл cap2hccapx-converter удобнее закинуть в /bin, чтобы затем обращаться к нему откуда угодно.

mv cap2hccapx-converter /bin
Успешный подбор пароля Wi-Fi в hashcat по хендшейку WPA2

Точно так же брутятся хеши PMKID. Просто нужно явно указать hashcat тип хендшейка и словарь.

hashcat64 -m 2500 -w3 Beeline.hccapx "wordlist\wpadict.txt" # Перебираем пароли по своему словарю wpadict.txt к хешу из рукопожатия WPA(2) в файле Beeline.hccapx
hashcat64 -m 16800 -w 3 RT-WiFi.16800 "wordlist\rockyou.txt" # Используем хендшейк PMKID из файла RT-WiFi.16800 и готовый словарь rockyou.txt
Брут PMKID в hashcat

На чём брутить пароли Wi-Fi?

Локально перебирать пароли лучше на десктопном компе с мощной видюхой, а если его нет, воспользуйся онлайновыми сервисами. Бесплатно в них предлагаются ограниченные наборы, но даже их порой достаточно.

Взлом двух паролей онлайн

Еще один интересный вариант — использовать сеть распределенных вычислений. Сделать это позволяет, например, Elcomsoft Distributed Password Recovery. Эта универсальная программа понимает десятки форматов паролей и хешей, включая .cap, .pcap и .hccapx. Над одной задачей в ней одновременно могут работать до десяти тысяч компьютеров, объединяя ресурсы своих процессоров и видеокарт.

Распределенный брут хешей WPA

Плюс у нее очень продвинутый подход к словарной атаке. Можно использовать маски, приставки и мутации, фактически расширяя объем словаря в несколько раз.


Почему выполняют атаку по словарю вместо брута?

Ключ WPA(2)-PSK генерируется длиной 256 бит. Число возможных комбинаций (2^256) таково, что даже на мощном сервере с графическими ускорителями потребуются годы для их перебора. Поэтому реалистичнее выполнить словарную атаку.

Обычно Wifite2 делает это сам. После захвата хендшейка он проверяет его качество. Если все нужные данные в нем сохранились, то автоматически запускается атака по словарю wordlist-top4800-probable.txt. Как нетрудно догадаться, в нем всего 4800 самых распространенных паролей.

Он удобен тем, что быстро срабатывает даже на стареньком ноутбуке, однако с большой вероятностью искомой комбинации в этом словаре не будет. Поэтому стоит сделать свой.


Как составить свой словарь?

Сначала я собрал коллекцию словарей из разных источников. Это были предустановленные словари в программах для перебора паролей, каталог /usr/share/worldlists/ в самой Kali Linux, базы утекших в Сеть реальных паролей от разных аккаунтов и подборки на профильных форумах. Я привел их к единому формату (кодировке), используя утилиту recode. Дальше переименовал словари по шаблону dict##, где ## — счетчик из двух цифр. Получилось 80 словарей.

Объединяем 80 словарей, пропуская одинаковые записи

На следующем этапе я объединил их в один, удалив явные повторы, после чего запустил утилиту PW-Inspector для очистки объединенного словаря от мусора. Поскольку пароль для Wi-Fi может быть от 8 до 63 символов, я удалил все записи короче 8 и длиннее 63 знаков.

cat * > alldicts | sort | uniq
pw-inspector -i alldicts -m 8 -M 63 > WPAMegaDict

Затем я подумал, что получился слишком здоровый файл, который можно сократить сильнее без явного ущерба для эффективности перебора. Ты видел в реальной жизни пароли Wi-Fi длиннее 16 символов? Вот и я не видел.

pw-inspector -i WPAMegaDict -m 8 -M 16 > WPADict_8-16

На файлообменнике Кима Доткома можно скачать получившийся словарь (647 Мб в ZIP-архиве, 2,8 Гб в распакованном виде).


Как переключиться в диапазон 5 ГГц?

Сначала нужно подключить Wi-Fi-адаптер с поддержкой 5 ГГц и оснастить его подходящей антенной (они тоже делаются для разных диапазонов). Затем просто запусти Wifite с ключом -5, и увидишь пятигигагерцевые точки доступа. Обычно их гораздо меньше, чем 2,4 ГГц. Связано это как с их относительно малым распространением, так и с меньшим радиусом действия. Чем выше частота, тем (при прочих равных) быстрее затухает сигнал.

Включаем режим 5 ГГц в Wifite

Можно ли атаковать скрытую сеть?

Да. Если имя сети (ESSID) скрыто, ты точно так же видишь MAC-адрес точки доступа во время сканирования эфира. Первый же подключившийся клиент раскроет ее имя. Поэтому просто подожди коннекта или ускорь процесс, разослав пакеты деаутентификации.

Выясняем имя скрытой сети мимоходом

Заключение

Когда я писал эту статью, то ставил перед собой цель помочь читателям как можно быстрее получить практический результат с нуля и почти без ущерба для понимания сути процесса. Мне хотелось уместить в одну публикацию все для мощного старта и зажечь искру интереса, которая подвигнет на самостоятельное продолжение.

На курсах по пентестам я не раз обращал внимание, что за свои кровные ты получаешь инфу не первой свежести. В ответ преподаватели обычно говорили, что рассказывают основы, суть не меняется годами, поэтому вы уж сами погуглите и доработайте наши материалы напильником. На мой взгляд, суть как раз в деталях, а они меняются очень быстро. Надеюсь, мой вымученный конспект поможет набрать крутизны твоей кривой обучения.


Канал

Вспомогательный бот канала

Чатик канала