- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Атака на Wi-Fi с WPS, используя Reaver
- Что такое WPS
- Уязвимость WPS
- Защита от взлома WPS
- Какая беспроводная карта подойдёт для перебора WPS
- Алгоритм атаки на WPS
- Перевод беспроводной карты в режим монитора
- Поиск точек доступа с включённым WPS
- Проверка на уязвимость Pixie Dust в Reaver
- Полный перебор WPS пинов с Reaver
- Получение пароля Wi-Fi при известном WPS пине в Reaver
- Уязвимость WIFI или как взломать WPS
- Принцип работы WPS
- Утилиты для взлома
- Практика взлома
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Атака на Wi-Fi с WPS, используя Reaver
Что такое WPS
Wi-Fi Protected Setup (защищённая установка), WPS — стандарт (и одноимённый протокол) полуавтоматического создания беспроводной сети Wi-Fi.
WPS придумывался для упрощения развёртывания и подключения к Wi-Fi сетям.
Есть два типа WPS: WPS с пин-кодом из 8 цифр, на клиенте нужно ввести тот же код, что и на точке доступа, и кнопка WPS — нужно нажать кнопку на точке доступа и на клиенте с интервалом меньше двух минут, тогда они соединятся друг с другом.
Точки доступа, у которых включён WPS, уязвимы к атаке брут-форса (перебора) данного ПИНа. После того, как подобран WPS ПИН можно подключиться к точке доступа, а также узнать её WPA/WPA2 пароль. Перебор возможен только на точках доступа, для которых нужно вводить цифры, но невозможен там, где нужно нажимать кнопки.
Всего необходимо перебрать только 11000, что можно сделать за часы-дни.
Для перебора WPS ПИНов используются разные программы, самыми популярными являются Reaver и Bully. В данной инструкции я покажу, как использовать Reaver для взлома Wi-Fi.
Уязвимость WPS
В декабре 2011 Стефан Фибёк (англ. Stefan Viehböck) и Крейг Хеффнер (англ. Craig Heffner) рассказали о серьёзных прорехах в протоколе WPS. Оказалось, что если в точке доступа активирован WPS c PIN (который по умолчанию включен в большинстве роутеров), то подобрать PIN-код для подключения можно за считанные часы.
PIN-код состоит из восьми цифр — следовательно, существует 108 (100 000 000) вариантов PIN-кода для подбора. Однако количество вариантов можно существенно сократить. Дело в том, что последняя цифра PIN-кода представляет собой контрольную сумму, которая можно вычислить на основании первых семи цифр. Таким образом количество вариантов уже сокращается до 107 (10 000 000).
Авторизация по WPS предполагает отправку клиентом последовательности цифр PIN-кода и пакетов M4 или M6 и ответы на них от базовой станции. Если первые 4 цифры PIN-кода некорректны то получив их точка доступа отправит EAP-NACK сразу после получения M4, а если была ошибка в последних 3 цифрах правой части (8-ое число не считаем так как оно легко генерируется атакующим по формуле) — то после получения M6. Таким образом, недостаток протокола позволяет разделить PIN-код на две части, 4 начальные цифры и 3 последующие и проверять каждую часть на корректность отдельно используя базовую станцию как оракула, который подсказывает правильная ли последовательность цифр была отправлена.
Если PIN-код разбить на две части: Следовательно, получается 10 4 (10 000) вариантов для первой половины и 10 3 (1000) для второй. В итоге это составляет всего лишь 11 000 вариантов для полного перебора, что в более 9000 раз меньше исходного числа вариантов 10 8 .
Таким образом вместо одного большого пространства значений 10 7 мы получаем два по 10 4 и 10 3 , и, понятно, что 10 7 <> 10 4 +10 3 . В итоге достаточно протестировать 11 000 комбинаций (больше 4-х цифр на тысячу) вместо 10 000 000.
Также были обнаружены уязвимости в генераторе случайных чисел маршрутизаторов некоторых производителей. Уязвимость получила название pixie dust. Для уязвимых роутеров можно получить pin после первой попытки и оффлайн-брутфорса.
Защита от взлома WPS
Защититься от атаки можно пока одним способом — отключить WPS с пином в настройках роутера. Правда, сделать это возможно далеко не всегда, иногда WPS отключается только полностью. Самое большее, что могут сделать производители — выпустить прошивку, позволяющую вводить таймаут на блокировку функции, например, после 5 неудачных попыток ввода PIN-кода, что усложнит брутфорс и увеличит время подбора идентификатора злоумышленником.
Какая беспроводная карта подойдёт для перебора WPS
Необходима беспроводная карта, которая поддерживает режим монитора и способна делать инъекции. Т.е. в теории должна была бы подойти любая карта из этого списка.
Но на практике в Reaver присутствуют несколько багов, из-за которых невозможно выполнить перебор WPS пинов беспроводными картами с чипсетом Ralink, которые используют драйвера rt2800usb (чипы RT3070, RT3272, RT3570, RT3572 и т.д.), а также для карт с чипсетом Intel.
Разработчики Reaver (мода reaver-wps-fork-t6x) пытаются исправить эту ситуацию, в последнем релизе уже устранено несколько багов, но работа ещё не закончена. На момент написания рекомендуется использовать с Reaver беспроводной адаптер Alfa AWUS036NHA , поскольку у неё чипсет Atheros AR9271, который прекрасно работает с Reaver.
Если у вас есть только карта на чипсете Ralink, то вам следует изучить материал:
Алгоритм атаки на WPS
- Переводим беспроводной интерфейс в режим монитора
- Ищем цели для атаки
- Проверяем на подверженность Pixie Dust
- Пробуем, подойдут ли ПИНы из базы данных известных ПИНов и сгеренированные по определённым алгоритмам.
- Запускаем полный перебор, если предыдущие шаги не дали результата.
- Если получен ПИН, но не показан WPA пароль, то запускаем команды для получения пароля от Wi-Fi.
Перевод беспроводной карты в режим монитора
Для поиска сетей с WPS, а также для атаки на них нам понадобиться перевести Wi-Fi карту в режим монитора.
Закрываем программы, которые могут помешать нашей атаке:
Узнаём имя беспроводного интерфейса:
И переводим его в режим монитора (замените wlan0 на имя вашего интерфейса, если оно отличается):
Новый сетевой интерфейс в режиме монитора также называется wlan0.
Если у вас другое имя беспроводного сетевого интерфейса, то во всех последующих командах вставляйте его вместо wlan0.
Поиск точек доступа с включённым WPS
Очень многие ТД имеют функционал по работе с WPS. Но у многих эта функция отключена, а у тех, у которых включена, может быть заблокирована (например, из-за нескольких неудачных попыток подбора ПИНа).
Чтобы собрать информацию о точках доступа мы воспользуемся программой Wash, которая поставляется вместе с Reaver и именно для этого и предназначена.
Через несколько минут работы программы будет выведен похожий список:
Для завершения работы программы нажмите CTRL+c.
Wash – это утилита для выявления точек доступа с включённым WPS. Выше показан пример исследования на live («живом») интерфейсе, также она может сканировать pcap файлы (несколько за один раз).
Wash показывает следующую информацию об обнаруженных точках доступа:
Для атаки подходят только точки доступа, у которых в колонке Lck стоит No, т.е. у которых не заблокирован WPS.
По умолчанию wash выполняет пассивное исследование. Т.е. программа не отправляет какие-либо пакеты и остаётся абсолютно незаметной для возможных систем мониторинга беспроводной активности. Тем не менее, можно указать опцию -s и тогда wash будет отправлять probe requests (зондирующие запросы) к каждой ТД, это позволит получить больше информации о ТД.
Для того, чтобы проводить поиск на 5GHz 802.11 каналах используется опция -5.
Больше информации о Wash и её опциях, а также ссылки на дополнительные инструкции вы найдёте здесь https://kali.tools/?p=359.
Искать ТД с WPS можно и другими инструментами, дополнительная информация об этом в статье «Поиск беспроводных точек доступа с включённым WPS: использование программ Wash, Airodump-ng и Wifite»,
Проверка на уязвимость Pixie Dust в Reaver
Атака Pixie Dust позволяет очень быстро получить ПИН. Но не все Точки Доступа подвержены этой уязвимости.
Для проверки конкретной ТД на эту уязвимость с помощью Reaver используется опция -K. Т.е. команда имеет следующий вид:
MAC адрес Точки Доступа можно взять из столбца BSSID полученного в Wash вывода.
К примеру, меня заинтересовала следующая точка доступа:
Тогда команда для атаки будет выглядеть так:
Как можно увидеть на скриншоте, ТД оказалась уязвимой, и получен её WPS пин:
При выполнении атаки Pixie Dust не происходит получение WPA пароля (пароля от Wi-Fi сети), как его узнать будет показано ниже.
Если точка доступа неуязвима к Pixie Dust, то прежде чем перейти к полному перебору рекомендуется попробовать наиболее вероятные варианты для атакуемой Точки Доступа. Как это сделать описано в заметке «Эффективный подбор WPS ПИНа по базе известных и сгенерированным ПИНам».
Полный перебор WPS пинов с Reaver
Если ни один из описанных методов не помог, то переходим к полному перебору, который может занять часы или даже сутки.
Команда для запуска перебора похожа на предыдущую, но отсутствует опция, запускающая атаку Pixie Dust:
Перебор WPS пинов может идти неудачно по многим причинам, поэтому для более подробного вывода, чтобы определить, в чём проблема, используются опции -v, -vv или -vvv. Как можно догадаться, чем больше букв v, тем больше будет выведено подробной информации.
Дополнительную информацию о других опциях Reaver, а также подробное описание других ходовых опций, вы найдёте здесь: https://kali.tools/?p=355
Получение пароля Wi-Fi при известном WPS пине в Reaver
Если атака Pixie Dust прошла успешно, то показывается только ПИН. При полном переборе показывается и пин и WPA пароль. Если у вас уже есть пин, то для получения пароля Wi-Fi сети вам нужно в Reaver использовать опцию -p, после которой указать известный ПИН.
Если опция -p по каким-то причинам не срабатывает для вас, то попробуйте использовать wpa_supplicant, как это описано в заметке «Решение проблемы: Reaver показывает WPS пин, но не показывает пароль WPA-PSK».
Уязвимость WIFI или как взломать WPS
Разработчики WAP2 твердо пообещали пользователям, что с момента внедрения этого протокола защиты взлом беспроводных сетей станет делом практически безнадежным.
Однако, как показывает опыт, «дыры» есть в любом программном обеспечении, разработанном человеком.
Причем с каждым годом их обнаруживается все больше и больше. Вспомним анекдотическую историю, случившуюся с компанией Microsoft, разработавшей «универсальное» ПО для поиска уязвимостей в Windows.
Буквально через несколько дней, после прогона кода ОС через эту систему и громогласных заявлений о его абсолютной надежности, в недрах «Винды» была обнаружена очередная дырка для взломщиков.
Точно так же происходит и с программным обеспечением роутеров и беспроводных модемов. Взлом WPS стал возможен благодаря обнаружению отдельных недостатков Wifi Protected Setup.
Разумеется, прямой подбор сложного и правильно сформированного пароля к WPA технически неосуществим за сколько-нибудь приемлемое время.
Это не означает принципиальной невозможности такого подбора, но количество времени, необходимое для осуществления этой операции, превосходит все разумные пределы даже при использовании самого современного специфического софта и оборудования, предназначенного для этих целей. Впрочем, нормальные герои всегда идут в обход.
Стремление разработчиков ПО и оборудования роутеров облегчить настройку этих аппаратов обернулось неожиданной стороной – выяснилось, что мнимая абсолютная защита ключом совершенной не является и позволяет при наличии «умелых ручек» и соответствующих программ обойти защиту за приемлемое время, составляющее порядка нескольких часов.
Нужно ли ломать WiFi Protected Setup – вопрос риторический. Нормальному, добропорядочному пользователю заниматься этим совершенно незачем. Хотя прочитать нашу заметку и ознакомиться с описанными в ней хакерскими приемами рекомендуется каждому пользователю. Ведь вы можете оказаться не только инициатором атаки, но и ее объектом.
Принцип работы WPS
Этот протокол защиты подразумевает, что роутер автоматически формирует и передает абоненту некий код защиты, известный лишь взаимодействующим между собой абонентам. Сформировать такой PIN можно по-разному. Существует три таких технических возможности:
- Путем нажатия специальной кнопки на корпусе роутера и тут же после этого –аналогичной по назначению кнопки в программном интерфейсе аппарата для ПК.
- Путем ввода PIN-кода в web-интерфейсе маршрутизатора, доступ к которому открывается через браузер, запущенный на компьютере, к оному маршрутизатору подключенном. Код этот берется с наклейки, пришпандоренной к нижней крышке роутера. Выглядит этот стикер так:
- При помощи специальной программы для ввода ключа, запускаемой также на компьютере. Интерфейс такой программы крайне примитивен и содержит единственное поле для ввода PIN. Покажем, как это выглядит на практике:
- Вот в это самое поле «Security Key» и вводится код с наклейки.
Ежу понятно, что последний способ – наименее защищенный. При наличии нужного софта можно вполне элементарно организовать на устройство bruteforce-атаку и подобрать PIN тупым (или не очень тупым) перебором.
Учитывая, что длина кода составляет восемь цифр, то количество возможных комбинаций этих цифр составит что-то около ста миллионов вариантов. Понятно, что это довольно много.
Однако ключевыми в коде являются лишь первые семь цифр, а все вместе они должны удовлетворять некоему условию в виде контрольной суммы. Это снижает число комбинаций на порядок.
Структура и порядок сверки PIN также дают повод для размышлений. Сначала проверяются первые четыре цифры, и если они неверны, дальнейшая проверка отменяется.
Если же первые четыре цифры подходят, то проверка еще тысячи вариантов для оставшихся трех – дело техники. То есть на первом этапе нужно перебрать всего 10 000 вариантов, а на втором – еще 1000.
Это по силам любой софтине, специально для этого предназначенной.
Утилиты для взлома
Первой программой, реализующий вышеупомянутый алгоритм подбора, стала утилита под названием wpscrack, разработанная неким Стефаном Фибёком.
Причем она была написана даже не на языке компилирующего типа (для ускорения своей работы), а являла собой скрипт, «настроченный» на python-е.
В качестве параметров этот скрипт принимал имя сетевого интерфейса, MAC-адрес точки доступа и имя сетки (SSID), а на выходе выдавал ключ WPA в текстовой форме. Пользоваться такой программой обычному доморощенному взломщику не очень удобно.
Поэтому наибольшее распространение получили программы наподобие Reaver для взлома WPS. Ее разработчик Крейг Хеффнер заложил в свою утилиту большое число опций для взлома маршрутизаторов самых различных типов и марок. Именно эту программу мы и будем рассматривать дальше.
Остается один вопрос: где взять Reaver для взлома WPS? К неудовольствию пользователей Windows сообщаем, что лучший вариант программы функционирует под Linux.
А обнаружить его можно в недрах популярного в среде хакеров дистрибутива BackTrack. Поставьте себе эту систему и следуйте нашим дальнейшим рекомендациям.
Практика взлома
Итак, как взломать WPS при помощи Reaver? Для этого нужно в точности повторить шаги приводимой ниже инструкции:
- Поставить BackTrack 5 R1 либо на жесткий диск своего компьютера, либо, что еще лучше, на загрузочную флешку и запускаться с нее. В качестве альтернативы предлагается использовать виртуальную машину типа VMWare – тогда систему с нужной утилитой можно запустить из-под Windows. Для создания загрузочной флешки можете использовать программку Netbootin (http://unetbootin.sourceforge.net/).
- Далее требуется войти в систему как root-пользователь и стартануть KDE командой: $ startx.
- Инсталляция Reaver происходит как обычно: программа тянется на ПК из репозитория в интернете. Для этого войдите в терминал и введите две следующие команды:
- При помощи команд $ airmon-ng start wlan0 и $ airodump-ng mon0 выявляем расположенные по близости беспроводные сети. Отобрать из списка лучше WPA-сети из верхней половины списка.
- При помощи упомянутых команд мы выясняем все необходимые для запуска брутфорсинга параметры: MAC, SSID, имя интерфейса и так далее.
- Теперь остается активировать процесс подбора ключа при помощи Reaver для wps. Делается это командой наподобие:
- А специальный ключ –vv нужен для получения максимально информативного вывода.
- Дожидаемся окончания работы утилиты. В результате получаем отчет примерно такого содержания:
- «WPA PSK» — это именно то, что нам нужно. Готовый PIN для создания «левого» подключения к чужой сетке.
Защититься от такой атаки можно единственным способом – просто отключить опцию WPS в настройках маршрутизатора.
В использовании Reaver для взлома сети WiFi через WiFi Protected Setup существует множество нюансов. С ними можно ознакомиться либо в справке к программе, либо на специализированных, посвященных этой теме сайтах.