KRACK на практике. Как работает атака на Wi-Fi с применением нашумевшей техники

Содержание статьи

Осенью 2017 года мир узнал о новой угрозе безопасности сетей Wi-Fi. Она затрагивает абсолютно все устройства и программные платформы. Каким бы сложным и длинным ни был пароль, это не поможет, потому что KRACK — уязвимость самого протокола обмена ключами шифрования WPA2. В этой статье мы разберемся в теории бага и попробуем испытать его на практике.

История уязвимости

16 октября 2017 года была раскрыта информация о критических проблемах WPA2, которые позволяют обойти защиту и в результате прослушивать трафик Wi-Fi, передаваемый между точкой доступа и компьютером.

Комплекс уязвимостей в WPA2, получивший название KRACK (аббревиатура от Key Reinstallation Attacks), был обнаружен сводной группой исследователей из разных университетов и компаний.

Руководитель группы Мэти Ванхоф рассказал, что ему удалось найти проблемы, из которых формируется KRACK, еще в 2016 году, но он более года совершенствовал свою атаку. Исследователь сообщил об уязвимостях некоторым производителям и представителям организации US-CERT в июле 2017 года, а в августе поделился информацией о проблемах с широким кругом вендоров.

Производители оборудования поспешили выпустить патчи прошивки, которые устраняют уязвимости, но, как всегда бывает в таких случаях, остается огромное число необновленных устройств.

Принцип действия

В основе атаки лежит уязвимость четырехэлементного хендшейка WPA2. Этот хендшейк выполняется тогда, когда клиент хочет подключиться к защищенной сети Wi-Fi. В процессе подтверждается, что обе стороны (клиент и точка доступа) обладают корректными учетными данными. В то же время хендшейк используется для согласования свежего ключа шифрования, который впоследствии будет применяться для защиты трафика.

Злоумышленник может устроить атаку типа man in the middle и принудить участников сети реинсталлировать ключи шифрования, которые защищают трафик WPA2. К тому же, если сеть настроена на использование WPA-TKIP или GCMP, злоумышленник сможет не только прослушивать трафик WPA2, но и инжектить пакеты в данные жертвы.

Эксплуатируя эту критическую ошибку, можно добиться расшифровки трафика, сделать HTTP-инжекты, перехватить TCP-соединения и многое другое.

От KRACK может защитить использование HTTPS, однако далеко не всегда. Дело в том, что сам HTTPS нельзя назвать абсолютно безопасным (к примеру, существуют методики даунгрейда соединения), хотя он и станет дополнительным слоем шифрования.

Метод универсален и работает против любых незапатченных устройств, подключенных к Wi-Fi. Главное условие заключается в том, что атакующему придется находиться в зоне действия атакуемой сети Wi-Fi, то есть атаку нельзя провести удаленно.

Мэти Ванхоф демонстрирует уязвимость

Уязвимости, вошедшие в состав KRACK

  • CVE-2017-13077: Reinstallation of the pairwise encryption key (PTK-TK) in the 4-way handshake.
  • CVE-2017-13078: Reinstallation of the group key (GTK) in the 4-way handshake.
  • CVE-2017-13079: Reinstallation of the integrity group key (IGTK) in the 4-way handshake.
  • CVE-2017-13080: Reinstallation of the group key (GTK) in the group key handshake.
  • CVE-2017-13081: Reinstallation of the integrity group key (IGTK) in the group key handshake.
  • CVE-2017-13082: Accepting a retransmitted Fast BSS Transition (FT) Reassociation Request and reinstalling the pairwise encryption key (PTK-TK) while processing it.
  • CVE-2017-13084: Reinstallation of the STK key in the PeerKey handshake.
  • CVE-2017-13086: reinstallation of the Tunneled Direct-Link Setup (TDLS) PeerKey (TPK) key in the TDLS handshake.
  • CVE-2017-13087: reinstallation of the group key (GTK) when processing a Wireless Network Management (WNM) Sleep Mode Response frame.
  • CVE-2017-13088: reinstallation of the integrity group key (IGTK) when processing a Wireless Network Management (WNM) Sleep Mode Response frame.

Эксплуатация

Для демонстрации уязвимости нам понадобится оборудование — как минимум один, а лучше несколько USB Wi-Fi-адаптеров, совместимых с Kali Linux. Мой выбор пал на TP-Link N150 Wireless High Gain USB Adapter (TL-WN722N), он уже протестирован и хорошо совместим с моим дистрибутивом. Но ты можешь использовать и любой другой на свой вкус.

Зачем нам вообще этот «свисток», если у ноутбука есть адаптер Wi-Fi? Отдельное устройство для вардрайвинга рекомендуется не только потому, что на него меньше наводок и у него более сильная антенна, но еще и из соображений удобства. Со встроенного адаптера Wi-Fi можно параллельно выходить в интернет, а это довольно важная возможность.

В общем, с TP-Link мы и поднимем свою фейковую (или, если угодно, тестовую) сеть и будем проворачивать в ней наш эксперимент.

Поднимем Wi-Fi на Kali Linux

Итак, загружаем Kali и идем в таскбар (правый верхний угол рабочего стола), поднимаем Wi-Fi-адаптер (то есть включаем его) и коннектимся к заранее заготовленной сети.

Ключ шифрования у нас WPA2-Personal, и сразу договоримся использовать длинный и надежный пароль. Сеть, к которой мы будем подключаться, у меня называется SKG2.

Коннектимся к сети с именем SKG2
Коннектимся к сети с именем SKG2
Свойства беспроводный сети SKG2
Свойства беспроводный сети SKG2

Инсталлируем инструментарий Krack Attack

Сначала нам нужно убедиться, что все необходимые зависимости для инструментария Krack Attack у нас в системе есть. Выполним такую команду:

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Читать новость в источнике Xakep

0