Kerbrute: разведка Active Directory через Kerberos

Kerbrute: разведка Active Directory через Kerberos

Если вы работаете с инфраструктурой 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 уже может это знать.

kerbrute kerberos Active Directory перебор логинов kerberoasting аудит безопасности информационная безопасность pentest
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Реальные атаки. Эффективные решения. Практический опыт.

Standoff Defend* — это онлайн-полигон, где ты сможешь испытать себя. Попробуй себя в расследовании инцидентов и поборись за победу в конкурсе

*Защищать. Реклама. АО «Позитив Текнолоджиз», ИНН 7718668887

Юрий Кочетов

Здесь я делюсь своими не самыми полезными, но крайне забавными мыслями о том, как устроен этот мир. Если вы устали от скучных советов и правильных решений, то вам точно сюда.