Осенью 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! Подробнее

Check Also

Android: обнаружение Frida, отключение проверки на root и Android 11

Сегодня в выпуске: восемь способов обнаружить внедрение Frida в приложение, три совета, ка…

12 комментария

  1. Аватар

    infosec

    11.12.2019 at 16:49

    Привет!
    Спасибо за статью. Есть пара вопросов.
    Для чего мы отключили аппаратное шифрование?
    Статья называется «на практике». Может я чего-то не понял, но разве практика не подразумевает работу со сторонней точкой доступа? Здесь мы, вроде как протестили свой телефон на уязвимость и уведомились об этом, так?
    Что там дальше в wireshark? Подмена ключа? Декрипт трафика? Инжект трафика?

    • Аватар

      Laglag

      11.12.2019 at 22:46

      Начни с Азов. Отключи вайфай. Вы мега эксперт если вай фаем пользуетесь.

      • Аватар

        e6a3dec

        13.12.2019 at 12:40

        а что эксперты не пользуются вайфаем? пиздец ты даун малолетний.

        • Аватар

          Laglag

          24.12.2019 at 18:55

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

          • Аватар

            VlS

            26.12.2019 at 11:09

            Еще 220В розетку отключаешь (не, выламываешь для полной безопасности) и все — ты неуязвим.

        • Аватар

          Laglag

          24.12.2019 at 19:04

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

  2. Аватар

    avvalx

    11.12.2019 at 19:28

    Интересная статья. Однако Вы демонстрируете проблему при подключении уязвимого устройства к заведомо паразитной точке (в данном случае — Ваш ноут).
    Хотелось бы увидеть как развиваются события при неизвестности для Вашего ноута пароля к сети SKG2 и подключении к ней же уязвимого Андроид смартфона.

    • Аватар

      Laglag

      11.12.2019 at 22:48

      Афигеный ответ. К какой ещё заведомо точке. Удали игру я так говорю на подобные идиотов кометы.

    • Иван Пискунов

      Иван Пискунов

      13.12.2019 at 11:03

      Это отдельный кейс, его можно было рассмотреть, тестануть чего получится, но в рамках уже другой статьи

  3. Аватар

    Deno_BY

    12.12.2019 at 03:47

    Статья хорошая да вот только с опозданием на пару лет))) Довольно быстро все топовые компании исправили эту уязвимость следственно данный вектор атаки уже не актуален

    • Иван Пискунов

      Иван Пискунов

      13.12.2019 at 11:02

      Багу пофиксили, да, и сегодня на конце 2019 года для Enterprises вопрос не столь актуален, да и WPA 3 для обычных домашних пользователей уже совсем на подходе, но где-то в олдскульных местах до сих пор стоят и будут еще долгое время стоять хотспоты уязвимые к этой атаке)) так что всегда помним, что враг не дремлет)

  4. Аватар

    t3lec3ntr

    17.12.2019 at 00:27

    Сделайте статейку на предмет практической атаки по pmkid

Оставить мнение