Bully
Описание Bully
Bully – это реализация атаки брут-фрса WPS, написанная на C. Её концепция идентична другим программам, которые эксплуатируют уязвимость WPS спецификации. У программы есть несколько улучшений по сравнению с оригинальным кодом reaver. Сюда относятся меньше зависимостей, улучшенная производительность памяти и ЦПУ, корректная обработка порядка байт и большее количество опций. Программа работает на Linux и была специально созданной для работы на встроенных системах Linux (OpenWrt и т.д.) независимо от архитектуры.
Bully обеспечивает ряд усовершенствований в обнаружении и обработке аномальных сценариев. С большим успехом она была протестирована на точках доступа ряда производителей с различными настройками.
В настоящее время оригинальные страницы с кодом Bully удалены. Ниже представлена ссылка на мод и на инструкцию по его установке. Данный мод поддерживает PixieWPS. Вы уже должны иметь установленный пакет Wiire's Pixiewps перед установкой мода.
Домашняя страница: https://github.com/aanarchyy/bully (ссылка на сайт мода, оригинальная страница недоступна)
Автор: Brian Purcell
Лицензия: GPLv3
Справка по 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 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
Это утилита командной строки.
Comments are Closed