You are here: Home » Беспроводные атаки » Bully

Bully

Описание Bully

Bully – это реализация атаки брут-фрса WPS, написанная на C. Её концепция идентична другим программам, которые эксплуатируют уязвимость WPS спецификации. У программы есть несколько улучшений по сравнению с оригинальным кодом reaver. Сюда относятся меньше зависимостей, улучшенная производительность памяти и ЦПУ, корректная обработка порядка байт и большее количество опций. Программа работает на Linux и была специально созданной для работы на встроенных системах Linux (OpenWrt и т.д.) независимо от архитектуры.

Bully обеспечивает ряд усовершенствований в обнаружении и обработке аномальных сценариев. С большим успехом она была протестирована на точках доступа ряда производителей с различными настройками.

В настоящее время оригинальные страницы с кодом Bully удалены. Ниже представлена ссылка на мод и на инструкцию по его установке. Данный мод поддерживает PixieWPS. Вы уже должны иметь установленный пакет Wiire's Pixiewps перед установкой мода.

Домашняя страница: https://github.com/aanarchyy/bully (ссылка на сайт мода, оригинальная страница недоступна)

Автор: Brian Purcell

Лицензия: GPLv2

Справка по Bully

использование:

bully <опции> интерфейс
  Требуемые аргументы:

      interface      : Беспроводной интерфейс в режиме монитора (требуется root)

      -b, --bssid macaddr    : MAC адрес целевой точки доступа
   Или
      -e, --essid строка     : Расширенный SSID для точки доступа

  Опциональные аргументы:

      -c, --channel N[,N...] : Номер канала ТД или список по которому прыгать [b/g]
      -i, --index N          : Начальный индекс пина (7 или 8 символов)  [Auto]
      -l, --lockwait N       : Секунд для ожидания если ТД заблокировала WPS   [43]
      -o, --outfile file     : Файл для вывода сообщений          [stdout]
      -p, --pin N            : Начальный номер пина (7 или 8 цифр) [Auto]
      -s, --source macaddr   : Исходный (железный) MAC адрес      [Probe]
      -v, --verbosity N      : Уровень вербальности 1-4, 1 – самый тихий     [3]
      -w, --workdir path     : Расположение файлов пина/сессии  [~/.bully/]
      -5, --5ghz             : Прыгать по 5GHz a/n дефолтному списку каналов  [No]
      -B, --bruteforce       : Брут-форсить контрольную сумму числа WPS пина [No]
      -F, --force            : Принудительно продолжать несмотря на предупреждения   [No]
      -S, --sequential       : Последовательные пины (не рандомизировать)    [No]
      -T, --test             : Режим тестирования (не впрыскивать какие-либо пакеты) [No]

  Продвинутые опции:

      -d, --pixiewps         : Пытаться использовать pixiewps               [No]
      -a, --acktime N        : Устаревшая/игнорируемая                  [Auto]
      -r, --retries N        : Повторная отправка пакетов N раз когда не acked  [2]
      -m, --m13time N        : Устаревшая/игнорируемая                  [Auto]
      -t, --timeout N        : Устаревшая/игнорируемая                  [Auto]
      -1, --pin1delay M,N    : Задержка M секунд кажды N nack в M5 [0,1]
      -2, --pin2delay M,N    : Задержка M секунд каждый N nack в M7 [5,1]
      -A, --noacks           : Отключить проверку ACK для отправляемых пакетов    [No]
      -C, --nocheck          : Пропустить валидацию CRC/FCS (производительность) [No]
      -D, --detectlock       : Выявить WPS блокировки, о которых не сообщает ТД  [No]
      -E, --eapfail          : EAP FAIL после каждой отправки  [No]
      -L, --lockignore       : Игнорировать WPS блокировки о которых сообщает ТД   [No]
      -M, --m57nack          : M5/M7 таймаут рассматриваемый как WSC_NACK's  [No]
      -N, --nofcs            : Пакеты не содержат поле FCS [Auto]
      -P, --probe            : Использовать запросы зондирования для ТД не отправляющих маяки [No]
      -R, --radiotap         : Предполагать, что заголовки radiotap присутствуют [Auto]
      -W, --windows7         : Делать вид, что регистрируется Windows 7    [No]
      -Z, --suppress         : Подавлять алгоритм тротинга пакетов  [No]
      -V, --version          : Напечатать версию и выйти
      -h, --help             : Напечатать эту справку

