Kerberos и атака Kerberoasting
Взлом билетов служебных учётных записей
«Kerberos и атака Kerberoasting» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Kerberos на одной схеме
Kerberos — протокол аутентификации на основе билетов. Вместо отправки паролей клиенты предъявляют криптографические билеты, выданные Центром распределения ключей (KDC), работающим на каждом контроллере домена.
- Сервер аутентификации (AS) выдает билет для выдачи билетов (TGT).
- Сервер выдачи билетов (TGS) выдает билеты служб.
- Службы проверяют билеты без обращения к DC.
Три обмена сообщениями
Kerberos использует три обмена сообщениями. Понимание их устройства помогает определить, где применяются атаки.
- AS-REQ / AS-REP: клиент подтверждает личность (предварительная аутентификация) и получает TGT, зашифрованный ключом krbtgt.
- TGS-REQ / TGS-REP: клиент предъявляет TGT, чтобы запросить билет службы (TGS).
- AP-REQ / AP-REP: клиент предъявляет TGS службе.
Подбор паролей по AS-REP атакует первый обмен, а подбор паролей по билетам Kerberos — второй.
Имена субъектов-служб
Имя субъекта-службы (SPN) сопоставляет экземпляр службы с учетной записью, от имени которой она работает. При запросе TGS для SPN полученный билет частично шифруется хешем пароля учетной записи службы.
В этом и состоит суть подбора паролей по билетам Kerberos: любой аутентифицированный пользователь может запросить билеты для служебных учетных записей, а затем подобрать их содержимое автономно и восстановить пароль в открытом виде.
# Find accounts with SPNs set
Get-DomainUser -SPN | select samaccountname,serviceprincipalnameПорядок подбора паролей по билетам Kerberos
Подбор паролей по билетам Kerberos малозаметен, поскольку запрос TGS является обычным действием. Этапы атаки:
- Перечислите учетные записи пользователей с SPN.
- Запросите билеты TGS для этих SPN.
- Извлеките зашифрованные блоки билетов.
- Подберите их автономно с помощью словаря; во время подбора взаимодействие с DC не требуется.
# Rubeus: request and dump kerberoastable hashes
Rubeus.exe kerberoast /outfile:hashes.txt
# Impacket from Linux
GetUserSPNs.py domain/user:pass -dc-ip 10.0.0.10 -requestПодбор паролей по билетам
Захваченный билет использует пароль учетной записи службы в качестве ключа. Автономный подбор перебирает возможные пароли, пока один из них не расшифрует билет правильно.
Служебные учетные записи часто имеют слабые пароли, которые никогда не меняются, поэтому их удается быстро подобрать.
# Hashcat mode 13100 = Kerberos 5 TGS-REP etype 23 (RC4)
hashcat -m 13100 hashes.txt rockyou.txt
# etype 18 (AES256) uses mode 19700
hashcat -m 19700 hashes_aes.txt rockyou.txtВажность типов шифрования
Используемый для билета алгоритм шифрования влияет на скорость подбора.
- RC4 (тип 23) быстро поддается подбору и является тревожным признаком, если все еще разрешен.
- AES (типы 17/18) значительно медленнее поддается перебору.
- Атакующие могут понизить тип шифрования запросов до RC4 с помощью
/tgtdelegили злоупотребляя параметромmsDS-SupportedEncryptionTypes.
Защитникам следует отключить RC4 во всем домене и принудительно использовать AES.
Подбор паролей по AS-REP
Связанная атака нацелена на учетные записи с отключенной предварительной аутентификацией Kerberos (DONT_REQ_PREAUTH). Без предварительной аутентификации ответ AS-REP содержит данные, зашифрованные хешем пароля пользователя, которые можно получить без каких-либо учетных данных.
# Rubeus AS-REP roast
Rubeus.exe asreproast /format:hashcat /outfile:asrep.txt
# Hashcat mode 18200
hashcat -m 18200 asrep.txt rockyou.txtПочему это так часто работает
Подбор паролей по билетам Kerberos успешен из-за структурных слабостей, а не из-за недостатков протокола.
- Любой аутентифицированный субъект по замыслу протокола может запросить любой билет службы.
- Служебные учетные записи часто один раз создают со слабым паролем и больше его не меняют.
- Многие работают с высокими привилегиями (например, служебные учетные записи SQL входят в группу администраторов домена).
- Подбор полностью выполняется автономно, поэтому блокировка учетной записи никогда не срабатывает.
Стратегии обнаружения
Защитники могут обнаружить такие атаки по данным телеметрии запросов TGS.
- Отслеживайте событие
4769для запросов билетов RC4 (0x17), особенно при всплесках запросов от одной учетной записи. - Настройте оповещение, если один субъект быстро запрашивает множество разных SPN.
- Разверните приманочные учетные записи с SPN, которые не использует ни одна легитимная служба; любой запрос к ним является вредоносным.
Усиление защиты служебных учетных записей
Надежное решение — устранить условия, из-за которых билеты можно подобрать.
- Используйте групповые управляемые служебные учетные записи (gMSA) с паролями длиной не менее 120 символов, которые автоматически меняются.
- Для остальных классических служебных учетных записей установите длинные сложные пароли.
- Отключите RC4; требуйте использования типов шифрования AES.
- Удалите ненужные SPN и ограничьте учетные записи минимально необходимыми привилегиями.
Этичное проведение тестирования
Во время санкционированного тестирования взламывайте билеты в изолированной среде и никогда не выводите учетные данные в открытом виде за пределы области работ. Сообщайте, какие учетные записи удалось взломать и за какое время, чтобы клиент мог определить приоритет миграции на gMSA.
Считайте взломанные пароли конфиденциальными данными: храните их в зашифрованном виде и удаляйте после подготовки отчета.
Быстрая проверка
Проверьте, насколько хорошо Вы понимаете механизм керберостинга.
Итоги
Вы узнали, как Kerberos выдает билеты и как используется этот механизм.
- Билеты SPN шифруются хешами учетных записей служб, что позволяет взламывать их автономно.
- Билеты RC4 взламываются быстро; защитой служат AES и gMSA.
- Для атаки AS-REP не нужны учетные данные, если предварительная аутентификация отключена.
- SPN-ловушки и мониторинг билетов RC4 по событию 4769 позволяют обнаружить атаку.
Далее мы рассмотрим повторное использование украденных учетных данных с помощью передачи хеша и передачи билета.
Часто задаваемые вопросы
Урок «Kerberos и атака Kerberoasting» бесплатный?
Да — полный текст урока «Kerberos и атака Kerberoasting» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Kerberos и атака Kerberoasting»?
Взлом билетов служебных учётных записей Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Kerberos и атака Kerberoasting»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Поверхность атаки Active Directory
- Kerberos и атака Kerberoasting
- Pass-the-Hash и Pass-the-Ticket
- Повышение привилегий и захват домена