Взлом Wi-Fi с защитой WPA/WPA2 Kali Linux
Статья исключительно в ознакомительных целях и не призывает к действиям!
Доброго времени суток, сегодня я расскажу вам о взломе Wi-Fi сети с аутентификацией WPA/WPA2.
Для проведения тестирования на проникновения беспроводных сетей отлично подойдет дистрибутив kali linux, содержащий большое количество утилит.
Для начала мы проверим доступные сетевые интерфейсы. Сделать это можно командой:
iwconfig
При этом вы увидите похожую картинку:
В данном случае есть 2 доступных сетевых интерфейса, wlan0mon (о режиме мониторинга чуть позже) и wlan1 (wlan0).
После это шага есть несколько возможных путей:
- Путь попроще и для ленивых: использовать утилиту wifite
- Делать все ручками и сами
В первом случае вам потребуется всего лишь:
-выбрать девайc с которого проводить атаку (сетевой интерфейс)
-выбрать атакуемую сеть
-далее утилита все сделает сама: либо захватит хендшейк если вы атакуете WPA сеть без WPS, либо будет производить атаку с помощью Pixie если WPS включен.
-на случай WPA, Wifite можно запустить указав словарь который он будет использовать для взлома хендшейка (wifite –dict wordlist.txt).
Когда мы убедились, что вайфай адаптер подключен и работает, нужно узнать сигнал каких сетей он ловит, один из вариантов, включить беспроводной интерфейс и произвести сканирование.
Для этого мы воспользуемся следующими командами:
ifconfig wlan1 up
(в данном случае wlan1 это имя сетевого интерфейса)
iwlist wlan1 scanning – сканирование с использованием интерфейса wlan1
сканирование с использованием интерфейса wlan1
и мы получим приблизительно такой вывод:
Нас интересует сразу несколько параметров:
Имя сети, MAC адрес, канал
Теперь давайте попробуем захватить хендшейк, для этого нам надо перевести сетевой интерфейс в режим мониторинга и захватить хендшейк.
Для перевода в режим мониторинга используется команда :
airmon-ng start wlan1
при этом интерфейс поменяет имя на wlan1mon и перейдет в режим мониторинга (проверить это можно при помощи iwconfig), при этом вас может предупредить о том, что какие-то процессы могут этому мешать, не обращайте внимания, это нормально.
Для более аккуратного захвата хендшейка мы будем использовать информацию, которую мы получили при сканировании:
Airodump-ng wlan0mon –-bssid FC:8B:97:57:97:A9 –-channel 2 -–write handshake –-wps
wlan0mon – имя интерфейса
bssid FC:8B:97:57:97:A9 – MAC адрес роутера который мы взламываем
channel 2 – ограничение по каналу, на роутер который мы взламываем
write handshake – эта команда позволяет нам записать захваченную информацию в файлы с именем handshake
wps – отобразит наличие WPS у точки на случай если вы его упустили.
Учитывая, что хендшейк происходит при подключении клиента к точке доступа, то нам необходимо либо подождать пока клиент подключиться к точке доступа (например придя домой, в офис, или включив ноутбук/wifi) либо помочь клиенту переподключиться к точке доступа используя деаунтефикацию и поимку хендшейка при последующем подключении. Пример деаунтефикации.
aireplay-ng -0 10 –a FC:8B:97:57:97:A9 –c 68:3E:34:15:39:9E wlan0mon
-0 — означает деаунтефикацию
10 – количество деаунтефикаций
-a FC:8B:97:57:97:A9 – MAC адрес точки доступа
–c 68:3E:34:15:39:9E – MAC адрес клиента
wlan0mon – используемый интерфейс
Когда вы поймаете хендшейк это отобразится в правом верхнем углу.
Теперь, когда мы поймали хендшейк желательно его проверить, почистить убрав всё лишнее и подобрать пароль.
Проверить можно несколькими способами:
1) с помощью утилиты cowpatty
cowpatty -r handshake-01.cap -c
-r указывает файл для проверки
-с указывает что нам надо проверить хендшейк а не взламывать его
Как мы видим на скриншоте в первом файле у нас не было правильно хендшейка, зато во втором был.
2) С помощью Wireshark
для этого надо открыть файл wireshark’om, это можно сделать как из терминала (wireshark handshake-01.cap), так и в ручную. При этом вы увидите большое количество пакетов. Давайте отфильтруем пакеты хендшейка с помощью фильтра:
eapol || wlan.fc.type_subtype == 0x04 || wlan.fc.type_subtype == 0x08
и нажать apply
теперь нам требуется оставить броадкаст точки доступа, и первые 2 пакета хендшейка, убрав все остальное. При этом надо следить чтобы у первых 2х пакетов номер не слишком отличались, чтобы они были из одного хендшейка.
При этом можно выделить броадскаст и 2 первых пакета и сохранить их отдельно.
3) самый простой способ — это утилита WPAclean.
wpaclean handshake-01.cap wpacleaned.cap
handshake-01.cap - это файл источник из которого будет браться хендшейк
wpacleaned.cap - это файл куда будет записываться очищенный хендшейк.
Как мы видим вывод программы несколько разный, это связанно с тем что в первом файле не было всей необходимой информации.
Теперь, когда у нас есть правильный очищенный хендшейк, нам остается его расшифровать.
Для получения пароля от Wi-Fi нам потребуется найти пароль, при использовании которого хеши для 2х наших хендшейков совпадут. Для этого можно использовать словарь или подбирать по символам. Если у вас не суперкомпьютер, то этот вариант вам вряд ли подойдет, так как количество вариантов — это количество допустимых символов в степени количества знаков пароля (~130^8 для 8 значного пароля). Применять подбор по символам имеет смысл, если вы знаете кусочек пароля, который сократит количество вариантов, или ограничение пароля (например, что там только цифры, или он совпадает с мобильным телефоном в вашей области). Сейчас мы будем подбирать пароль по словарю.
Мы можем расшифровывать хендшейк при помощи CPU или GPU. Обычно, если у вас мощная видеокарта, то при помощи GPU быстрее.
Для расшифровки с помощью CPU мы воспользуемся aircrack
aircrack-ng wpacleaned.cap –w wordlist.txt
wpacleaned – это наш очищенный и проверенный хендшейк
-w wordlist.txt – это наш словарь, по которому мы и будем подбирать пароль
Если пароль будет в словаре, то через некоторое время подбора вы увидите соответствующее сообщение:
В котором будет указан ваш пароль. Или же сообщение о том, что словарь закончился, а пароль так и не найден.
Утилита для взлома через GPU называется pyrit, обладает гораздо большими возможностями и тонкой настройкой, но о них как-нибудь в следующий раз, сейчас мы просто попробуем подобрать пароль для хендшейка с нашим конкретным словарем.
pyrit –r wpacleaned.cap –i wordlist.txt attack_passthrough
-r wpaclean.cap – файл хендшейка
-I wordlist.txt – файл словаря