Руководство по Bully

Страница man отсутствует.

Описание аргументов

-c, --channel N[,N…]

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

-l, --lockwait N

Число секунд для ожидания, когда ТД запирает WPS. Большинство ТД запирают на 5 минут, поэтому значение по умолчанию 43 секунды. Это приведёт к тому, что bully спит 7 раз во время периода блокировки, что в общей сложности даст 301 секунду.

-p, --pin N

Это начальный номер пина (при последовательном переборе) или индекс начального номера пина (при случайном переборе). Обычно это делается для вас автоматически, например, при обрыве сессии, она будет возобновлена после последнего успешно протестированного пина.

-s, --source macaddr

Встраиваемый в отправляемые к ТД пакеты MAC адрес источника. Не все беспроводные карты могут использоваться для спуфинга MAC адреса источника подобным образом, но опция приведена для чипсетов, которые позволяют это. Если не указано, беспроводной интерфейс зондируется для получения MAC

-v, --verbosity N

Уровень вербальности. 1 – это самый тихий, отображающий только информацию о неразрешимых ошибках. Уровень 3 отображает большинство информации и он больше всего подходит для определения, что именно происходит во время сессии.

-w, --workdir

Рабочая директория, где хранятся файлы рандомизированных пинов и сессий. Файлы сессий создаются в этой директории основываясь на BSSID точки доступа. Создаётся только один набор рандомизированных пинов, и он используется для всех сессий. Если вы хотите повторно сгенерировать файл пинов, просто удалите его из этой директории; однако незавершённые запуски, которые использовали удалённый файл, не могут быть снова запущены. Директория по умолчанию ~/.bully/

-5, --5ghz

Использовать каналы 5 GHz (a/n) вместо каналов 2.54 GHz (b/g). Не тестировалось.

-F, --fixed

Не рекомендуется. Правильный способ сделать это – указать один канал используя --channel.

-S, --sequential

По умолчанию, пины рандомизируются. Эта опция позволяет тестировать пины последовательно.

-T, --test

Решим тестирования. Пакеты не впрыскиваются. Можно использовать для валидации аргументов, проверки, видна ли точка доступа и включён ли WPS, сгенерировать файл рандомизированных пинов или создать файл сессии для точки доступа.

-a, --acktime N

Это период таймаута, используемый при ожидании подтверждения для отправки пакетов, а также используемые как величина таймаута pcap. По умолчанию это 25 миллисекунды. Увеличьте это значение на каналах с высоким трафиком или если вы видите сообщения "sent packet not acknowledged".

-r, --retries N

Сколько раз мы будем повторно отправлять пакеты, когда они не подтверждаются? По умолчанию это 3. Идея заключается в том, чтобы сделать всё возможное, чтобы обеспечить принятие каждого пакета, который мы отправляем, точкой доступа, а не иметь сбой транзакций и перезапуск из-за пропущенных пакетов.

-m, --m13time N

Период таймаута для первого маяка от ТД и WPS сообщений M1 и M3. По умолчанию это 2000 миллисекунд.

Это сравнительно долгий период, порядка в 100 раз длиннее, чем период подтверждения, поскольку эти сообщения связаны с обширными вычислениями на ТД. Увеличьте эту величину для более медленных (или более занятых) точек доступа.

-t, --timeout N

Стандартный период таймаута для всех остальных типов пакетов (аутентификации, ассоциации, запроса идентификации M5 и M7). По умолчанию это 200 миллисекунд. Увеличьте на занятых каналах/ТД.

-1, --pin1delay M[,N]

Задержка M секунд для каждого N-ного NACK в M5. По умолчанию это 0,1 (без задержки). Некоторые точки доступа перегружаются слишком большим количеством успешных WPS транзакций и могут даже вылететь, если мы немного не сбавим обороты. Это период задержки для использования во время первой половины пина.

