Если вы работаете с инфраструктурой Active Directory или занимаетесь её тестированием, то знаете, что Kerberos — это сердце всей аутентификации в AD. А где сердце, там и потенциальная точка атаки. Kerbrute — это лёгкий, быстрый и точный инструмент для проведения разведки и атак на Kerberos-аутентификацию. Он позволяет искать действующие логины, тестировать пароли и выполнять Kerberoasting-атаки без необходимости быть доменным пользователем.
Разработка ведётся исследователем под ником ropnop . В отличие от тяжеловесных фреймворков, Kerbrute — это узкозаточенный инструмент, который делает своё дело очень быстро и без лишнего шума.
Что умеет Kerbrute
Kerbrute в первую очередь предназначен для:
- Перебора логинов в домене — без блокировки учётных записей;
- Перебора паролей (Spray) для логинов — на Kerberos уровне;
- Kerberoasting — получение TGS-билетов для сервисных учётных записей с флагом SPN.
Он работает без необходимости полного входа в домен — это особенно ценно на этапе первичной разведки.
Как работает перебор логинов
Kerberos по своей природе «болтлив». Даже если учётная запись невалидна, сервер ответит об этом напрямую. Kerbrute этим и пользуется: он отправляет AS-REQ запросы для списка логинов и анализирует ответы:
- Если логин существует — сервер ответит ошибкой PREAUTH_REQUIRED (это хорошо);
- Если логин не существует — вернётся KDC_ERR_C_PRINCIPAL_UNKNOWN.
Это позволяет точно и быстро находить валидные имена пользователей в домене — без паролей, без блокировок, без шума в логах входа.
Как это выглядит на практике
Синтаксис:
kerbrute userenum -d domain.local usernames.txt
Дополнительные параметры:
-k
— использовать Kerberos вместо DNS для разрешения домена;--dc
— указать конкретный контроллер домена;-o
— сохранить результаты в файл.
Пример перебора логинов:
kerbrute userenum -d corp.local usernames.txt --dc 192.168.1.10
Пример password spraying:
kerbrute passwordspray -d corp.local -u users.txt -p "Welcome123!" --dc 192.168.1.10
Kerberoasting и TGS
Kerbrute также может использоваться для получения TGS-билетов сервисных учётных записей с включённым Service Principal Name (SPN). Эти билеты можно потом обработать через kerberoast или hashcat для оффлайн-взлома.
Для этого потребуется валидная учётка. Kerbrute сам Kerberoasting не проводит, но может помочь в подготовке:
kerbrute bruteuser -d corp.local -u user -p password --spn
Установка
Из релизов GitHub:
Загрузите бинарник под нужную платформу: https://github.com/ropnop/kerbrute/releases
Сборка из исходников:
git clone https://github.com/ropnop/kerbrute cd kerbrute go build
Kerbrute написан на Go, что делает его кроссплатформенным и максимально быстрым.
Почему Kerbrute — это не просто «ещё один сканер»
Вот в чём его сила:
- Скорость — до 10 000 попыток в секунду при правильной настройке;
- Незаметность — нет входа в систему, не создаются стандартные логи входа в Windows;
- Отсутствие блокировок — можно тестировать логины без риска заблокировать аккаунты;
- Гибкость — поддержка различных режимов и конфигураций;
- Лёгкость — работает в один бинарник, не требует зависимостей.
Сценарии использования
- Разведка логинов перед password spraying;
- Выявление сервисных учётных записей через SPN;
- Поиск «открытых» TGS для Kerberoasting;
- Проверка домена на возможность AS-REP Roasting;
- Быстрая проверка на неправильные политики блокировки.
Как защититься от Kerbrute
Вы не можете просто запретить AS-REQ — это основа работы Kerberos. Но можно усложнить злоумышленнику жизнь:
- Скрывайте имена пользователей — не используйте предсказуемые шаблоны логинов (user01, admin, test);
- Включите audit логирование Kerberos — особенно события 4768 и 4771 в Windows;
- Настройте мониторинг частоты AS-REQ ошибок — резкие всплески могут указывать на атаку;
- Разграничьте права SPN-учёток — ограничьте их возможности в случае компрометации.
Юридическая сторона вопроса
Kerbrute, как и любой инструмент пентестера, абсолютно легален — если вы используете его в рамках своей инфраструктуры или имеете на это разрешение. Любое использование без согласия — нарушение законодательства, связанное с несанкционированным доступом к информации.
Выводы
Kerbrute — это не просто «ещё один брутфорсер». Это точный, быстрый и эффективный инструмент разведки в AD-средах, построенных на Kerberos. Он позволяет выявить уязвимости ещё до того, как начнётся настоящая атака. В правильных руках — мощное средство оценки безопасности. В чужих — незаметный первый шаг к проникновению.
Проверили ли вы, какие ваши логины видны извне? Kerbrute уже может это знать.