К основному контенту

Взлом WPA3: DragonBlood


Несмотря на то, что новый стандарт WPA3 еще толком не введен в эксплуатацию, недостатки безопасности в этом протоколе позволяют злоумышленникам взломать пароль Wi-Fi.

Протокол Wi-Fi Protected Access III (WPA3) был запущен в попытке устранить технические недостатки протокола WPA2, который долгое время считался небезопасным и уязвимым для KRACK-атаки (Key Reinstallation Attack). Хотя WPA3 опирается на более безопасное рукопожатие, известное как Dragonfly, которое направлено на защиту сетей Wi-Fi от автономных атак по словарю (офлайн-перебор), исследователи безопасности Mathy Vanhoef и Eyal Ronen обнаружили слабые места в ранней реализации WPA3-Personal, которые могут позволить злоумышленнику восстановить Wi-Fi-пароли, злоупотребляя таймингами или побочным кешем.

«Злоумышленники могут прочитать информацию, которую, как предполагалось, WPA3 безопасно шифрует. Это может быть использовано для кражи конфиденциальной информации, такой как номера кредитных карт, пароли, сообщения чата, электронные письма и т. д.»
В опубликованном сегодня исследовательском документе, названном DragonBlood, исследователи подробно рассмотрели два типа недостатков проектирования в WPA3: первый ведет к атакам с понижением рейтинга, а второй — к утечкам побочного кеша.

Атака по побочному каналу на основе кеша


Алгоритм кодирования пароля в Dragonfly, также известный как алгоритм «охоты и клевания» (hunting and pecking), содержит условные ветви. Если злоумышленник может определить, какая ветвь ветви if-then-else была взята, он может узнать, был ли найден элемент пароля в конкретной итерации этого алгоритма. На практике было обнаружено, что если злоумышленник может запустить непривилегированный код на компьютере-жертве, возможно использовать атаки на основе кеша, чтобы определить, какая ветвь была предпринята в первой итерации алгоритма генерации пароля. Эта информация может быть использована для выполнения атаки с разделением пароля (это похоже на автономную атаку по словарю).

Эта уязвимость отслеживается с использованием идентификатора CVE-2019-9494.

Защита заключается в замене условных ветвей, которые зависят от секретных значений, утилитами выбора с постоянным временем. Реализации должны также использовать вычисление символа Лежандра с постоянным временем.

Атака по побочному каналу на основе синхронизации


Когда рукопожатие Dragonfly использует определенные мультипликативные группы, алгоритм кодирования пароля использует переменное число итераций для кодирования пароля. Точное количество итераций зависит от используемого пароля и MAC-адреса точки доступа и клиента. Злоумышленник может выполнить удаленную временную атаку на алгоритм кодирования пароля, чтобы определить, сколько итераций потребовалось для кодирования пароля. Восстановленная информация может быть использована для выполнения парольной атаки, которая похожа на автономную словарную атаку.

Чтобы предотвратить атаку на основе синхронизации, реализации должны отключить уязвимые мультипликативные группы. С технической точки зрения, группы MODP 22, 23 и 24 должны быть отключены. Также рекомендуется отключить группы MODP 1, 2 и 5.

Эта уязвимость также отслеживается с использованием идентификатора CVE-2019-9494 из-за схожести реализации атаки.

WPA3 downgrade


Поскольку 15-летний протокол WPA2 широко использовался миллиардами устройств, широкое распространение WPA3 не произойдет в одночасье. Для поддержки старых устройств сертифицированные WPA3 устройства предлагают «переходный режим работы», который можно настроить для приема соединений с использованием как WPA3-SAE, так и WPA2.

Исследователи считают, что переходный режим уязвим для атак с понижением рейтинга, которые злоумышленники могут использовать для создания мошеннической точки доступа, поддерживающей только WPA2, что заставляет устройства, поддерживаемые WPA3, подключаться с помощью небезопасного четырехстороннего рукопожатия WPA2.
«Мы также обнаружили атаку с понижением рейтинга против самого рукопожатия SAE («Одновременная аутентификация равных», обычно известного как «Стрекоза»), где мы можем заставить устройство использовать более слабую эллиптическую кривую, чем обычно», — говорят исследователи.
Более того, позиция «человек посередине» не нужна для проведения атаки с понижением рейтинга. Вместо этого злоумышленникам нужно знать только SSID сети WPA3-SAE.