-2, --pin2delay M[,N]

Задержка M секунд для каждого N-ного NACK в M7. По умолчанию это 0,1 (без задержки). Некоторые точки доступа с лёгкостью работают с транзакциями через M4, но только падают на слишком большом количестве успешных сообщениях M6.

Это период задержки для использования во время второй половины пина.

-A, --noacks

Отключить процесс подтверждения для всех отправляемых пакетов. Полезно, если вы уверены, что ТД получает пакеты даже если bully не может видеть подтверждения. Вам может это понадобиться для USB wifi адаптера, который обрабатывает подтверждения перед тем, как их видит libpcap.

-C, --nocheck

Отключить обработку последовательно проверки фреймов. Мы можем повысить производительность, сделав несколько сомнительное предположение, что все пакеты, которые мы получаем, являются валидными. Смотрите также --nofcs ниже.

-D, --detectlock

Определённые точки доступа не показывают, что они имеют заблокированный WPS в их маячковых тэгах IE, но в общей сложности игнорируют все WPS транзакции за период времени. С этой опцией мы можем определить состояние и сон для --lockdelay секунд перед возобновлением. В интересах оставаться не выявленными, нет никакого смысла вещать в эфир 5 минут, не получая сообщения EAP START.

-E, --eapfail

Отправлять EAP FAIL сообщения после каждой транзакции. Некоторые ТД запутываются, если не видят их.

-L, --lockignore

Игнорировать состояние блокировки WPS о котором сообщают информационные элементы в маячках (не спать).

-M, --m57nack

Относиться к таймаутам M5 и M7 как NACK для тех точек доступа, которые не отправляют их, а вместо этого обрывают транзакцию. При использовании этой опции вы, вероятно, захотите увеличить значение --timeout, чтобы bully не принял некорректный пин за корректный из-за задерживаемого сообщения.

-N, --nofcs

Некоторое беспроводное железо само выполняет работу по проверке и очистке FCS от пакетов. Bully обычно выявляет это и поднастраивается соответствующим образом, вы можете применить эту опцию для форсирования.

-P, --probe

Bully использует маячки для исследования состояния WPS точек доступа. Для ТД без маячков, вместо этого, отправлять прямые зондовые запросы и использовать результат ответов зондирования. Требует --essid.

-R, --radiotap

Предположить, что заголовки radiotap присутствуют в принимаемых пакетах. Это полезно в случаях неверного сообщения или выявления присутствия заголовков radiotap.

-W, --windows7

Притворяться, будто бы пытается зарегистрироваться Windows 7.

-h, --help

Показать справку.

Примеры запуска Bully

Атаковать беспроводную ESSID (-e 6F36E6) с интерфейсом в режиме монитора (wlan0mon):

bully -e 6F36E6 wlan0mon
[!] Bully v1.0-22 - WPS vulnerability assessment utility
[X] Unknown frequency '-113135872' reported by interface wlan0mon
[!] Using '00:1f:33:f3:51:13' for the source MAC address
[+] Datalink type set to '127', radiotap headers present
[+] Scanning for beacon from '6F36E6' on channel 'unknown'
[+] Got beacon for '6F36E6' (9c:d3:6d:b8:ff:56)
[+] Switching interface wlan0mon to channel '8'
[!] Beacon information element indicates WPS is locked
[!] Creating new randomized pin file '/root/.bully/pins'
[+] Index of starting pin number is '0000000'
[+] Last State = 'NoAssoc'   Next pin '54744431'
..........................

Установка Bully

Программа предустановлена в Kali Linux.

Установка мода с поддержкой PixieWPS.

Удалите версию из репозитория.

sudo apt-get -y install build-essential libpcap-dev libssl-dev aircrack-ng pixiewps
git clone https://github.com/aanarchyy/bully.git
cd bully*/
cd src/
make
sudo make install

Установка в BlackArch

Программа предустановлена в BlackArch.

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты Bully

Это утилита командной строки.

Инструкции по Bully

Близкие программы:

Рекомендуемые статьи: