0Pricing
Security+ Academy · Урок

Kerberoasting и атаки Golden Ticket

Узнайте, как Kerberoasting извлекает офлайн хеши служебных билетов, пригодные для взлома, и как атаки Golden Ticket предоставляют неограниченный доступ Kerberos с использованием скомпрометированного хеша KRBTGT.

«Kerberoasting и атаки Golden Ticket» — бесплатный урок Security+ Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Security+ Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Security+ Academy содержит 4 уроков всего.

Архитектура Service Ticket в Kerberos

Чтобы понять атаки Kerberoasting и Golden Ticket, необходимо чётко представлять себе выдачу Service Ticket Kerberos. Когда клиент хочет получить доступ к службе (например, SQL-серверу), он предъявляет свой Ticket Granting Ticket (TGT) службе Ticket Granting Service (TGS) контроллера домена. TGS выдаёт Service Ticket, зашифрованный с помощью хеша пароля учётной записи службы. Клиент предъявляет этот билет службе, а служба расшифровывает его собственным хешем, чтобы проверить подлинность. Таким образом, Service Ticket шифруется учётными данными целевой службы — именно эту важную особенность использует Kerberoasting.

Kerberoasting: взлом пароля в автономном режиме

Kerberoasting — это атака, использующая тот факт, что любой аутентифицированный пользователь домена может запросить билет службы Kerberos для любой службы, зарегистрированной с помощью SPN (Service Principal Name). Злоумышленник запрашивает Service Ticket для учётных записей с SPN, перехватывает зашифрованные блоки билетов, а затем пытается взломать пароль учётной записи службы в автономном режиме — без дальнейшего взаимодействия с Active Directory и риска блокировки учётной записи. Учётные записи служб часто защищены слабыми паролями, старыми паролями, заданными до введения современных требований к сложности, или паролями, срок действия которых никогда не истекает, поэтому они особенно уязвимы для автономного взлома.

# Step 1: Find accounts with SPNs (attack setup)
Get-ADUser -Filter {ServicePrincipalName -ne '$null'} -Properties ServicePrincipalName

# Step 2: Request service tickets (using Impacket GetUserSPNs.py)
# GetUserSPNs.py domain/user:password -dc-ip 192.168.1.1 -request
# Outputs $krb5tgs$ hashes ready for cracking with Hashcat

Автономный взлом билетов Kerberos

Перехваченные хеши Service Ticket при Kerberoasting по умолчанию шифруются с помощью RC4-HMAC (NTLM hash) (для совместимости), поэтому взломать их быстрее, чем билеты Kerberos AES-256. Злоумышленник передаёт хеши $krb5tgs$23$ в Hashcat или John the Ripper для автономных атак по словарю и методом полного перебора. Распространённые списки слов, такие как RockYou, в сочетании с наборами правил позволяют взломать большинство слабых паролей учётных записей служб за несколько минут или часов на потребительском оборудовании с GPU. После взлома злоумышленник получает пароль в открытом виде учётной записи службы и может использовать его для непосредственной аутентификации.

# Crack Kerberoasted hashes with Hashcat
hashcat -m 13100 kerberoast_hashes.txt rockyou.txt \
  -r best64.rule \
  --force
# Mode 13100 = Kerberos 5, etype 23 (RC4-HMAC service ticket)
# Mode 19600 = Kerberos 5, etype 17 (AES-128) - slower
# Mode 19700 = Kerberos 5, etype 18 (AES-256) - slowest

Защита от Kerberoasting

Меры противодействия Kerberoasting охватывают четыре области: надёжность паролей — для учётных записей служб следует использовать длинные случайные пароли (от 25 символов), устойчивые к автономному взлому даже с помощью кластеров GPU; Group Managed Service Accounts (gMSA) — Windows автоматически управляет паролями gMSA (случайные значения длиной 240 символов, которые меняются каждые 30 дней), поэтому Kerberoasting становится вычислительно неосуществимым; шифрование только AES — настройте учётные записи служб так, чтобы они требовали билеты AES-256 (msDS-SupportedEncryptionTypes), которые взламываются значительно медленнее, чем RC4; и обнаружение — создайте оповещения о необычно большом количестве запросов TGS (Event ID 4769) к учётным записям служб с нестандартных рабочих станций.

# Create a Group Managed Service Account (gMSA) - Kerberoasting immune
New-ADServiceAccount -Name 'svc-sql' \
  -DNSHostName 'sqlserver.domain.com' \
  -PrincipalsAllowedToRetrieveManagedPassword 'SQLServers'

# Install on the SQL server
Install-ADServiceAccount -Identity 'svc-sql'

Учётная запись KRBTGT: хранитель Kerberos

