Защита от AS-REP Roasting: включение предварительной аутентификации Kerberos
В чем заключается опасность атаки AS-REP Roasting
Атака AS-REP Roasting позволяет злоумышленнику запросить тикет KRB_AS_REP у контроллера домена для любой учетной записи, у которой отключена предварительная аутентификация Kerberos (флаг DONT_REQ_PREAUTH), без знания пароля учетной записи. Полученный зашифрованный тикет затем взламывается офлайн с помощью Hashcat / John the Ripper.
| Параметр безопасности | Уязвимое состояние | Безопасное состояние |
|---|---|---|
| Флаг UserAccountControl | DONT_REQ_PREAUTH (0x400000) включен | Флаг отсутствует (Pre-Auth включен) |
| Аудит запросов Kerberos AS | Событие Event ID 4768 без предварительной проверки (Pre-Auth Type: 0) | Pre-Auth Type: 15 / 19 (PA-ENC-TIMESTAMP) |
| Риск компрометации | Мгновенный офлайн перебор пароля пользователя | Перебор невозможен без предварительного хэша |
Пошаговое обнаружение и закрытие уязвимости AS-REP Roasting
- Найдите все уязвимые учетные записи в Active Directory через PowerShell:
# Поиск всех пользователей с отключенной предварительной аутентификацией Kerberos:
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $True} -Properties DoesNotRequirePreAuth, PasswordLastSet, Enabled, MemberOf | Select-Object Name, SamAccountName, Enabled, PasswordLastSet, MemberOf | Format-Table -AutoSize- Принудительно включите требование предварительной аутентификации для всех найденных пользователей:
# Включение требования предварительной аутентификации Kerberos (Pre-Authentication):
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $True} | Set-ADAccountControl -DoesNotRequirePreAuth $False- Настройте аудит событий выдачи тикетов TGT (Event ID 4768):
# Включение аудита службы проверки подлинности Kerberos:
auditpol /set /subcategory:"Kerberos Authentication Service" /success:enable /failure:enableВнимание: Если сторонняя устаревшая система (старый Linux/Unix демон) требует отключения Pre-Auth для работы, замените пароль этой учетной записи на сложный случайный пароль длиной не менее 30+ символов, который невозможно подобрать перебором.
Частые вопросы (FAQ)
Почему администраторы отключают предварительную аутентификацию Kerberos?
Обычно это делалось в прошлом для интеграции со старыми версиями Unix/Linux или специфическими приложениями, не поддерживающими стандарт Kerberos Pre-Authentication.
Нужны ли права администратора домена, чтобы провести атаку AS-REP Roasting?
Нет. Любой рядовой пользователь домена или злоумышленник с доступом к сети может отправить запрос AS-REQ на DC и получить зашифрованный ответ AS-REP для уязвимого аккаунта.
Какой код события регистрируется в журнале Security при попытке атаки?
Событие Event ID 4768 (Запрошен билет проверки подлинности Kerberos TGT) со значением Pre-Authentication Type = 0.
Как защитить сервисные учетные записи от подобных атак?
Переводите сервисы на групповые управляемые учетные записи gMSA (Group Managed Service Accounts) с автоматической сменой 128-битных паролей.