- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Автоматический сбор хешей точек доступа для взлома Wi-Fi
- Программы для автоматического захвата хендшейков Wi-Fi
- Как установить Hashcatch в Kali Linux
- Непрерывный захват рукопожатий Wi-Fi
- Как определить расположение Точки Доступа Wi-Fi по MAC-адресу
- Добавление Wi-Fi сетей в список исключений
- Анализ захваченных рукопожатий
- Взлом Wi-Fi хешей
- Решение проблем
- Заключение
- Связанные статьи:
- Как получить пароль WPA2 WiFi с помощью Aircrack-ng?
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Автоматический сбор хешей точек доступа для взлома Wi-Fi
Программы для автоматического захвата хендшейков Wi-Fi
Для автоматического сбора рукопожатий (handshake) от точек доступа Wi-Fi уже имеется несколько вариантов, к примеру:
- Besside-ng — отлично работает, сохраняет файл только с хорошими рукопожатиями, подходящими для подбора паролей. Недостаток: сканирует сети один раз и, в случае появления новых сетей Wi-Fi в диапазоне доступности, не видит их. То есть при перемещении по городу данная программа неэффективна.
- zizzania — такой же главный недостаток, при появлении новых Точек Доступа, скорее всего, не видит их. Эффективность по захвату, субъективно, не всегда самая лучшая.
Скрипт Hashcatch время от времени повторно ищет новые сети и также выполняет в отношении их атаку деаутентификация, чтобы захватить рукопожатия. То есть если вы хотите получить handshake в автоматическом режиме, то этот скрипт можно запустить, упрощённо говоря, не находясь перед этой ТД, а при выходе из дома. То есть программа будет пытаться захватить рукопожатия ото всех Точек Доступа, которые встретятся по всему пути вашего маршрута. Понятно, что двигаться нужно достаточно медленно, останавливаясь перед возможными местами скопления Wi-Fi сетей.
Как установить Hashcatch в Kali Linux
sudo apt install hcxtools hashcat-utils 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/
Теперь нужно сгенерировать конфигурационный файл, для этого запустите команду:
Скрипт спросит у вас имя беспроводного интерфейса, если вы его не помните, то используйте команду:
В дальнейшем если понадобиться выбрать другой беспроводной интерфейс для использования, то вновь запустите команду:
Либо просто откройте любым текстовым редактором файл /etc/hashcatch/hashcatch.conf и впишите нужное имя.
Кстати, при работе программа сохраняет захваченный рукопожатия в папку /usr/share/hashcatch/handshakes/, а информацию о ТД, для которых удалось поймать handshake, записывает в файл /usr/share/hashcatch/db. Эти значения прописаны в исходном коде программы:
При желании вы можете отредактировать их под более удобные расположения:
Для этого замените значения этих переменных:
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
Если вы столкнулись с ошибкой
\033[1;33m[!] The following packages are missing. Install them and try again!\033[0m
то есть программа жалуется на отсутствие пакетов, но не сообщает, каких именно, то выполните следующие команды:
git clone https://github.com/hashcat/hashcat-utils cd hashcat-utils/src/ make sudo mv *.bin /usr/local/bin/ sudo cp -a *.pl /usr/local/bin/ sudo ln -s /usr/local/bin/cap2hccapx.bin /usr/local/bin/cap2hccapx
Непрерывный захват рукопожатий Wi-Fi
Запуск программы элементарный:
Программа 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, чтобы посмотреть содержимое этого файла:
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 от всех точек доступа.
Связанные статьи:
Как получить пароль WPA2 WiFi с помощью Aircrack-ng?
В этой статье я покажу вам как использовать airmon-ng (скрипты из пакета aircrack-ng) для обнаружения беспроводных сетей вокруг нас. Затем мы деаутентифицируем клиентов определенной беспроводной сети, чтобы перехватить handshake, а затем расшифруем его, чтобы найти пароль WiFi.
Сеть, которую я буду атаковать, является моей собственной сетью, я не буду атаковать чужую сеть. Пожалуйста, не используйте эту информацию в неэтических целях. То, чем я здесь делюсь, предназначено только для образовательных целей.
Прежде чем приступить к работе, давайте посмотрим, что нам понадобится:
- Сетевой адаптер WiFi, поддерживающий режим монитора.
- Kali Linux или любой другой дистрибутив Linux с установленным пакетом Aircrack-ng.
- Словарь паролей (список слов wordlist.txt).
Давайте начнем, первым делом мы должны проверить наличие WIFI-адаптера, что он подключен к Kali Linux, чтобы сделать это, пожалуйста, введите команду ниже:
Откройте терминал и введите:
Здесь будут показаны все сетевые интерфейсы, подключенные к вашему устройству:
Если ваш беспроводной сетевой адаптер подключен и распознан в операционной системе, вы должны увидеть » wlan0 «, как показано на фото выше. Обратите внимание, что имя может измениться, если у вас несколько подключенных беспроводных адаптеров.
Теперь для включения режима монитора введите следующую команду:
kali@kali:~$ sudo airmon-ng start wlan0
Режим мониторинга включен, теперь мы должны убить все PID, которые мешают работе адаптера, Эти процессы выделены красным цветом в примере выше. Убить процессы можно с помощью команды kill :
Итак, теперь давайте обнаружим беспроводные сети вокруг нас. Для этого используем команду sudo airodump-ng wlan0 :
kali@kali:~$ airodump-ng wlan0
Для того чтобы остановить процесс поиска и сохранить список обнаруженных сетей нажмите Ctrl + C :
Как вы можете видеть, обнаружена целая куча беспроводных сетей. Итак, вот BSSID или MAC-адреса беспроводных сетей в первом столбце. Меня интересует сеть под названием Kali на канале 1. Обратите внимание на номер канала и MAC-адрес целевой точки доступа. В моем случае:
Далее мы будем использовать команду sudo airodump-ng -c 1 -w kali —bssid wlan0 :
kali@kali:~$ airodump-ng -c 1 -w kali —bssid 50:D4:F7:E5:66:F4 wlan0
Итак, в этом окне мы перехватываем пакеты, пытаясь перехватить handshake, теперь откройте второе окно для деаутентификации клиентов из сети. Это действие ускорит перехват рукопожатия. Для деаутентификации мы будем использовать aireplay-ng:
kali@kali:~$ aireplay-ng -0 0 -a 50:D4:F7:E5:66:F4 wlan0
Пока мы не зафиксировали handshake, но как только я деаутентифицирую клиентов, мы получим рукопожатие WPA, как показано на изображении ниже:
Теперь нам нужно расшифровать handshake. В терминале вводим ls , чтобы перечислить все текущие каталоги и файлы. Выбираем файл с расширением «.cap», который должен называться kali-01.cap, и вводим следующую команду:
kali@kali:~$ aircrack-ng -w wordlist.txt kali-01.cap
Инструмент aircrack-ng сравнивает хэш внутри файла .cap с хэшами паролей, перечисленных в файле wordlist.txt, преобразуя каждую строку из текста в хэш, и если хэши совпадают, мы получаем пароль от WIFI. 🙂
Теперь все, что вам нужно сделать, это подождать, пока вы не увидите «KEY Found (ваш ключ здесь 😉)».