Добрый день!
Продолжаем разговор о Kali Linux.
И конечно же, первое желание, которое появляется, так это взломать соседский WiFi. Ну, соседей ломать не будем, это незаконно!!! А вот свою точку доступа на предмет защищённости проверить можно.
Для начала совсем немного теории, для общего понимания и последовательность действий:
1. Подавляющее большинство точек доступа использует протокол обмена ключами WPA, который в отличии от WEP, просто так не ломается.
2. В явном виде пароль к точке не передаётся, а клиент и точка знают парольную фразу, из которой высчитывается хеш и этот хеш передаётся и сверяется. Сей процесс называется "рукопожатие" (handshake).
3. Для взлома нужно перехватить хеш пароля.
4. Для перехвата хеша нужно заставить клиента заново подключиться к точке (выполнить handshake).
5. Для получения пароля нужно расшифровать хеш.
Ну что ж, поехали!
Для перехвата данных WiFi нужно перевести свой WiFi адаптер в режим монитора. Далеко не все адаптеры поддерживают эту функцию. Не буду останавливаться на выборе адаптера, материала об этом в интернете навалом. Например.
Т.к. мой USB адаптер не поддерживает режим монитора, мне пришлось поставить Kali на ноутбук для использования встроенного адаптера. У меня это - Intel N1000.
Для работы с WiFi Kali имеет множество инструментов. Можно использовать их по отдельности, а можно взять готовый скрипт для работы с WiFi - Airgeddon. Именно так я и сделаю.
Устанавливаем:
sudo apt install airgeddon
После установки запускаем:
sudo airgeddon
При старте скрипт проверяет необходимые утилиты, которые будет использовать. Если что-то не установлено, то очень рекомендую доустановить. Предполагаемые названия пакетов для установки указаны, лично я потратил на это 15 минут с перекурами.
Выбираем сетевой интерфейс, с которым будем работать. У меня их два, выбираю wlan0:
Переводим адаптер в режим монитора, пункт 2:
И вот тут я словил небольшой глюк:
Этот интерфейс изменил своё имя во время перевода в режим монитора.
Ничего страшного, нужно просто заново выбрать адаптер. Пункт 1.
Адаптер в режиме монитора, всё нормально (указано вверху):
Выбираем пункт 5, инструменты для работы с рукопожатием.
Теперь нужно определиться с целью взлома. Для этого отсканируем ближайшие WiFi точки и выберем "жертву". Пункт 4, поиск целей.
Запускается сканер, видим кучу точек:
Можно закрыть окно, потенциальные цели найдены, аж 85 штук:
Но, как мы помним, для перехвата хеша нужно отключить клиента от точки, поэтому нам интересны точки, которые имеют клиентов (отмечены оранжевым). Я буду ломать свою точку, номер 74.
Далее выбираем пункт 6, захват рукопожатия. Теперь нужно отключить клиентов от точки, чтоб они заново переподключились. Пункт 2, атака aireplay. Пункт 1 более агрессивен, точка может повиснуть. Пункт 3 у меня не сработал.
Опции оставляем по-умолчанию, жмём Enter. Запустится 2 утилиты, одна начнёт атаку на точку для отключения клиентов, другая в этот момент начнёт перехватывать хеш. После захвата хеша скрипт напишет, что захват успешно выполнен и предложит его сохранить:
Выбираем пункт 7, очистка/оптимизация файла рукопожатия. Данный пункт рекомендуется, но на практике обычно не требуется.
Возвращаемся в главное меню, пункт 0, выбираем пункт 6, оффлайн расшифровка WPA/WPA2. Далее выбираем пункт 1, Personal.
И теперь небольшое отступление. Все атаки методом брутфорса и прочее полнейший бред. Особенно с использованием центрального процессора. Да, функционал есть, но пока расшифруете, сосед выйдет на пенсию и уедет в деревню. Поэтому единственный реальный способ расшифровки это - атака по словарю с использованием утилиты hashcat. Значит для атаки нужен словарь, содержащий список предполагаемых паролей. Идём в Google и ищем "словари для взлома wpa". Я по первой же ссылке нашёл кучу словарей. Люди советуют использовать словарь insidepro, ну что ж, поверим. Скачал, распаковал.
Возвращаемся в airgeddon.
Пункт 3, hashcat, атака по словарю. Указываем где лежит словарь:
Начался процесс расшифровки хеша по словарю:
hashcat использует для расшифровки хешей GPU, и если у вас в Kali нормальная видеокарта с поддержкой OpenCL, то через некоторое время вы получите (или не получите) пароль.
Но мой дохлый встроенный Intel совсем небыстрый. Поэтому берём файл хеша, берём словарь и переходим на другой компьютер, где есть нормальная видеокарта.
Второй компьютер у меня под Windows.
Качаем hashcat, распаковываем.
Далее необходимо выполнить некоторые подготовительные процедуры, а именно конвертировать наш файл *.cap в *.hccapx. В Kali airgeddon эту процедуру сделает автоматически.
На том же ресурсе выбираем вкладку Converter, указываем файл cap, нажимаем Convert.
Запускаем консоль, переходим в каталог с распакованным hashcat, запускаем процедуру расшифровки:
hashcat.exe -m 2500 -w 2 c:\hashcat\handshake.hccapx c:\hashcat\InsideProFull.txt
-m 2500 - алгоритм расшифровки, в данном случае sha1
-w 2 профиль нагрузки на систему, default.
путь к файлам с захваченным хешом и словаря.
В общей сложности процедура у меня заняла примерно 30 минут, пароль я взломал:
Ну что сказать, ушёл менять пароль...