Учётная запись KRBTGT — это специальная встроенная учётная запись Active Directory, хеш пароля которой используется для подписывания и шифрования всех TGT Kerberos в домене. Контроллер домена использует хеш KRBTGT для создания TGT и проверки входящих TGT. Поэтому хеш KRBTGT является наиболее ценной учётной информацией в среде Active Directory: любой, кто владеет им, может создавать произвольные полностью действительные билеты Kerberos для любого пользователя, включая несуществующих пользователей, с любым членством в группах и на любой срок. Во многих организациях пароль KRBTGT обычно никогда не менялся, поскольку процедура его изменения требует тщательной координации.

# Check when KRBTGT password was last changed
Get-ADUser -Identity KRBTGT -Properties PasswordLastSet | 
  Select-Object Name, PasswordLastSet
# If PasswordLastSet is years ago, the domain is vulnerable to persistent Golden Tickets

Атака Golden Ticket: подделка TGT

Атака Golden Ticket создаёт поддельный полностью действительный TGT Kerberos с использованием хеша пароля скомпрометированной учётной записи KRBTGT. Злоумышленник использует команду kerberos::golden Mimikatz, чтобы создать TGT для любого пользователя (часто для поддельной учётной записи, похожей на Administrator) с любым членством в группах (обычно включая Domain Admins) и любым сроком действия (часто устанавливая его равным 10 годам). Этот поддельный билет неотличим от легитимного для контроллера домена, поскольку он криптографически действителен — он подписан настоящим хешем KRBTGT. Golden Ticket обеспечивает полный, постоянный и неограниченный контроль над доменом.

# Mimikatz Golden Ticket creation (attacker perspective - for defender awareness)
# Requires: domain name, domain SID, KRBTGT hash, target username
# mimikatz# kerberos::golden \
#   /domain:corp.example.com \
#   /sid:S-1-5-21-1234567890-1234567890-1234567890 \
#   /krbtgt:aabbccddeeff00112233445566778899 \
#   /user:GoldenTicketUser \
#   /groups:512,519 \
#   /ticket:golden.kirbi

Почему Golden Ticket сохраняются так долго

Golden Ticket особенно опасны, поскольку сохраняются даже после обнаружения исходной атаки и устранения её последствий. Изменение пароля целевого пользователя ничего не даёт: билет был подделан, а не создан на основе настоящих учётных данных пользователя. Единственная мера устранения — дважды изменить пароль KRBTGT (первый раз для аннулирования существующих билетов, второй — поскольку для поочерёдной смены в любой момент времени существуют два ключа KRBTGT). Однако изменение пароля KRBTGT требует тщательной координации: при неправильном выполнении оно нарушит аутентификацию Kerberos во всём домене. Многие организации не решаются применять эту меру, поэтому Golden Ticket могут оставаться действительными неограниченно долго.

# KRBTGT password reset procedure (Microsoft New-KrbtgtKeys.ps1)
# Step 1: Reset KRBTGT password on primary DC
# Step 2: Wait for AD replication (typically 24-48 hours)
# Step 3: Reset KRBTGT password again to invalidate all old tickets
# Step 4: Verify Kerberos authentication working across all sites
# This invalidates ALL existing Kerberos tickets domain-wide

Атака Silver Ticket: подделка для конкретной службы

Silver Ticket похож на Golden Ticket, но имеет более ограниченную область действия. Для подделки Service Ticket только для конкретной службы используется хеш учётной записи целевой службы, а не KRBTGT. Например, располагая хешем учётной записи службы SQL-сервера, злоумышленник может подделать Service Ticket, предоставляющий ему любые права доступа к этому SQL-серверу. Silver Ticket сложнее обнаружить, чем Golden Ticket, поскольку он полностью обходится без контроллера домена: поддельный билет передаётся непосредственно от злоумышленника службе, без обращения к KDC. Для защиты необходимо оберегать хеши учётных записей служб и отслеживать аномальные шаблоны доступа к важным службам.

Получение хеша KRBTGT: атака DCSync

Злоумышленники получают хеш KRBTGT с помощью атаки DCSync, которая злоупотребляет легитимным протоколом репликации домена Active Directory. Directory Replication Service (DRS) позволяет контроллерам домена синхронизировать данные AD, включая хеши паролей, между собой. Злоумышленник с привилегиями DCSync (обычно Domain Admin, Enterprise Admin или любая учётная запись с разрешениями Replicating Directory Changes All) может выдать себя за контроллер домена и запросить репликацию хеша любой учётной записи. Команда lsadump::dcsync Mimikatz выполняет эту атаку полностью по сети — запускать код непосредственно на DC не требуется.

