Data/Locales/checks/ru/ADKerberosChecks.json

{
  "_family": "ADKerberosChecks.json",
  "ADKERB-001": {
    "name": { "value": "Учётные записи, уязвимые к Kerberoasting", "status": "machine-draft" },
    "description": { "value": "Учётные записи пользователей, связанные с именами субъектов-служб (SPN), уязвимы к Kerberoasting: любой аутентифицированный пользователь домена может запросить билет службы, зашифрованный хешем пароля учётной записи, и попытаться взломать его в автономном режиме. Эта атака не требует особых привилегий и трудно обнаруживается. Каждая учётная запись пользователя с SPN представляет собой потенциальный вектор раскрытия учётных данных", "status": "machine-draft" },
    "recommendedValue": { "value": "Минимальное число учётных записей пользователей с SPN. Все уязвимые к Kerberoasting учётные записи выявлены, задокументированы с бизнес-обоснованием и защищены паролями длиной 25 символов и более или переведены на gMSA", "status": "machine-draft" },
    "remediationSteps": { "value": "Перечислите уязвимые к Kerberoasting учётные записи с помощью Get-ADUser -Filter {ServicePrincipalName -ne '$null'} -Properties ServicePrincipalName. Для каждой учётной записи: (1) оцените, требуется ли по-прежнему SPN, (2) удалите ненужные SPN, (3) по возможности переведите на групповые управляемые учётные записи служб, (4) для остальных учётных записей убедитесь, что пароли содержат 25 символов и более и регулярно меняются. Отслеживайте запросы TGS Kerberos к конфиденциальным учётным записям через событие Event ID 4769", "status": "machine-draft" }
  },
  "ADKERB-002": {
    "name": { "value": "Уязвимые к Kerberoasting учётные записи со слабым шифрованием", "status": "machine-draft" },
    "description": { "value": "Учётные записи пользователей с SPN, настроенные на использование шифрования RC4 или DES, взламываются с помощью Kerberoasting значительно легче, чем использующие AES. Билеты RC4 (ARCFOUR-HMAC-MD5) можно взломать на порядки быстрее, чем билеты AES, на современном оборудовании GPU. Учётные записи, явно настроенные на слабые типы шифрования или не имеющие ключей AES, представляют собой наиболее приоритетные цели Kerberoasting", "status": "machine-draft" },
    "recommendedValue": { "value": "Все учётные записи с SPN поддерживают шифрование AES256. Ни одна учётная запись не ограничена типами шифрования RC4 или DES. msDS-SupportedEncryptionTypes включает флаги AES на всех учётных записях служб", "status": "machine-draft" },
    "remediationSteps": { "value": "Запросите учётные записи пользователей с SPN и проверьте их атрибут msDS-SupportedEncryptionTypes. Учётные записи со значением 0 (не задано) по умолчанию используют RC4. Учётные записи, имеющие только флаги RC4 (0x4) или DES (0x1, 0x2, 0x3), уязвимы. Смените пароли всех затронутых учётных записей после включения поддержки AES в домене, чтобы сгенерировать ключи AES. Задайте для msDS-SupportedEncryptionTypes включение флагов AES128 (0x8) и AES256 (0x10)", "status": "machine-draft" }
  },
  "ADKERB-003": {
    "name": { "value": "Учётные записи, уязвимые к AS-REP Roasting", "status": "machine-draft" },
    "description": { "value": "Учётные записи с установленным флагом DONT_REQUIRE_PREAUTH позволяют любому пользователю запросить AS-REP, содержащий зашифрованный материал, который можно взломать в автономном режиме без какой-либо предварительной аутентификации. В отличие от Kerberoasting, для AS-REP Roasting в некоторых конфигурациях даже не требуется действующая учётная запись домена, что делает эту технику привлекательной для первоначального доступа для злоумышленников, имеющих лишь сетевой доступ к контроллеру домена", "status": "machine-draft" },
    "recommendedValue": { "value": "Нет учётных записей с установленным флагом «Не требовать предварительную проверку подлинности Kerberos». Ноль учётных записей, уязвимых к AS-REP Roasting", "status": "machine-draft" },
    "remediationSteps": { "value": "Выявите учётные записи с помощью Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true -and Enabled -eq $true}. Включите предварительную проверку подлинности Kerberos на всех учётных записях. В современных средах редко существует законная причина отключать предварительную проверку подлинности. Смените пароли всех ранее уязвимых учётных записей, так как они могли уже быть целью атаки. Отслеживайте событие Event ID 4768 с типом предварительной проверки подлинности 0", "status": "machine-draft" }
  },
  "ADKERB-004": {
    "name": { "value": "Неограниченное делегирование, компьютеры", "status": "machine-draft" },
    "description": { "value": "Учётные записи компьютеров с неограниченным делегированием (TrustedForDelegation) кэшируют TGT любого пользователя, который проходит на них аутентификацию. Если злоумышленник компрометирует такую машину, он может извлечь кэшированные TGT и выдать себя за любого пользователя, включая Domain Admins. В сочетании с атакой принуждения SpoolSample или PrinterBug злоумышленник может заставить контроллер домена пройти аутентификацию и перехватить его TGT, что приводит к полной компрометации домена", "status": "machine-draft" },
    "recommendedValue": { "value": "Нет учётных записей компьютеров с неограниченным делегированием, за исключением контроллеров домена (которым оно требуется по своей природе). Всё остальное делегирование переведено на ограниченное или ограниченное делегирование на основе ресурсов", "status": "machine-draft" },
    "remediationSteps": { "value": "Выявите компьютеры с неограниченным делегированием с помощью Get-ADComputer -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation. Исключите из результатов контроллеры домена. Для остальных компьютеров перейдите на ограниченное делегирование, определив конкретные службы, которым им нужно делегировать, затем настройте msDS-AllowedToDelegateTo. Добавьте конфиденциальные учётные записи в группу Protected Users, чтобы предотвратить кэширование их TGT. Пометьте учётные записи высокой ценности как «Учётная запись важна и не может быть делегирована»", "status": "machine-draft" }
  },
  "ADKERB-005": {
    "name": { "value": "Неограниченное делегирование, пользователи", "status": "machine-draft" },
    "description": { "value": "Учётные записи пользователей с неограниченным делегированием ещё опаснее, чем учётные записи компьютеров с той же настройкой, поскольку учётные записи пользователей легче скомпрометировать путём кражи учётных данных, фишинга или атак на пароли. Любая служба, работающая под учётной записью пользователя с неограниченным делегированием, может выдавать себя за любого пользователя, который проходит на ней аутентификацию, что даёт прямой путь к компрометации домена", "status": "machine-draft" },
    "recommendedValue": { "value": "Нет учётных записей пользователей с неограниченным делегированием. Всё делегирование учётных записей пользователей переведено на ограниченное или ограниченное делегирование на основе ресурсов", "status": "machine-draft" },
    "remediationSteps": { "value": "Выявите пользователей с неограниченным делегированием с помощью Get-ADUser -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation. Для учётных записей пользователей это почти никогда не является законной конфигурацией. Снимите флаг неограниченного делегирования и настройте ограниченное делегирование к конкретным службам, если делегирование требуется. Немедленно смените пароль учётной записи, так как она могла стать целью атаки", "status": "machine-draft" }
  },
  "ADKERB-006": {
    "name": { "value": "Анализ ограниченного делегирования", "status": "machine-draft" },
    "description": { "value": "Ограниченное делегирование ограничивает службы, которым учётная запись может делегировать, через атрибут msDS-AllowedToDelegateTo, но неверная настройка всё же может позволить повышение привилегий. Делегирование к службам LDAP, CIFS или HOST на контроллерах домена может быть использовано для проведения атак DCSync, доступа к файловым ресурсам контроллера домена или выполнения команд от имени делегированного пользователя. Каждую запись ограниченного делегирования следует проверять на предмет влияния на безопасность", "status": "machine-draft" },
    "recommendedValue": { "value": "Все записи ограниченного делегирования задокументированы с бизнес-обоснованием. Нет делегирования к конфиденциальным службам (LDAP, CIFS, HOST, WSMAN) на контроллерах домена", "status": "machine-draft" },
    "remediationSteps": { "value": "Перечислите ограниченное делегирование с помощью Get-ADObject -Filter {msDS-AllowedToDelegateTo -ne '$null'} -Properties msDS-AllowedToDelegateTo. Проверьте каждую цель делегирования. Отметьте любое делегирование к службам контроллера домена (особенно LDAP, CIFS, HOST, HTTP, WSMAN) как имеющее высокий риск. Удалите ненужные записи делегирования и задокументируйте законные с бизнес-обоснованием. Рассмотрите переход на ограниченное делегирование на основе ресурсов для повышения безопасности", "status": "machine-draft" }
  },
  "ADKERB-007": {
    "name": { "value": "Ограниченное делегирование на основе ресурсов", "status": "machine-draft" },
    "description": { "value": "Ограниченное делегирование на основе ресурсов (RBCD) позволяет целевому ресурсу управлять тем, какие учётные записи могут ему делегировать, через атрибут msDS-AllowedToActOnBehalfOfOtherIdentity. Хотя по своей конструкции оно безопаснее традиционного ограниченного делегирования, RBCD может быть использовано во вред, если злоумышленник получает доступ на запись к объекту компьютера для настройки несанкционированных путей делегирования. Это распространённая техника постэксплуатации", "status": "machine-draft" },
    "recommendedValue": { "value": "Все конфигурации RBCD задокументированы и проверены. Нет несанкционированных записей в msDS-AllowedToActOnBehalfOfOtherIdentity. Доступ на запись к объектам компьютеров ограничен только уполномоченными администраторами", "status": "machine-draft" },
    "remediationSteps": { "value": "Перечислите конфигурации RBCD с помощью Get-ADComputer -Filter {msDS-AllowedToActOnBehalfOfOtherIdentity -ne '$null'} -Properties msDS-AllowedToActOnBehalfOfOtherIdentity. Проверьте каждую запись на предмет бизнес-обоснования. Проверьте, кто имеет доступ на запись к объектам компьютеров в AD, чтобы выявить потенциальные пути злоупотребления RBCD. Удалите несанкционированные записи RBCD. Внедрите мониторинг изменений атрибута msDS-AllowedToActOnBehalfOfOtherIdentity", "status": "machine-draft" }
  },
  "ADKERB-008": {
    "name": { "value": "Пути злоупотребления переходом протокола", "status": "machine-draft" },
    "description": { "value": "Учётные записи, настроенные для ограниченного делегирования с переходом протокола (флаг TrustedToAuthForDelegation / T2A4D), могут получать билеты службы от имени любого пользователя без того, чтобы этот пользователь фактически проходил аутентификацию через Kerberos. Эта возможность S4U2Self позволяет учётной записи выдавать себя за любого пользователя перед службами, которым ей разрешено делегировать, что делает её мощным вектором повышения привилегий в сочетании с делегированием к конфиденциальным службам", "status": "machine-draft" },
    "recommendedValue": { "value": "Переход протокола (TrustedToAuthForDelegation) отключён на всех учётных записях, если он не требуется явно и не задокументирован. Нет учётных записей с переходом протокола, способных делегировать к службам контроллера домена", "status": "machine-draft" },
    "remediationSteps": { "value": "Выявите учётные записи с переходом протокола с помощью Get-ADObject -Filter {TrustedToAuthForDelegation -eq $true} -Properties TrustedToAuthForDelegation,msDS-AllowedToDelegateTo. Для каждой учётной записи оцените, действительно ли требуется переход протокола (необходим только когда первоначальная аутентификация не использует Kerberos). Отключите переход протокола там, где он не нужен. Для остальных учётных записей строго ограничьте цели делегирования и убедитесь, что ни одна служба контроллера домена не входит в область действия", "status": "machine-draft" }
  },
  "ADKERB-009": {
    "name": { "value": "Типы шифрования Kerberos", "status": "machine-draft" },
    "description": { "value": "Типы шифрования Kerberos определяют надёжность шифрования билетов. DES и RC4 (ARCFOUR-HMAC-MD5) криптографически слабы, и их следует отключить в пользу AES128 и AES256. RC4, в частности, является целью атак Kerberoasting, поскольку взламывается значительно быстрее, чем билеты, зашифрованные AES. Принудительное применение только AES-шифрования существенно повышает сложность автономных атак на учётные данные", "status": "machine-draft" },
    "recommendedValue": { "value": "AES256_HMAC_SHA1 и AES128_HMAC_SHA1 как единственные поддерживаемые типы шифрования. DES и RC4 отключены через групповую политику и функциональный уровень домена", "status": "machine-draft" },
    "remediationSteps": { "value": "Настройте через групповую политику: Конфигурация компьютера > Политики > Конфигурация Windows > Параметры безопасности > Локальные политики > Параметры безопасности > «Сетевая безопасность: настройка типов шифрования, разрешённых для Kerberos» = AES128_HMAC_SHA1, AES256_HMAC_SHA1, Будущие типы шифрования. Проверьте учётные записи по msDS-SupportedEncryptionTypes, чтобы выявить ограниченные RC4. Убедитесь, что все учётные записи служб имеют сгенерированные ключи AES, сменив пароли после включения поддержки AES на уровне домена", "status": "machine-draft" }
  },
  "ADKERB-010": {
    "name": { "value": "Срок действия билетов Kerberos", "status": "machine-draft" },
    "description": { "value": "Срок действия билетов Kerberos определяет, как долго билеты аутентификации остаются действительными. Чрезмерно длительный срок действия TGT или билетов службы расширяет окно, в течение которого украденные билеты могут использоваться для атак pass-the-ticket. Стандартный срок действия TGT в 10 часов и максимальное продление в 7 дней следует пересмотреть, чтобы сбалансировать безопасность и эксплуатационные требования", "status": "machine-draft" },
    "recommendedValue": { "value": "Максимальный срок действия TGT: от 4 до 10 часов. Максимальный срок действия билета службы: 600 минут. Максимальное продление билета: 7 дней. Максимальное расхождение часов: 5 минут", "status": "machine-draft" },
    "remediationSteps": { "value": "Настройте политику Kerberos в политике домена по умолчанию: Конфигурация компьютера > Политики > Конфигурация Windows > Параметры безопасности > Политики учётных записей > Политика Kerberos. Задайте максимальный срок жизни билета службы (600 минут), максимальный срок жизни билета пользователя (10 часов или менее) и максимальный срок продления билета пользователя (7 дней). Для учётных записей Tier 0 добавьте их в группу Protected Users, которая автоматически применяет срок действия TGT в 4 часа", "status": "machine-draft" }
  },
  "ADKERB-011": {
    "name": { "value": "Аудит SPN компьютеров", "status": "machine-draft" },
    "description": { "value": "Имена субъектов-служб на учётных записях компьютеров определяют службы, зарегистрированные для работы на каждой машине. Дублирующиеся SPN вызывают сбои аутентификации Kerberos, а несанкционированные SPN могут указывать на нежелательные службы или скомпрометированные машины. Чистая конфигурация SPN необходима для корректной работы Kerberos и поддержания точной инвентаризации служб", "status": "machine-draft" },
    "recommendedValue": { "value": "Нет дублирующихся SPN в домене. Все SPN на учётных записях компьютеров соответствуют законным, задокументированным службам", "status": "machine-draft" },
    "remediationSteps": { "value": "Найдите дублирующиеся SPN с помощью setspn -X в лесу или запросов Get-ADObject. Удалите или переназначьте дублирующиеся SPN соответствующим учётным записям. Проверьте SPN на объектах компьютеров, чтобы выявить любые несанкционированные или неожиданные службы. Используйте setspn -L <имякомпьютера> для вывода списка SPN по компьютеру. Задокументируйте все нестандартные SPN с их бизнес-назначением", "status": "machine-draft" }
  }
}