Silver Ticket¶
Silver Ticket — это метод аутентификации в среде Microsoft Active Directory, при котором злоумышленник, получив хэш пароля (NTLM-хэш) учётной записи сервиса (обычно компьютерной учётной записи), создаёт поддельный билет Kerberos для доступа к конкретному сервису (например, к файловому ресурсу, базе данных или веб-приложению). В отличие от «Golden Ticket», который даёт полный контроль над доменом, Silver Ticket ограничен одним сервисом, но позволяет обходить системы мониторинга и не требует взаимодействия с контроллером домена.
¶История и происхождение
Метод Silver Ticket был впервые описан и популяризирован в 2012 году исследователем безопасности Бенджамином Делпи (Benjamin Delpy) и его коллегой Кристофером Кэмпбеллом (Christopher Campbell) в рамках инструмента Mimikatz. Изначально Mimikatz разрабатывался для демонстрации уязвимостей в реализации протокола Kerberos в Windows. Silver Ticket стал одним из ключевых примеров атак на основе подделки билетов Kerberos, наряду с Golden Ticket, Overpass-the-Hash и Pass-the-Ticket.
¶Принцип работы
¶Протокол Kerberos в Active Directory
В среде Active Directory аутентификация пользователей и сервисов осуществляется через протокол Kerberos. Процесс включает несколько этапов:
- Пользователь проходит аутентификацию на контроллере домена (KDC — Key Distribution Center) и получает Ticket Granting Ticket (TGT).
- Для доступа к конкретному сервису пользователь запрашивает Service Ticket (ST) у KDC, предъявляя TGT.
- Сервис, получив Service Ticket, проверяет его подлинность, используя свой собственный секретный ключ (NTLM-хэш учётной записи сервиса).
¶Механизм атаки Silver Ticket
Атака Silver Ticket использует тот факт, что Service Ticket подписывается ключом сервиса, а не ключом KDC. Если злоумышленник получает NTLM-хэш учётной записи сервиса (например, через компрометацию компьютера или дамп памяти), он может самостоятельно создать поддельный Service Ticket без обращения к контроллеру домена.
Процесс включает:
- Получение NTLM-хэша учётной записи сервиса. Это может быть хэш учётной записи компьютера (например,
COMPUTER$), учётной записи службы (например,svc_sql) или учётной записи пользователя, под которой работает сервис. - Создание поддельного Service Ticket с произвольным именем пользователя, временем действия и правами доступа. Злоумышленник может указать любого пользователя (включая администратора домена) и любые группы безопасности (например,
Domain Admins). - Использование поддельного билета для доступа к целевому сервису. Сервис проверяет билет, используя свой секретный ключ, и, поскольку билет подписан корректным ключом, считает его действительным.
¶Отличие от Golden Ticket
- Golden Ticket подделывает TGT, который подписывается ключом KRBTGT учётной записи контроллера домена. Это даёт доступ ко всем сервисам домена.
- Silver Ticket подделывает Service Ticket, который подписывается ключом конкретного сервиса. Это даёт доступ только к одному сервису, но не требует взаимодействия с контроллером домена и не оставляет следов в логах KDC.
¶Классификация
¶По типу сервиса
- Файловые сервисы (CIFS): доступ к сетевым папкам и файловым ресурсам.
- Удалённый рабочий стол (RDP): доступ к сеансам удалённого управления.
- Базы данных (MSSQL): доступ к серверам баз данных Microsoft SQL Server.
- Веб-сервисы (HTTP): доступ к веб-приложениям, использующим встроенную аутентификацию Windows.
- Планировщик задач (HOST): выполнение команд на удалённом компьютере.
¶По способу получения хэша
- Из дампа памяти: с помощью инструментов типа Mimikatz, Procdump или Task Manager.
- Из реестра: извлечение хэшей из ветки
HKLM\SECURITY\Policy\Secrets. - Из базы данных SAM: извлечение хэшей локальных учётных записей.
- Из сетевого трафика: перехват хэшей при аутентификации (например, с помощью Responder или Inveigh).
¶Инструменты для реализации
¶Mimikatz
Mimikatz — основной инструмент для создания и использования Silver Ticket. Команда для создания билета выглядит следующим образом: `` kerberos::golden /domain:example.local /sid:S-1-5-21-123456789-123456789-123456789 /target:server.example.local /service:cifs /rc4:abcdef1234567890abcdef1234567890 /user:administrator /id:500 /groups:512 /ptt `` Где:
/domain— имя домена./sid— SID домена./target— имя целевого сервера./service— тип сервиса (например,cifs,http,mssql)./rc4— NTLM-хэш учётной записи сервиса./user— имя пользователя, от имени которого будет создан билет./id— RID пользователя (обычно 500 для администратора)./groups— RID групп (например, 512 для Domain Admins)./ptt— флаг, указывающий на внедрение билета в текущую сессию.
¶Другие инструменты
- Rubeus — инструмент на C# для работы с Kerberos, поддерживает создание Silver Ticket.
- Impacket — набор Python-скриптов, включающий
ticketer.pyдля создания билетов. - Kekeo — инструмент, аналогичный Mimikatz, но с фокусом на Kerberos.
¶Применение в атаках
¶Для злоумышленников
Silver Ticket используется для:
- Постоянного доступа: после компрометации сервиса злоумышленник может создать билет, который будет действовать длительное время (до 10 лет по умолчанию).
- Обхода систем мониторинга: поскольку билет не создаётся на контроллере домена, в логах KDC не появляются события аутентификации.
- Эскалации привилегий: злоумышленник может указать в билете любые группы безопасности, включая
Domain Admins, что даёт ему полный доступ к сервису. - Сокрытия следов: билет может быть создан с произвольным именем пользователя, что затрудняет идентификацию атакующего.
¶Для защиты
Инструменты и методы защиты включают:
- Мониторинг логов: анализ событий Windows (Event ID 4624, 4634, 4648) на предмет необычных аутентификаций.
- Использование групповых политик: ограничение прав на дамп памяти и доступ к реестру.
- Применение LSA Protection: защита процесса Local Security Authority (LSASS) от дампа памяти.
- Использование Credential Guard: изоляция учётных данных в виртуализированной среде.
- Регулярная смена паролей: частая смена NTLM-хэшей учётных записей сервисов.
¶Примеры
¶Пример 1: Доступ к файловому серверу
Злоумышленник компрометирует компьютер с учётной записью COMPUTER$. С помощью Mimikatz он получает NTLM-хэш этой учётной записи. Затем он создаёт Silver Ticket для сервиса CIFS на файловом сервере fileserver.example.local, указывая пользователя administrator и группу Domain Admins. После внедрения билета он получает доступ ко всем сетевым папкам на этом сервере.
¶Пример 2: Удалённое выполнение команд
Злоумышленник создаёт Silver Ticket для сервиса HOST на целевом компьютере target.example.local. Используя этот билет, он может выполнять команды через планировщик задач (schtasks) или удалённое управление (WinRM).
¶Критика и ограничения
¶Ограничения
- Silver Ticket даёт доступ только к одному сервису на одном компьютере.
- Для создания билета требуется NTLM-хэш учётной записи сервиса, что может быть сложно получить без компрометации самого сервиса.
- Билет может быть обнаружен при анализе сетевого трафика или логов сервиса.
¶Критика
- Метод считается «шумным» в контексте современных систем мониторинга, так как поддельные билеты часто имеют нестандартные временные метки или имена пользователей.
- Некоторые сервисы (например, веб-приложения с использованием Kerberos) могут проверять дополнительные атрибуты билета, что усложняет атаку.
¶Интересные факты
- Silver Ticket часто используется в сочетании с другими методами, такими как Pass-the-Hash или Overpass-the-Hash, для получения первоначального доступа к сервису.
- В некоторых случаях Silver Ticket может быть создан даже без NTLM-хэша, если злоумышленник знает пароль учётной записи сервиса в открытом виде.
- Microsoft рекомендует использовать Managed Service Accounts (MSA) и Group Managed Service Accounts (gMSA) для автоматической смены паролей сервисов, что затрудняет атаки Silver Ticket.
¶Источники
- Benjamin Delpy, Mimikatz documentation.
- Microsoft Security Response Center, «Kerberos Silver Ticket Attack».
- Sean Metcalf, «Kerberos Attacks and Defenses».
- Tim Medin, «Attacking Microsoft Kerberos».
- Will Schroeder, «Rubeus: A Kerberos Abuse Toolkit».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


