Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Windows Server, AD и Роли

Защита от AS-REP Roasting: включение предварительной аутентификации Kerberos

Обновлено: 28.08.2026 · Официальная документация ↗

В чем заключается опасность атаки AS-REP Roasting

Атака AS-REP Roasting позволяет злоумышленнику запросить тикет KRB_AS_REP у контроллера домена для любой учетной записи, у которой отключена предварительная аутентификация Kerberos (флаг DONT_REQ_PREAUTH), без знания пароля учетной записи. Полученный зашифрованный тикет затем взламывается офлайн с помощью Hashcat / John the Ripper.

Параметр безопасностиУязвимое состояниеБезопасное состояние
Флаг UserAccountControlDONT_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

  1. Найдите все уязвимые учетные записи в 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
  1. Принудительно включите требование предварительной аутентификации для всех найденных пользователей:
# Включение требования предварительной аутентификации Kerberos (Pre-Authentication):
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $True} | Set-ADAccountControl -DoesNotRequirePreAuth $False
  1. Настройте аудит событий выдачи тикетов TGT (Event ID 4768):
# Включение аудита службы проверки подлинности Kerberos:
auditpol /set /subcategory:"Kerberos Authentication Service" /success:enable /failure:enable

Внимание: Если сторонняя устаревшая система (старый Linux/Unix демон) требует отключения Pre-Auth для работы, замените пароль этой учетной записи на сложный случайный пароль длиной не менее 30+ символов, который невозможно подобрать перебором.

💡 Практика специалистов: Регулярно запускайте скрипт поиска DoesNotRequirePreAuth по расписанию. В 100% современных корпоративных сетей флаг DONT_REQ_PREAUTH не требуется ни для одного пользователя и должен быть строго отключен.

Частые вопросы (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-битных паролей.

Полезные материалы
Рекомендуем