BruteLoops
Простая библиотека, предоставляющая базовую логику для
эффективных атак методом перебора паролей на
интерфейсы аутентификации.
Документация
Документация доступна здесь.
Если вы ищете старые примеры модулей...
Смотрите BFG.
Примеры были вынесены в отдельный проект, чтобы
минимизировать проблемы с кодом и упаковкой. Возможности
базы данных и атак также были объединены в одну программу.
Ключевые возможности
- Независимость от протокола – Если на Python можно написать функцию обратного вызова, BruteLoops можно использовать для атаки на него
- Поддержка SQLite – Все имена пользователей, пароли и учётные данные хранятся в базе данных SQLite.
- Вспомогательная утилита (
dbmanager.py), которая создаёт входные базы данных, прилагается к BruteLoops
- Атаки типа Spray и Stuffing в одном инструменте – BruteLoops поддерживает как атаки распылением (spray), так и атаки подстановкой (stuffing) в одной логике атаки и базе данных, что означает, что вы можете настроить одну базу данных и запустить атаку без частой перенастройки и путаницы.
- Планирование перебора – Каждому имени пользователя в базе данных SQLite присваивается временная метка, которая обновляется после каждого события аутентификации. Это позволяет значительно снизить вероятность блокировки учётных записей за счёт точного планирования каждого события аутентификации.
- Тонкая настройка для предотвращения блокировок – Политики блокировки Microsoft можно сопоставить 1:1 с помощью параметров BruteLoops:
auth_threshold = порог блокировки
max_auth_jitter = окно наблюдения блокировки
- Временные метки, связанные с каждым событием аутентификации, отслеживаются в базе данных SQLite BruteLoops. Каждому имени пользователя присваивается отдельная временная метка, чтобы гарантировать высокую контролируемость событий аутентификации.
- Возобновление атаки – Остановка и возобновление атаки возможны без опасений потерять позицию в атаке или заблокировать учётные записи.
- Многопроцессорная обработка – Ускорьте атаки с помощью многопроцессорности! Настроив количество параллельных переборов, вы фактически сообщаете BruteLoops, сколько имён пользователей перебирать параллельно.
- Логирование – Каждое событие аутентификации может быть опционально записано на диск. Эта информация может быть полезна во время red teaming, предоставляя заказчикам подробную временную шкалу атаки, которую можно сопоставить с зарегистрированными событиями.
- Предохранители – Предохранители работают как автоматические выключатели. Исключение может быть вызвано x раз, прежде чем завершить цикл атаки. Они также могут сбрасываться через заданный промежуток времени, что позволяет настроить такие конфигурации, как "Выйти после 6 ошибок ConnectionError".
Зависимости
BruteLoops требует Python3.7 или новее и
SQLAlchemy 1.3.0, последний
можно получить через pip и файл requirements.txt в
этом репозитории: python3.7 -m pip install -r requirements.txt
Установка
git clone https://github.com/arch4ngel/bruteloops
cd bruteloops
python3 -m pip install -r requirements.txt