В этой статье пойдет речь о переборе паролей беспроводных сетей. Читатели ближе познакомятся с этой практикой и узнают особенности ее выполнения.
Введение
Брутфорс, вероятно, является одним из самых известных методов получения нужного уровня доступа. Это способ, на который можно смело положиться, когда уже кажется, что больше ничего не сработает. К сожалению, большинству сетевых устройств и приложений не хватает «сил» для эффективного обнаружения и предотвращения атак-брутфорс. Этот подход, таким образом, становится по-настоящему эффективным нападением на систему. Далее пойдет речь о различных инструментах для перебора паролей Wi-Fi. Читателям будет продемонстрировано, насколько легко злоумышленник может получить пароль Wi-Fi и в чем заключается необходимость создания сложного пароля.
Механизм моделирования
Поскольку пользователь не хочет взламывать устройства несанкционированно, он создает свою собственную лабораторию. Под лабораторией подразумевается то, что человек будет использовать собственную точку доступа Wi-Fi, сохранит пароль, который он знает, «забудет» устройство и применит брутфорс (используя словарь), чтобы получить необходимую информацию.
Предустановки
Если человек использует виртуальную машину на Kali Linux, ему потребуется внешний адаптер Wi-Fi, поскольку виртуальные машины по умолчанию подключены к указанному пользователем адаптеру и не будут обнаруживать интерфейс WLAN. Следует изучить все особенности и купить внешний адаптер, способный переходить в режим монитора. После этого необходимо отправиться в настройки виртуальной машины и подключить устройство к ней.
Начальная настройка
Сначала следует установить пароль для точки доступа в этом меню. Допустим, это будет raj12345.
Теперь пользователь готов двигаться дальше. Поскольку пароль был изменен, он, очевидно, не подключен больше к данной точке доступа. Прежде чем продолжить, стоит перевести адаптер Wi-Fi в режим монитора.
Предполагая, что интерфейс Wi-Fi является Wlan0, пользователь вводит данную команду:
airmon-ng start wlan0
Для этого человек использует модуль airmon, который идет встроенным в Kali Linux по умолчанию. Затем нужно будет просканировать точку доступа (в данном случае SSID=raaj). Если пользователь сейчас проверит свои интерфейсы с помощью команды «iwconfig», то увидит, что его Wlan0 был преобразован в Wlan0mon. Это отличные новости! Теперь пользователь может получить доступ к точкам, которые находятся недалеко от него.
airodump-ng wlan0mon
Должно начаться сканирование на наличие SSID и BSSID точек доступа (идентификаторов базового набора услуг или просто 48-разрядного MAC), которые находятся неподалеку. Можно увидеть точку доступа с именем raaj.
Сначала разберемся с данным экраном. В левом верхнем углу пользователь видит надпись CH 3. Это канал Wi-Fi.
Определение: можно определить канал Wi-Fi как путь, по которому пакеты данных отправляются на устройство и обратно к точке доступа.
Wi-Fi с частотой 2,4 ГГц использует 11 каналов, а Wi-Fi с частотой 5 ГГц – 45 каналов. Каждый канал отличается друг от друга: есть большие и маленькие. Стоит сказать, что обычно ширина канала составляет менее 100 МГц. Точка доступа Wi-Fi использует выбранный пользователем канал для передачи данных. Его параметры могут быть настроены вручную. Кроме того, адаптер Wi-Fi, как и FM-приемник, также настраивается на прослушивание выбранного канала при необходимости.
Аналогия: точно так же, как работают радиоканалы, адаптер Wi-Fi, доступный на канале 3 (допустим, его частота 60 МГц), не будет прослушивать то, что происходит на канале 6 (частота 100 МГц), пока пользователь не настроит его должным образом. Данный адаптер Wi-Fi может автоматически переключать канал прослушивания. Пользователь будет использовать команду «airodump-ng» для указания канала.
Теперь, когда у человека есть цель, он захватит «рукопожатие».
«Рукопожатие»: это механизм, с помощью которого точка доступа аутентифицирует клиента для подключения к ней и использования ее услуг. Важно отметить, что при рукопожатии pairwise master key (PMK) не передается, поэтому пользователь не может напрямую захватить его (это было бы серьезной уязвимостью). «Файл рукопожатия» содержит так называемую message integrity check (MIC), которая представляет собой комбинацию парольной фразы Wi-Fi, случайных чисел, SSID и некоторых других ключей.
Цель состоит в том, чтобы захватить «файл рукопожатия (.cap)», извлечь из него полезную информацию и применить брутфорс к MIC. Это поможет наконец захватить пароль. Поскольку MIC аналогичен хэшу в Wi-Fi, нужен словарь для вычисления хэшей и сравнения их со значением, указанным в захвате рукопожатия, для подтверждения правильности пароля.
Поскольку само «рукопожатие» происходит на канале, пользователь может использовать его, чтобы понять, как выглядит «файл рукопожатия». Но поскольку оно происходит только при аутентификации пользователя, приходится ждать, пока клиент сам подключится или отключит ее (что тоже бывает).
На приведенном выше скриншоте видно, что raaj работает на канале 3 с заданным идентификатором BSSID. Следует использовать команду «airodump» для захвата «файла рукопожатия».
airodump-ng wlan0mon -c3 --bssid 18:45:93:69:A5:19 -w pwd
- -c: канал
- -w: имя, которое будет иметь файл после его скачивания
Теперь, пока команда «airodump» будет ждать «рукопожатия», пользователь не может просто так сидеть. Он должен заставить другого пользователя пройти повторную аутентификацию, отключив ее. Это можно сделать с помощью команды «aireplay-ng» следующим образом:
aireplay-ng --deauth 0 -a 18:45:93:69:A5:19 wlan0mon
И это, казалось, сработало как по волшебству: как можно увидеть, клиент прошел повторную аутентификацию. У пользователя есть «рукопожатие»! Файл сохранен под именем pwd-01.cap.
Aircrack-ng
Для комфорта пользователь переименует его в «handshake.cap» и запустит команду «aircrack-ng», используя словарь с миллионом наиболее распространенных паролей. Некоторые из них были добавлены на основе информации о цели. Следует назвать этот словарь dict.txt. Вместо миллионов паролей пользователь добавит только 5–10, потому что он уже знает его и хочет просто продемонстрировать атаку.
Команда следующая:
aircrack-ng handshake.cap -w dict.txt
Как видно ниже, у пользователя есть пароль благодаря команде «aircrack».
Cowpatty
Того же результата можно достичь с помощью другого хорошо известного инструмента под названием cowpatty. Скачать его можно по ссылке. Во время тестирования «handshake.cap» был переименован в «wifi.cap».
cowpatty -r wifi.cap -f dict.txt -s raaj
- -s: SSID
Работает как по маслу.
Hashcat
Для этого метода сначала нужно будет установить hashcat. Это отличный инструмент для взлома хэша. Его можно скачать здесь. В Kali Linux hashcat предварительно установлен с некоторыми утилитами. Пользователь будет использовать скрипт «cap2hccapx».
hccapx: это пользовательский формат, специально разработанный для hashcat для использования на WPA и WPA2.
cap2hccapx преобразует файл формата .cap в .hccapx. После этого hashcat сможет применить к нему атаку брутфорс.
Это можно сделать с помощью команды:
cd /usr/share/hashcat-utils
./cap2hccapx.bin /root/wifi.cap /root/wifi.hccapx
Сделано. Теперь нужно запустить hashcat, чтобы перебрать данный файл:
hashcat -m 2500 wifi.hccapx dict.txt --show
- -m: тип хэша. 2500= хэши WPA/WPA2
Довольно просто.
John The Ripper
То же самое можно сделать и с помощью John The Ripper. Просто нужно преобразовать файл в стандартный хэш для программы. Это можно сделать с помощью инструмента hcxpcapng, например.
hcxpcapngtool --john hash.john wifi.cap
Уникальные данные, которые можно найти здесь, — это содержимое файла захвата! Прекрасно, не правда ли? Пользователь применяет John The Ripper, чтобы взломать хэш:
john --format=wpapsk --wordlist dict.txt hash.john
john --show hash.john
Второй метод
Для всех профессионалов, которые преобразовали файл .cap в .hccapx, вот еще один способ. Пользователи могут использовать скрипт hccap2john, уже существующий на их Kali, чтобы преобразовать файл .hccap в хэш John!
/usr/sbin/hccap2john wifi.hccpax > wifihash
И затем использовать программу, чтобы взломать его.
john --wordlist=/root/dict.txt --format=wpapsk wifihash
Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях.
ЧИТАТЬ ВСЕ СТАТЬИ НА САЙТЕ | ПОДПИСЫВАЙТЕСЬ НА НАШ TELEGRAM КАНАЛ