- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- PixieWPS
- Описание Pixiewps
- Справка по Pixiewps
- Руководство по Pixiewps
- Описание аргументов Pixiewps
- WPS Pixie Dust Attack — Взлом Wi-Fi сети за 5 минут. Описание уязвимости
- WPS протокол
- Генерация E-S1 и E-S2 на наших роутерах:
- Заключение
- Wps pixie dust kali linux
- About
- Pixie Dust Attack Kali Linux 2020.1. Easy WPS Hack
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
PixieWPS
Описание Pixiewps
Pixiewps — это инструмент, написанный на C, он используется для оффлайн брутфорса пина WPS посредством эксплуатирования низкой или несуществующий энтропии некоторых точек доступа (атака pixie dust). Он предназначен только для образовательных целей. Вся благодарность за исследования направляется Dominique Bongard.
В отличии от традиционных онлайн атак брут-форса на пин, которые реализованы в таких инструментах как Reaver или Bully, которые предназначены для восстановления пина в течение нескольких часов, этому методу для получения пина требуется от миллисекунд до минут, в зависимости от цели. Конечно, метод срабатывает только если цель уязвима.
- Оптимизация контрольной суммы: это делается в первую очередь в поиске валидных пинов (11’000);
- Снижение энтропии seed с 32 до 25 бит для C псевдослучайной функции линейного конгруэнтного метода;
- Малые ключи Диффи — Хеллмана: не нужно указывать открытый регистрационный ключ если эта же опция используется с Reaver.
Программа также попробует сначала с E-S0 = E-S1 = 0, затем попытается брутфорсить seed для PRNG, если указана опция —e-nonce.
Справка по Pixiewps
Руководство по Pixiewps
Страница man отсутствует.
Пример популярного использования:
который требует модифицированную версию Reaver или Bully, которые печатают AuthKey (—authkey, -a). Рекомендуется версия reaver-wps-fork-t6x.
Если показано следующее сообщение:
[!] The AP /might be/ vulnerable. Try again with —force or with another (newer) set of data.
значит точка доступа должна быть уязвимой и Pixiewps следует запустить ещё раз с тем же набором данных и дополнительно с опцией —force или, как вариант, с новым набором данных.
Описание аргументов Pixiewps
-e, —pke
Публичный DH ключ подписчика, найденный в M1.
-r, —pkr
Публичный DH ключ регистратора, найденный в M2 или можно пропустить если задать —dh-small как в Reaver, так и в Pixiewps.
-s, —e-hash1
Hash-1 подписчика, найденный в M3.
-z, —e-hash2
Hash-2 подписчика, найденный в M3.
-a, —authkey
Ключ аутентификации сессии регистрационного протокола. Хотя этот параметр нужен для модифицированных версий Reaver или Bully, его можно пропустить если задать малые ключи Diffie-Hellman в Reaver и Pixiewps и указать —e-nonce, —r-nonce и —e-bssid.
-n, —e-nonce
Одноразовый подписчика, найденный в M1.
-m, —r-nonce
Одноразовый подписчика, найденный в M2.
-b, —e-bssid
-S, —dh-small
Малые ключи Диффи — Хеллмана. Эта же опция ДОЛЖНА быть также указана в Reaver (1.3 или более поздних версиях). Эта опция НЕ РАБОТАЕТ (в настоящее время) с режимом 3.
—mode N[,… N]
Select modes, comma separated (experimental modes are not used unless specified):
—start [mm/]yyyy
—end [mm/]yyyy
Даты начала и окончания для режима 3. Они являются взаимозаменяемыми. Если указана только одна, то для другой будет использоваться текущее время машины. Самая ранняя возможная дата это 01/1970 соответствующая 0 (Время Эпохи).
-f, —force
Принудить Pixiewps перебирать всё пространство ключей (только для одного типа PRNG). Для завершения этого может понадобиться несколько минут.
-v, —verbosity
Уровень вербальности (1-3). Уровень 3 отображает больше всего информации.
Источник
WPS Pixie Dust Attack — Взлом Wi-Fi сети за 5 минут. Описание уязвимости
Уязвимость не новая, но ввиду отсутствия материалов в «РУ» сегменте — решил написать данную статью.
WPS — Wi-Fi Protected Setup. Второе название QSS — Quick Security Setup.
Стандарт разработанный для упрощения процесса настройки беспроводной сети.
WPS позволяет подключится двумя различными способами:
— ввод 8-ми значного пин кода (обычно указывается c обратной стороны роутера)
— нажатием специально предназначенной для этого кнопки на роутере
PIN являет собой код из 8 цифр, 8я — чек сумма. Брут такого кода, с учетом защиты от перебора, может занять до нескольких дней.
В конце 2014 года специалист по компьютерной безопасности Доминик Бонгард (Dominique Bongard) нашел уязвимость в WPS, которая позволила взломать Wi-Fi роутер за несколько минут.
Проблема была в генерации случайных чисел (E-S1 и E-S2) на многих роутерах. Если мы узнаем эти числа — мы сможем легко узнать WPS pin, так как именно они используются в криптографической функции для защиты от брутфорса по получению WPS pin.
Роутер отдает хэш, сгенерированный с использованием WPS pin и данных (E-S1 и E-S2) чисел, что бы доказать, что он его так же знает (это сделано для защиты от подключения к фейковой точке, которая могла бы просто принять ваш пароль и слушать трафик).
E-S1 и E-S2 используются в генерации E-Hash1, E-Hash2, которые в свою очередь получим от роутера в сообщении M3.
WPS протокол
Важными здесь являются: M1, M2, M3.
Сообщение M1 — роутер отправляет клиенту N1, Description, PKE.
Сообщение M2 — клиент отправляет роутеру N1, N2, PKR, Auth.
Auth — хэш от первого и второго сообщений.
И самое важное сообщение M3 — роутер отправляет клиенту E-Hash1, E-Hash2.
E-Hash1 = HMAC-SHA-256(authkey) (E-S1 | PSK1 | PKE | PKR)
E-Hash2 = HMAC-SHA-256(authkey) (E-S2 | PSK2 | PKE | PKR)
Где PSK1 — первые 4 цифры WPS pin, PSK2 — остальные 4 цифры.
E-S1 и E-S2 — должны быть случайными 128-битными числами.
PKE — публичный ключ роутера.
PKR — публичный ключ клиента.
Из этого получается что неизвестными являются (пока еще) E-S1 и E-S2, PSK1 и PSK2.
M4 — клиент отправляет R-Hash1, R-Hash2 для подтверждения того, что он так же знает WPS pin.
Если все ок — роутер отдаст клиенту парольную фразу для доступа к сети, привязанную к текущему WPS pin. Это сделано из расчета, что WPS pin не должен быть постоянным, и в случае его изменения — клиент должен заново получить пароль.
Генерация E-S1 и E-S2 на наших роутерах:
В “Broadcom/eCos” эти 2 числа генерируются сразу после генерации N1 (публичный ключ) той же функцией. Получение E-S1 и E-S2 сводится к брутфорсу состояния функции на основании N1 и получения в результате E-S1 и E-S2.
В “Realtek” для генерации таких чисел функция использует UNIX timestamp.
Аналогично Broadcom, N1 и E-S1,2 генерирует одна функция.
И если весь обмен происходит в ту же секунду, E-S1 = E-S2 = N1.
Если в течение нескольких секунд — брутфорс состояния на основе N1.
Исходник — github.com/skristiansson/uClibc-or1k/blob/master/libc/stdlib/random_r.c
В “Ralink” E-S1 и E-S2 никогда не генерятся. Они всегда равны 0.
E-S1 = E-S2 = 0
В “MediaTek” и “Celeno” такая же картина:
E-S1 = E-S2 = 0
Заключение
Предположим мы уже знаем PKE, PKR, Authkey, E-Hash1 и E-Hash2 — все эти данные мы получили в результате общения с роутером (см. Выше M1, M2, M3). E-S1 и E-S2 сбрутили либо знаем что он = 0.
Дело осталось за малым — отправляем все данные в хэш функцию и сравниваем каждый новый pin с (E-Hash1 и E-Hash2). В результате за несколько минут мы получим WPS pin и, собственно, доступ к сети.
В kali2 уже присутствуют все нужные для проведения атаки инструменты. Кому интересна практика (протестировать свой роутер) — смотрим доки по Reaver. Wifite так же поддерживает данный вид атаки.
Источник
Wps pixie dust kali linux
Overview
Pixiewps is a tool written in C used to bruteforce offline the WPS PIN exploiting the low or non-existing entropy of some software implementations, the so-called «pixie-dust attack» discovered by Dominique Bongard in summer 2014. It is meant for educational purposes only.
As opposed to the traditional online brute-force attack, implemented in tools like Reaver or Bully which aim to recover the pin in a few hours, this method can get the PIN in only a matter of seconds or minutes, depending on the target, if vulnerable.
Since version 1.4, it can also recover the WPA-PSK from a complete passive capture (M1 through M7) for some devices (currently only some devices which work with —mode 3 ).
It all started as a project from the community, more details can be found here:
You can also visit the wiki.
- Prior versions of 1.2 require libssl-dev
- Versions 1.4 and later make use of multi-threading and require libpthread (POSIX threads)
OpenSSL has also been re-introduced as optional to achieve better speeds. See the Build section.
Download
git clone https://github.com/wiire/pixiewps
wget https://github.com/wiire/pixiewps/archive/master.zip && unzip master.zip
Build
Optionally, you can run make OPENSSL=1 to use faster OpenSSL SHA-256 functions.
Install
The most common usage example is:
which requires a modified version of Reaver or Bully which prints the Authentication Session key ( —authkey , -a ). The recommended version is reaver-wps-fork-t6x.
The program has also a man page and a verbose help screen ( —help ) with more examples.
This feature was introduced back in Reaver 1.3. It works by choosing the private key = 1, thus resulting in having the public key —pkr = 2. This speeds up the cracking process since the AP must do less computations to calculate the Diffie-Hellman shared secret, which is later used to derive the session keys that encrypt the current transaction. Pixiewps can exploit this feature so that the user doesn’t have to input —pkr (it’s always 2) and optionally compute the session keys, like —authkey , if additional arguments, —r-nonce and —bssid , are specified.
It turns out some routers are buggy and do not function correctly with this feature. Some won’t even be able to validate the correct PIN and the transaction will fail after M4. For this reason this feature is deprecated and should never be used in Reaver.
This option requires the attribute encrypted settings found in M7 when the Registrar proved knowledge of the PIN, and the Access Points, the Enrollee, sends its current network configuration.
This feature can be used to crack the WPA-PSK (and WPS PIN) from a passive packet capture (e.g. sniffing a PBC session).
This option is used only for mode 3. When used pixiewps will start bruteforcing from the current time and go back all the way to 0. It is conceptually identical to using —end 01/1970 only (or —start 01/1970 since they’re interchangeable).
The empty PIN, denoted with can be tested with -p «» in Reaver 1.6.1 and later. It comes from a misconfiguration of the PIN method on some Access Points which have the PIN variable set to NULL (or empty string).
Pixiewps can be compiled for a wide variety of platforms. On Windows it can be compiled with MinGW. Be sure to have installed phtread support.
Since version 1.4.1 it has been included in OpenWrt and LEDE official repositories.
The version numbering is in the form 1.x.y , where x usually indicates a major release, and y a minor release, typically bug fixing or other small changes. Every major release starts with y = 0 and should be considered unstable in the first hours of publishing, even if not marked as such.
For a list of changes between one release and the previous refer to CHANGELOG.
Notes for wrappers and scripts
- The data in input can be formatted with one of the following byte separators: ‘ : ‘, ‘ — ‘, ‘ ‘, or without
- The most useful tags like WPS pin and WPA-PSK are denoted with [+] or [-] in case of failure
- Pixiewps returns 0 on a successful attempt
- An option that has been deprecated means that it shouldn’t be used anymore and may get removed on a later release
Since the very first release pixiewps has improved a lot, but it’s hard to keep track of every device on the market. We have decided to add an automatic message suggesting that we are interested in the parameters of the device tested by the user.
- Part of the code was inspired by Bully by Brian Purcell
- The crypto and bignum libraries were taken from LibTomCrypt and TomsFastMath
- Endianness detection and conversion is from rofl0r/endianness.h
- See contributors for a list of everyone that has contributed
- Huge thanks to kcdtv , rofl0r and binarymaster for helping and testing
- Special thanks to soxrok2212 , datahead , t6_x , aanarchyy and the Kali Linux community
Pixiewps is based on the work of Dominique Bongard (@Reversity):
About
An offline Wi-Fi Protected Setup brute-force utility
Источник
Pixie Dust Attack Kali Linux 2020.1. Easy WPS Hack
Zip File, мамкины хакеры. На прошлой неделе в обзоре на WiFiTe, я пообещал рассказать про старую добрую атаку Pixie Dust на точки с включённым WPS’ом. Ваши комменты дали понять, что темка интересная, а значит есть смысл рассказать о ней более подробно. С чего я вообще вспомнил про Пикси Даст в 2020 году? Ведь технологии WPS сто лет в обед. Дело в том, что недавно я общался со своим старым другом. Парняга уже давно работает в сфере IT-защиты и занимается аудитом безопасности локальных сетей малых и средних бизнес-предприятий.
Помимо кучи занудных бумажек, заказчики частенько просят его проверить их сети на предмет уязвимости. И естественно, первое что он делает, это начинает мурыжить Wi-Fi, если таковой присутствует в местной сети.
Так вот, первое на что обращают внимание такие специалисты – это в принципе наличие пароля на точке. Но с этим, как правило, у всех всё в полном порядке. А вот второе, куда более любопытное, включён ли на ней протокол WPS.
Он расшифровывается, как Wifi Protected Setup и предназначен для упрощения подключения к сети неопытных пользователей. Существует 2 способа подключения с использованием WPS. Программный и аппаратный.
Последний — самый простой. Нажимаете соответствующую кнопку на роутере, затем аналогичную на адаптере и вот вы уже подключены к сети. Пароль сгенерируется автоматически. В домашних условиях, когда доступ к роутеру имеете только вы – очень удобная тема.
И программный вариант, это когда для подключения используется пин-код, написанный на брюшке вашего маршрутизатора. Помогает, когда нужно быстро настроить роутер, а под рукой только смартфон.
К сожалению, за любое удобство, приходится платить. Стандарт WPS имеет уязвимость к атаке Pixie Dust. Я не буду сейчас грузить вас тем, что это за уязвимость и как работает.
Если в вкратце, она основана на генерации случайных чисел в сообщениях E-S1 и E-S2, которые при передаче позволяют получить хэш с роутера, а затем расшифровать его и получить PIN для подключения.
Дальше уже дело техники. Зная pin-wps, можно в два счёта получить любой пароль хоть от WPA2. Но так, ли всё просто на самом деле? Давайте проверим.
Шаг 1. Запускаем Kali Linux и обновляем список пакетов введя в терминале apt update.
Шаг 2. Копируем с гитхаба скрипт OneShot. Для демонстрации я выбрал именно его по двум причинам. Во-первых, потому что человек специализирующийся на аудите посоветовал именно OneShot, а во-вторых, только она поддерживает атаку без перевода сетевой карты в режим монитора. Да и к тому же в данный срипт уже встроен сканер, показывающий только активные сети с включённым WPS’ом, а значит, теоретически уязвимым.
Шаг 3. Заходим в каталог с прогой.
Шаг 4. И запускаем сканирование. Практически сразу появится список из сетей, обнаруженных в зоне видимости. Точки, которые 100% небезопасны, данная прога помечает зелёным. Остальные же – надо тестить. Вводим номер.
Шаг 5. И ждём окончания процедуры проверки.
На самом деле, далеко не все устройства сегодня имеют подобную уязвимость. Если быть точнее, их процентов 5. Ну край 10. И то, только потому что в большинстве своём админы на предприятиях РФ не особо заморачиваются с безопасностью. Крайне редко обновляет прошивки, а уж о покупке новых маршрутизаторов задумываются только когда сгорает старый.
Вот и работают местами ещё старички, выпущенные до 14 года, да на старых прошивках. И тем не менее, панацея всё-таки есть. Независимо от года выпуска, рубим WPS у себя дома, на работе и дело в шляпе.
Но прежде, чем это делать, обязательно протестируйте свой роутер и напишите в комментах, выдержал ли он атаку OneShot’ом или сдался на первых 5 минутах? Думаю, всем будет интересно, сколько нас ещё работает на олдскульном железе.
На этом наш сегодняшний урок подходит к концу. Надеюсь, вы узнали для себя что-то новое. По возможности поддержите проект рублём. Ведь даже закинув 100-200 рублей вы ускорите выход новых роликов в несколько раз. Ссылочка на донаты будет в описании.
Ну а если вам просто нравится подобный контент, и вы впервые забрели на канал, то обязательно клацните колокольчик и в вашей ленте будут регулярно появляться крутые видосики на тему взломов, информационной безопасности и пентестига.
На сим всё. С вами был Денис Курец. Удачи, успеха. Безопасного сёрфинга. Берегите себя и свои сети. Защищайте Wi-Fi. И самое главное, не перекладывайте вопрос безопасности на других. Возьми ответственность в свои руки и будет вам счастье. До новых встреч, братцы. Всем пока.
Источник