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

Как взламывают роутеры через WPS?

26.11.2016

Содержание

  • 1 Как работает WPS?
    • 1.1 Существует три варианта использования WPS:
  • 2 Уязвимость ротуеров с WPS
  • 3 Скорость подбора ключа

Бесплатных wifi сетей без пароля становится все меньше и меньше. Еще недавно, пользователь мог даже не знать, что беспроводную сеть можно защитить с помощью пароля, обезопасив себя от посторонних подключений. То сегодня пользователю все чаще подсказывают о такой возможности. Взять хотя бы новые прошивки роутеров, которые выпускают ведущие провайдеры для популярных моделей, чтобы упростить настройку. Нужно указать 2 вещи — логин/пароль и пароль для защиты wifi сети. Сами производители маршрутизаторов стараются сделать процесс настройки незамысловатым.

Так, большинство современных роутеров поддерживают механизм WPS (Wi-Fi Protected Setup). С его помощью пользователь за считанные секунды может настроить безопасную беспроводную сеть, вообще не забивая себе голову тем, что «где-то еще нужно включить шифрование и прописать WPA-ключ». Для этого нужно ввести в систему 8-ми символьный PIN, который написан на роутере, – и готово! Но, сразу 2 исследователя рассказали о серьезных фундаментальных дырах в протоколе WPS. Это как черный ход для любого роутера. Оказалось, что если в точке доступа активирован WPS, который, включен в большинстве роутеров по умолчанию, то подобрать PIN для подключения и извлечь ключ для подключения можно очень быстро.

Как работает WPS?

Задумка создателей WPS хороша. Механизм автоматически задает имя сети и шифрование. Таким образом, пользователю нет необходимости лезть в веб-интерфейс и разбираться со сложными настройками. А к уже настроенной сети можно без проблем добавить любое устройство, например, смартфон или планшет: если правильно ввести PIN, то он получит все необходимые настройки. Это очень удобно, поэтому все крупные игроки на рынке, такие как Cisco/Linksys, Netgear, D-Link, Belkin, TP-link, ZyXEL сейчас предлагают беспроводные роутеры с поддержкой WPS.

Существует три варианта использования WPS:

Push-Button-Connect (PBC). Пользователь нажимает специальную кнопку на роутере и программную на компьютере, тем самым активируя процесс настройки.

Ввод PIN-кода в веб-интерфейсе. Пользователь заходит через браузер в административный интерфейс роутера и вводит там PIN-код из 8 цифр, написанный на корпусе устройства (рисунок 1), после чего происходит процесс настройки.



PIN-код WPS, написанный на корпусе роутера

При соединении с роутером можно открыть специальную сессию WPS, в рамках которой настроить роутер или получить уже имеющиеся настройки, если правильно ввести PIN-код. Для открытия подобной сессии не нужна аутентификация. Это может сделать любой желающий! Получается, что PIN-код уже потенциально подвержен атаке типа bruteforce.



Окно для ввода PIN-кода WPS

Уязвимость ротуеров с WPS

PIN-код WPS состоит из 8 цифр — следовательно, существует 10^8 (100 000 000) вариантов для подбора. Однако количество вариантов можно существенно сократить. Дело в том, что последняя цифра PIN-кода представляет собой некую контрольную сумму, которая высчитывается на основании семи 7 цифр. В итоге получаем уже 10^7 (10 000 000) вариантов. Далее внимательно смотрим на устройство протокола аутентификации WPS (таблица 1). Оказывается, проверка PIN-кода осуществляется в 2 этапа. Ключ делится на 2 равные части, и каждая часть проверяется отдельно.

Таблица 1. Протокол аутентификации WPS



Посмотрим на схему:

Если после отсылки сообщения M4 атакующий получил в ответ EAP-NACK, то он может быть уверен, что первая часть PIN-кода неправильная.

Если же он получил EAP-NACK после отсылки M6, то, соответственно, вторая часть PIN-кода неверна. Получаем 10^4 (10 000) вариантов для первой половины и 10^3 (1 000) для второй. В итоге имеем всего лишь 11 000 вариантов для полного перебора. Чтобы лучше понять, как это будет работать, посмотри на алгоритм.



Алгоритм брутфорса PIN-кода WPS

Скорость подбора ключа

Она ограничена скоростью обработки роутером WPS-запросов: одни точки доступа будут выдавать результат каждую 1 секунду, другие — каждые 10 секунд. Основное время при этом затрачивается на расчет открытого ключа по алгоритму Диффи-Хеллмана, он должен быть сгенерирован перед шагом M3. Затраченное на это время можно уменьшить, выбрав на стороне клиента простой секретный ключ, который в дальнейшем упростит расчеты других ключей. Практика показывает, что для успешного открытия ключа WPS достаточно перебрать лишь 50% вариантов, и в среднем брутфорс занимает всего от 4 до 8 часов.

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…