- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Захват рукопожатий (handshake) в Kali Linux
- Что такое рукопожатие (handshake — хендшейк)
- Все беспроводные точки доступа делают это
- Как захватить хендшейк в Kali Linux
- Захват рукопожатий на 5 ГГц (802.11a/h/j/n/ac)
- Расшифровка рукопожатия в Kali Linux
- Связанные статьи:
- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- HandShaker
- Описание HandShaker
- Справка по HandShaker
- Руководство по HandShaker
- Примеры запуска HandShaker
- Установка HandShaker
- Установка в Kali Linux
- Скриншоты HandShaker
- Инструкции по HandShaker
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Захват рукопожатий (handshake) в Kali Linux
Что такое рукопожатие (handshake — хендшейк)
С технической точки зрения, рукопожатие в беспроводных сетях — это обмен информацией между точкой доступа и клиентом в момент подключения клиента к ней. Эта информация содержит разнообразные ключи, обмен происходит в несколько стадий. Процесс подключения к беспроводной точке доступа неплохо документирован и вы можете найти по данному вопросу много информации, в том числе и на русском языке.
С практической точки зрения нам достаточно знать всего две очень простые вещи:
- рукопожатие можно захватить во время подключения клиента, который знает валидный пароль, к беспроводной точке доступа
- рукопожатие содержит достаточно информации для расшифровки пароля.
Все беспроводные точки доступа делают это
Расшифровка пароля из рукопожатия делается методом перебора (грубой силой, брутфорсингом). Именно поэтому расшифровка пароля в захваченном рукопожатии имеет вероятностный характер. Т.е. далеко не всегда заканчивается удачно.
Если у вас мощное железо и много времени, то ваши шансы увеличиваются.
Я считаю захват рукопожатий самой перспективной методикой взлома беспроводной точки доступа. Это мнение может показаться странным при том количестве новых техник по взлому WEP, WPS и при довольном низком проценте успешных взломов рукопожатий.
Дело в том, что количество точек доступа с включёнными WEP, WPS невелико. Благодаря просветительской деятельности (в том числе урокам подобным моим) самые обычные пользователи стали больше задумываться о безопасности, вникать в суть технологий и отключать уязвимые алгоритмы и стандарты.
Ещё одно наблюдение по мере накопления опыта: даже точки с включённым WPS иногда быстрее взломать захватом рукопожатия, чем ждать завершения работы Reaver или Penetrator-WPS. Дело в том, что если пользователь не задумался об отключении WEP, WPS, т. е. проявил безалаберность, то также высока вероятность неряшливости пользователя в выборе пароля — обычно это простые слова или фразы из словаря, которые довольно легко подбираются.
Вообще, можно сказать, что, формально, захватив рукопожатие, можно практически гарантированно взломать Wi-Fi, для этого нужно:
Как захватить хендшейк в Kali Linux
Алгоритм достаточно простой:
- смотрим доступные точки доступа
- выбираем точку доступа, запоминаем её ВSSID и номер канала
- переходим в режим ожидания рукопожатия на заданном сигнале
- (опционально) форсируем процесс путём применения атаки деаутентификация
Предполагается, что вы уже знакомы со статьями
В противном случае, у вас могут быть вопросы по изложенному здесь материалу.
Внимание: название беспроводного интерфейса у вас может быть своё. Соответственно, вам нужно подправить команды, чтобы они работали на вашем компьютере:
Переводим карту в режим монитора
ifconfig wlan0 down && iwconfig wlan0 mode monitor && ifconfig wlan0 up
Смотрим доступные для атаки точки доступа
Я выбрал сеть Mial, её ВSSID 20:25:64:16:58:8C на канале 1. Поэтому я запускаю airodump-ng на первом канале
airodump-ng wlan0 --channel 1 -w cap2
После ключа -w идёт префикс файла cap2 (это имя без расширения). В этот файл будет записано захваченное рукопожатие.
Можно ничего не делать — достаточно просто ждать, когда кто-то подключится или переподключится естественным образом. Если вы торопитесь, то можно форсировать процесс использованием атаки деаутентификация.
Для этого мы открываем новое окно терминала и набираем там команду:
aireplay-ng -0 5 -a 20:25:64:16:58:8C wlan0
Здесь -0 означает деаутентификация, 5 означает количество отправленных пакетов, -a 20:25:64:16:58:8C это ВSSID целевой ТД, а wlan0 — сетевой интерфейс в режиме монитора.
Результат не заставил себя долго ждать:
Надпись «WPA handshake: 20:25:64:16:58:8C» говорит нам о том, что рукопожатие уже захвачено.
Убеждаемся, что это действительно так:
Плюсы использования атаки деаутентификация:
Системы обнаружения вторжений и мониторинга в этот момент могут вас засечь. При пассивном ожидании рукопожатия вы остаётесь полностью невидимым для этих систем.
Захват рукопожатий на 5 ГГц (802.11a/h/j/n/ac)
По умолчанию, airodump-ng скачет по каналам с 1 по 14 — это каналы 2.4 ГГц (т.е. 802.11b/g/n).
Протоколы 802.11a/h/j/n/ac работают на 5 ГГц, сюда входят каналы с 34 по 180.
На самом деле, процесс захвата рукопожатий на 5 ГГц ничем особо не отличается. Просто нужно явно указать каналы.
Но прежде чем пытаться что-то захватить, давайте проверим, какие вообще частоты поддерживает ваша беспроводная карта. Поскольку если ваша карта не поддерживает 5 ГГц, то можно и не пытаться — результата не будет. Проверку можно сделать командой:
Не забывайте, что вместо wlan0 вам нужно указать имя вашего желаемого беспроводного интерфейса.
root@HackWare:~# iwlist wlan0 frequency wlan0 32 channels in total; available frequencies : Channel 01 : 2.412 GHz Channel 02 : 2.417 GHz Channel 03 : 2.422 GHz Channel 04 : 2.427 GHz Channel 05 : 2.432 GHz Channel 06 : 2.437 GHz Channel 07 : 2.442 GHz Channel 08 : 2.447 GHz Channel 09 : 2.452 GHz Channel 10 : 2.457 GHz Channel 11 : 2.462 GHz Channel 12 : 2.467 GHz Channel 13 : 2.472 GHz Channel 36 : 5.18 GHz Channel 40 : 5.2 GHz Channel 44 : 5.22 GHz Channel 48 : 5.24 GHz Channel 52 : 5.26 GHz Channel 56 : 5.28 GHz Channel 60 : 5.3 GHz Channel 64 : 5.32 GHz Channel 100 : 5.5 GHz Channel 104 : 5.52 GHz Channel 108 : 5.54 GHz Channel 112 : 5.56 GHz Channel 116 : 5.58 GHz Channel 120 : 5.6 GHz Channel 124 : 5.62 GHz Channel 128 : 5.64 GHz Channel 132 : 5.66 GHz Channel 136 : 5.68 GHz Channel 140 : 5.7 GHz
Т.е. моя беспроводная карта может работать на частоте 5 ГГц с каналами с 36 по 140. А также на частоте 2.4 ГГц с каналами с 1 по 13.
Ещё больше информации вам даст команда
Там очень много самых разнообразных сведений по вашей беспроводной карте.
Если ваша беспроводная карта поддерживает 5 ГГц, то можно продолжать. Чтобы «осмотреться» в радиовещании наберите:
airodump-ng wlan0 --channel 36-165
Думаю, особо здесь объяснять нечего, опцию —channel мы уже использовали ранее. Можно вместо каналов указывать непосредственно частоты или диапазон частот, это делается с помощью ключа -C, например:
airodump-ng wlan0 -C 5170-5825
Ключ и опция -C 5170-5825 указывают частоты в Мегагерцах, которым соответствуют каналы с 36 по 165. Эта и предыдущая команда полностью равнозначны.
Если вам вдруг интересно, то вот номера каналов и соответствующие им частоты:
Канал | Центральная частота (ГГц) |
---|---|
1 | 2,412 |
2 | 2,417 |
3 | 2,422 |
4 | 2,427 |
5 | 2,432 |
6 | 2,437 |
7 | 2,442 |
8 | 2,447 |
9 | 2,452 |
10 | 2,457 |
11 | 2,462 |
12 | 2,467 |
13 | 2,472 |
14 | 2,484 |
802.11a/h/j/n/ac
Канал | Частота (ГГц) |
---|---|
34 | 5,170 |
36 | 5,180 |
38 | 5,190 |
40 | 5,200 |
42 | 5,210 |
44 | 5,220 |
46 | 5,230 |
48 | 5,240 |
52 | 5,260 |
56 | 5,280 |
60 | 5,300 |
64 | 5,320 |
100 | 5,500 |
104 | 5,520 |
108 | 5,540 |
112 | 5,560 |
116 | 5,580 |
120 | 5,600 |
124 | 5,620 |
128 | 5,640 |
132 | 5,660 |
136 | 5,680 |
140 | 5,700 |
147 | 5,735 |
149 | 5,745 |
151 | 5,755 |
153 | 5,765 |
155 | 5,775 |
157 | 5,785 |
159 | 5,795 |
161 | 5,805 |
163 | 5,815 |
165 | 5,825 |
167 | 5,835 |
171 | 5,855 |
173 | 5,865 |
177 | 5,885 |
180 | 5,905 |
Канал | Частота (МГц) | США | ||
---|---|---|---|---|
5 МГц | 10 МГц | 20 МГц | ||
131 | 3657,5 | Да | Нет | Нет |
132 | 3662,5 | Да | Нет | Нет |
132 | 3660,0 | Нет | Да | Нет |
133 | 3667,5 | Да | Нет | Нет |
133 | 3565,0 | Нет | Нет | Да |
134 | 3672,5 | Да | Нет | Нет |
134 | 3670,0 | Нет | Да | Нет |
135 | 3677,5 | Да | Нет | Нет |
136 | 3682,5 | Да | Нет | Нет |
136 | 3680,0 | Нет | Да | Нет |
137 | 3687,5 | Да | Нет | Нет |
137 | 3685,0 | Нет | Нет | Да |
138 | 3689,5 | Да | Нет | Нет |
138 | 3690,0 | Нет | Да | Нет |
Вот какие результаты я собрал вокруг себя:
Кстати, обратите внимание, что каналы по какой-то непонятной причине не отобразились.
Можно указать airodump-ng прыгать по всем каналам и не беспокоиться, что мы что-то упустили в каком-то диапазоне частот:
airodump-ng wlan0 --channel 1-165
Кстати, это помогло определить канал для ТД на 5 ГГц — канал оказался сороковым:
Захват рукопожатия в 5 ГГц ничем не отличается:
airodump-ng wlan0 --channel 40 -w cap2
Также можно использовать атаку деаутентификация, чтобы ускорить процесс.
Если ваша беспроводная карта не поддерживает частоты на 5 ГГц, то для того, чтобы видеть сети на этих частотах и для выполнения разнообразных атак в отношении них, вам необходима Alfa AWUS051NH. Она работает на частотах 2.4 ГГц и 5 ГГц, поддерживает беспроводной стандарт N, поддерживает замену антенны, полностью совместима с Kali Linux и BlackArch, т.е. способна переходить в режим монитора и делать инъекцию фреймов.
Расшифровка рукопожатия в Kali Linux
Это отдельная наука. Расшифровка хендшейков «в лоб» может занять на порядок больше времени, чем эта же расшифровка, но с применением таких методик как: предварительный расчёт хешей, использование мощи графического процессора, использование словарей, использование масок и других приёмов, ускоряющих брутфорсинг.
Все эти вопросы будут раскрыты далее.
Связанные статьи:
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
HandShaker
Описание HandShaker
HandShaker — это инструмент для выявления, захвата, взлома WPA/2 рукопожатий, WEP ключей и геотэгов с Android GPS.
- Поиск, деаутентификация, захват и взлом WPA/2 рукопожатий и ключей WEP.
- Взлом пинов WPS
- Запись расположений ТД с Android GPS.
- Поддержка базы данных взломанных ТД для избежания повторений.
Справка по HandShaker
Метод: -a — Автобот или режим вордрайвинга -e — Поиск ТД по частичному уникальному ESSID -l — Сканирование на ТД и представление списка целей -c — Взлом рукопожатия из pcap -r — Взлом WPS с использованием reaver Опции: -i - Карта с беспроводным интерфейсом -i2 — Вторая беспроводная карта (улучшенная скорость захвата) -w - Словарь для использования во взломе -o - Сохранить рукопожатия в пользовательскую директорию -d - Количество пакетов для деаутентификации отправляемое каждому клиенту (по умолчанию 1) -p - Атаковать только клиентов с уровнем сигнала выше -g - Использовать android GPS для записи расположения ТД -B - Использовать besside-ng для захвата рукопожатий -E - Использовать злого двойника ТД для захвата рукопожатий -M - Использовать mdk3 для деаутентификации (по умолчанию aireplay-ng) -T - Попыток для захвата на ТД (по умолчанию 3) -W - Атаковать ТД с шифрованием WEP -s - Тишина -h - Справка
Руководство по HandShaker
Примеры запуска HandShaker
Режим автобота (-a) на wlan0 (-i wlan0) с пятью попытками (-T 5):
Найти ТД вроде ‘Hub3-F’ (-e Hub3-F) и взломать их по словарю (-w wordlist.txt):
handshaker -e Hub3-F -w wordlist.txt
Составить список всех ТД (-l) и сохранить их рукопожатия в out/dir (-o out/dir):
Взломать handshake.cap (-c handshake.cap) по словарю (-w wordlist.txt):
handshaker -c handshake.cap -w wordlist.txt
Установка HandShaker
Установка в Kali Linux
git clone https://github.com/d4rkcat/HandShaker.git cd HandShaker/ sudo make install handshaker
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты HandShaker
Это утилита командной строки.