Открыть сервис

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. Процесс включает несколько этапов:

  1. Пользователь проходит аутентификацию на контроллере домена (KDC — Key Distribution Center) и получает Ticket Granting Ticket (TGT).
  2. Для доступа к конкретному сервису пользователь запрашивает Service Ticket (ST) у KDC, предъявляя TGT.
  3. Сервис, получив Service Ticket, проверяет его подлинность, используя свой собственный секретный ключ (NTLM-хэш учётной записи сервиса).

Механизм атаки Silver Ticket

Атака Silver Ticket использует тот факт, что Service Ticket подписывается ключом сервиса, а не ключом KDC. Если злоумышленник получает NTLM-хэш учётной записи сервиса (например, через компрометацию компьютера или дамп памяти), он может самостоятельно создать поддельный Service Ticket без обращения к контроллеру домена.

Процесс включает:

  1. Получение NTLM-хэша учётной записи сервиса. Это может быть хэш учётной записи компьютера (например, COMPUTER$), учётной записи службы (например, svc_sql) или учётной записи пользователя, под которой работает сервис.
  2. Создание поддельного Service Ticket с произвольным именем пользователя, временем действия и правами доступа. Злоумышленник может указать любого пользователя (включая администратора домена) и любые группы безопасности (например, Domain Admins).
  3. Использование поддельного билета для доступа к целевому сервису. Сервис проверяет билет, используя свой секретный ключ, и, поскольку билет подписан корректным ключом, считает его действительным.

Отличие от 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 — имя домена.
  • /sidSID домена.
  • /target — имя целевого сервера.
  • /service — тип сервиса (например, cifs, http, mssql).
  • /rc4 — NTLM-хэш учётной записи сервиса.
  • /user — имя пользователя, от имени которого будет создан билет.
  • /idRID пользователя (обычно 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 →