T1558: Кража или подделка билетов Kerberos

Злоумышленники могут украсть или подделать билеты Kerberos с целью использовать технику Передача билета (Pass the Ticket) для аутентификации средствами Kerberos. Kerberos — это протокол аутентификации, который широко используется в современных доменных средах Windows. В средах Kerberos, называемых "областями" (realm), есть три основных участника процесса аутентификации: клиент, служба и центр распространения ключей. Запросив доступ к службе, клиенты обмениваются с системой билетами Kerberos, предоставленными центром распространения ключей, и в случае успешной аутентификации получают доступ. Центр распространения ключей отвечает за аутентификацию и предоставление билетов. Злоумышленники могут попытаться пройти аутентификацию Kerberos и получить несанкционированный доступ к ресурсам с помощью украденных или поддельных билетов Kerberos.

Для получения списка кэшированных билетов Kerberos и их анализа может использоваться встроенная утилита Windows klist.

В системах Linux, подключенных к доменам Active Directory, учетные данные Kerberos хранятся локально в файле кэша учетных данных, известном как ccache. Как правило, учетные данные хранятся в файле ccache в течение сеанса пользователя. В современных системах Red Hat Enterprise Linux и производных дистрибутивах билеты Kerberos обрабатывает ПО System Security Services Daemon (SSSD). По умолчанию SSSD хранит копию базы данных билетов в файле /var/lib/sss/secrets/secrets.ldb, а ключ от базы — в файле /var/lib/sss/secrets/.secrets.mkey. Для чтения каждого из них требуются root-права. Если у злоумышленников есть доступ к базе данных и ключу, они могут извлечь кэш учетных данных Kerberos и преобразовать его в файл ccache, пригодный для реализации техники Передача билета (Pass the Ticket). Для преобразования файла ccache в поддерживаемый Windows формат могут использоваться такие инструменты, как Kekeo.

В macOS, как и в Linux, билеты Kerberos хранятся в стандартном файле ccache. По умолчанию доступ к файлу ccache предоставляется по протоколу Mach RPC через процесс демона KCM, который принимает решение о доступе на основе окружения вызывающего процесса. Место хранения файла ccache определяется файлом конфигурации /etc/krb5.conf и переменной окружения KRB5CCNAME, которая может указывать на необходимость его сохранения на диск или защиты демоном KCM. Для взаимодействия с хранилищем билетов пользователи могут использовать встроенные бинарные файлы kinit, klist, ktutil и kcc либо нативную библиотеку Kerberos, предоставляемую Apple. Злоумышленники могут использовать инструменты с открытым исходным кодом, чтобы напрямую работать с файлами ccache, или использовать фреймворк Kerberos для вызова низкоуровневых функций API с целью извлечения имеющихся у пользователя TGT-билетов или билетов служб.

Какие продукты Positive Technologies покрывают технику

Экспертиза MaxPatrol SIEM

active_directory_attacks: PT-CR-1203: Abuse_Kerberos_RC4: Возможная эксплуатация уязвимости CVE-2022-33679 в Kerberos. Эта уязвимость позволяет злоумышленникам провести сеанс от имени прошедшего аутентификацию пользователя и выполнить произвольный код на скомпрометированном узле. Таким способом злоумышленники могут получить учетные данные пользователей и горизонтально переместиться на другие узлы инфраструктуры active_directory_attacks: PT-CR-72: TGS_Request_By_Non_Existent_User: Запрос TGS от несуществующего пользователя. Злоумышленники могут подделывать билеты TGS и эксплуатировать Kerberos с целью получить несанкционированный доступ к системе mitre_attck_cred_access: PT-CR-1367: Sessions_Hijacked: Множественные запросы сертификатов для разных пользователей с одного узла

Подтехники

Способы обнаружения

IDDS0026Источник и компонент данныхActive Directory: Запрос учетных данных Active DirectoryОписание

Отслеживайте аномальную деятельность, включив аудит операций с билетами служб Kerberos с целью журналирования запросов на создание билетов служб TGS в Kerberos. Обращайте особое внимание на нетипичную деятельность (например, несколько запросов от одной учетной записи, регистрируемые событиями с ИД 4768 и 4769, за короткий промежуток времени, особенно если от нее исходят запросы на шифрование RC4 [Type 0x17] без требования предварительной аутентификации [Type 0x0]).

IDDS0017Источник и компонент данныхКоманда: Выполнение командОписание

Отслеживайте выполнение команд с аргументами, которые могут использоваться для кражи или подделки билетов Kerberos с целью применения техники Передача билета (Pass the Ticket) для аутентификации средствами Kerberos.

IDDS0028Источник и компонент данныхСеанс входа в систему: Метаданные сеанса входа в системуОписание

Отслеживайте аномальную активность, связанную с Kerberos, такую как искаженные или пустые поля в событиях входа в систему Windows и выхода из нее (события с ИД 4624, 4634 и 4672).

IDDS0022Источник и компонент данныхФайл: Доступ к файлуОписание

Отслеживайте взаимодействие нетипичных процессов с lsass.exe. Для получения доступа к службе проверки подлинности локальной системы безопасности (LSASS) программы для создания дампа учетных данных, такие как Mimikatz, обращаются к соответствующему процессу, определяют местоположение ключа секретов LSA и расшифровывают разделы памяти, в которых хранятся учетные данные, включая билеты Kerberos. Отслеживайте нетипичные процессы, которые пытаются получить доступ к secrets.ldb и .secrets.mkey, расположенным в /var/lib/sss/secrets/.

Меры противодействия

IDM1015НазваниеКонфигурация Active DirectoryОписание

Чтобы избежать негативных последствий по причине ранее созданного золотого билета, дважды сбросьте встроенный пароль учетной записи KRBTGT. Это аннулирует все существующие золотые билеты, созданные с использованием хеша KRBTGT, а также другие билеты Kerberos, полученные на его основе. Для каждого домена измените пароль учетной записи KRBTGT один раз, выполните принудительную репликацию, а затем измените пароль во второй раз. По возможности меняйте пароль учетной записи KRBTGT каждые 180 дней.

IDM1026НазваниеУправление привилегированными учетными записямиОписание

Ограничьте права учетной записи администратора домена контроллерами домена и ограниченными серверами. Делегируйте другие функции администратора отдельным учетным записям.

IDM1027НазваниеПарольные политикиОписание

Проследите, чтобы длина (в идеале 25+ символов) и сложность паролей для учетных записей служб были велики, а срок действия паролей периодически истекал. Также по возможности используйте Group Managed Service Accounts или другой сторонний продукт, например, хранилище паролей.

IDM1041НазваниеШифрование важной информацииОписание

По возможности включите шифрование AES Kerberos (или другой более сильный алгоритм шифрования), а не RC4.

IDM1047НазваниеАудитОписание

Предварительная аутентификация Kerberos включена по умолчанию. Старые протоколы могут не поддерживать предварительную аутентификацию, поэтому этот параметр может быть отключен. Проследите, чтобы все учетные записи имели предварительную аутентификацию, если это возможно, и проведите аудит изменений в настройках. С помощью таких инструментов Windows, как PowerShell, можно легко найти, в каких учетных записях отключена предварительная аутентификация .