Active Directory Sızma Testlerinde Kerberoasting ve SPN Avcılığı
1. Kerberos Protokolü ve TGS Mimarisi
Active Directory ortamlarında kullanıcı bir servise (MSSQL, IIS, CIFS) erişmek istediğinde Domain Controller'dan bir Ticket Granting Service (TGS) bileti talep eder. Eğer servis hesabı bir kullanıcı nesnesine bağlıysa (User Account), bu TGS bileti hedef kullanıcının NTLM parola hash'i ile şifrelenir. Herhangi bir domain kullanıcısı bu bileti talep edebilir!
2. İstismar Adımları: Impacket & Hashcat
`GetUserSPNs.py` aracı ile etki alanındaki tüm SPN kayıtları taranarak şifrelenmiş biletler offline ortama çekilir. Ardından GPU destekli parola kırma yazılımları (Hashcat) ile bilet kırılmaya çalışılır.
# 1. Domain Controller'dan TGS biletlerini talep etme
impacket-GetUserSPNs -request -dc-ip 10.10.10.10 ulusiber.local/ogrenci:Sifre123 -outputfile kerb_hashes.txt
# 2. Hashcat ile KRB5TGS (Mode 13100) offline kırma
hashcat -m 13100 -a 0 kerb_hashes.txt /usr/share/wordlists/rockyou.txt --rules-file=best64.rule3. Mavi Takım Savunması: gMSA Entegrasyonu
Kerberoasting saldırısına karşı en kesin ve modern çözüm, servis hesaplarını Group Managed Service Accounts (gMSA) mimarisine taşımaktır. gMSA hesaplarında 128 karakterlik karmaşık parolalar Active Directory tarafından otomatik ve periyodik olarak değiştirilir; dolayısıyla offline brute-force matematiksel olarak imkansız hale gelir.
Önemli Çıkarımlar ve Savunma Tavsiyeleri
- [1]Servis hesapları için asla standart kullanıcı hesapları (SPN eklenmiş) kullanmayın.
- [2]Tüm kritik kurumsal servislerde Active Directory gMSA yapılandırmasına geçin.
- [3]Event ID 4769 (Kerberos Service Ticket Operations) loglarını SIEM üzerinde RC4 şifreleme anomalilerine karşı izleyin.