Исследователи сообщили о своих результатах Wi-Fi Alliance, некоммерческой организации, которая сертифицирует стандарты WiFi и продукты Wi-Fi на соответствие, которые признали проблемы и работают с поставщиками для исправления существующих устройств, сертифицированных WPA3.

PoC (на момент публикации — 404)


В качестве подтверждения концепции исследователи в скором времени выпустят следующие четыре отдельных инструмента (в репозиториях GitHub с гиперссылкой ниже), которые можно использовать для проверки уязвимостей.

Dragondrain — инструмент, который может проверить, в какой степени точка доступа уязвима для Dos-атак на рукопожатие WPA3 Dragonfly.
Dragontime — экспериментальный инструмент для проведения временных атак против рукопожатия Dragonfly.
Dragonforce — экспериментальный инструмент, который получает информацию для восстановления после временных атак и выполняет парольную атаку.
Dragonslayer — инструмент, который осуществляет атаки на EAP-pwd.


Dragonblood: A Security Analysis of WPA3's SAE Handshake
Сайт проекта — wpa3.mathyvanhoef.com

@black_triangle_tg

Популярное

Пробив информации. Osint-ресурсы.

Думаю что эта подборка будет полезна и вам, список ресурсов не всеобъемлющий по этому всем кому есть что добавить, добро пожаловать в коментарии. Поиск По Фотографиям Поиск по лицу: FindTwin face search demo + @VkUrlBot Face search • PimEyes Betaface free online demo - Face recognition, Face search, Face analysis VK.watch – история профилей ВКонтакте Поиск первоисточника картинки и всех доменов где она хоститься: TinEye Reverse Image Search Reverse image search for images and video - Berify.com Search by image | Reverse Image Search on Google 2019 Reverse Image Search - Search By Image Reverse Image Search - Find Similar Photos Online Karma Decay - Reverse image search of Reddit.com Поиск фото по геометкам в социальных сетях: Поиск фото по геометкам в соц. сетях Поисковик фотографий с привязкой к геолокации Другое: Поиск по фото мошенников и фейков Поисковые Cистемы Людей Мир: Free People Search | PeekYou https://pipl.com/ ...

Скрытые функции поисковика DuckDuckGo

Если пoисковик DuckDuckGo кому-то и известен, то в первую очередь в связи с повышенной приватностью. В отличие от Google или «Яндекса» он не собирает данные о пользователях, но и результаты у него не такие же хорошие. Однако стоит копнуть глубже, и оказывается, что это мощнейший инструмент, способный значительно облегчить и ускорить извлечение информации из Сети. Начнем с того, что на самом деле DDG — не совсем поисковик. Вернее даже, совсем не поисковик, а этакий агpегатор ответов с разных поисковиков. В своей работе он использует поисковую выдачу Yahoo, Bing, Yummly, «Яндекса», «Википедии» и сотен других «надежных» источников. Такая особенность делает DDG очень точным, если источники содержат информацию именно по этому запросу. Он легко выдает исчерпывающие ответы на запросы типа «linux df», «долгая счастливая жизнь», «Java InterruptedException» или даже «is it raining». Но как только ты введешь что-то более сложное, что-то, чего не окажется в источниках DDG,...

Пишем бот для рыбалки в игре Albion Online на языке Python (Albion Online Fishing bot)

import numpy as np import cv2 from mss.linux import MSS as mss from PIL import Image import time import pyautogui as pg import imutils import mss import numpy import pyautogui template = cv2.imread("2019-07-02_06-55_1.png", cv2.IMREAD_GRAYSCALE) w, h = template.shape[::-1] color_yellow = (0,255,255) mon = {'top': 80, 'left': 350, 'width': 100, 'height': 100} def process_image(original_image):     processed_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY)     processed_image = cv2.Canny(processed_image, threshold1=200, threshold2=300)     return processed_image def ss():     op = 1     with mss.mss() as sct:         monitor = {"top": 40, "left": 0, "width": 800, "height": 640}         while "Screen capturing":             last_time = time.time()      ...