# DCSync to extract KRBTGT hash (attacker perspective)
# mimikatz# lsadump::dcsync /domain:corp.example.com /user:KRBTGT
# Output includes:
# Hash NTLM: <krbtgt NT hash>
# Hash SHA1: <krbtgt SHA1 hash>
# Key: <AES-256 key>

# Detection: Event ID 4662 from a non-DC source (replication event from workstation = suspicious)

Обнаружение активности Golden Ticket и Silver Ticket

Обнаружить использование Golden Ticket сложно, но возможно, если искать аномалии в метаданных билетов Kerberos: билеты с необычно большим сроком действия (срок действия настоящего TGT составляет 10 часов, а для Golden Ticket часто устанавливают 10 лет); Event ID 4769, в котором тип шифрования билета — RC4 (0x17), хотя по умолчанию в домене используется AES-256 (0x12); имена учётных записей в билетах, которых нет в AD; а также отсутствие Event ID 4768 (запрос TGT) перед Event ID 4769 (запрос Service Ticket): Golden Ticket пропускает этап запроса TGT, поскольку сам TGT является поддельным. Правило Microsoft Sentinel или Defender for Identity может автоматически обнаруживать такие шаблоны.

# Detection: Golden Ticket indicator - no corresponding TGT request
# Normal flow: Event 4768 (TGT requested) -> Event 4769 (service ticket)
# Golden Ticket: Event 4769 WITHOUT preceding 4768 from same host

# Also alert on: TGT encryption type = RC4 in AES-only environments
# Splunk: index=windows EventCode=4769 TicketEncryptionType=0x17
#   NOT [expected legacy systems]

Предотвращение атак на основе Kerberos

Многоуровневая защита от атак Kerberos включает следующие меры: используйте gMSA для всех учётных записей служб, чтобы сделать Kerberoasting неосуществимым; включите шифрование только AES для всех учётных записей, особенно для ценных учётных записей служб, чтобы максимально усложнить взлом; ограничьте привилегии DCSync — проверяйте учётные записи с разрешениями на репликацию и удаляйте разрешения у тех, кому они не нужны; включите Microsoft Defender for Identity (ранее ATA), обеспечивающий обнаружение угроз с учётом Kerberos, включая оповещения о Golden Ticket, Kerberoasting и DCSync в реальном времени; и внедрите модель многоуровневого администрирования, чтобы даже скомпрометированная учётная запись уровня 2 не могла использоваться для получения учётных данных уровня DC.

# Audit DCSync-capable accounts (these should be very few)
Get-ADUser -Filter * -Properties 'msDS-AllowedToDelegateTo' |
  Where {$_.DistinguishedName -notlike '*Domain Controllers*'}

# Check replication permission holders using PowerView:
# Get-ObjectAcl -DistinguishedName 'DC=domain,DC=com' \
#   -ResolveGUIDs | \
#   Where {$_.ActiveDirectoryRights -like '*ExtendedRight*'}

Быстрая проверка

Проверьте своё понимание концепций CompTIA Security+ (SY0-701) из этого урока.

Повторение урока

В этом уроке Вы узнали: Kerberoasting запрашивает Service Ticket для учётных записей, зарегистрированных с SPN, и взламывает их в автономном режиме — противодействовать этому помогают gMSA, надёжные пароли и шифрование только AES; атаки Golden Ticket используют хеш KRBTGT для подделки неограниченного количества TGT, обеспечивая постоянный контроль над доменом, который сохраняется до тех пор, пока пароль KRBTGT не будет сброшен дважды; атаки DCSync реплицируют хеш KRBTGT по сети, не запуская код на DC, поэтому требуется строгая проверка привилегий DCSync. Далее Вы изучите платформу MITRE ATT&CK для сопоставления методов злоумышленников с мерами защиты.

Часто задаваемые вопросы

Урок «Kerberoasting и атаки Golden Ticket» бесплатный?

Да — полный текст урока «Kerberoasting и атаки Golden Ticket» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Security+ Academy, подпишись на CoddyKit PRO. Курс Security+ Academy содержит 4 уроков всего.

Чему я научусь в уроке «Kerberoasting и атаки Golden Ticket»?

Узнайте, как Kerberoasting извлекает офлайн хеши служебных билетов, пригодные для взлома, и как атаки Golden Ticket предоставляют неограниченный доступ Kerberos с использованием скомпрометированного… Ты практикуешь Security+ Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Security+ Academy?

Предыдущий опыт не требуется. Security+ Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Kerberoasting и атаки Golden Ticket»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Security+ Academy?

Да. Каждый урок Security+ Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Жизненный цикл APT: от первоначального доступа до закрепления
  2. Горизонтальное перемещение: Pass-the-Hash и Pass-the-Ticket
  3. Kerberoasting и атаки Golden Ticket
  4. Фреймворк MITRE ATT&CK для обнаружения и реагирования
← Назад к Security+ Academy