Active Directory Ortamlarında Kerberos Zafiyetleri ve Saldırı Teknikleri
Giriş
Modern Active Directory ortamlarının temel kimlik doğrulama mekanizması Kerberos’tur. Microsoft ağlarında kullanıcıların, servislerin ve sistemlerin güvenli şekilde doğrulanmasını sağlayan bu protokol, doğru yapılandırıldığında oldukça güvenlidir. Ancak yanlış yapılandırmalar, zayıf parola politikaları ve hatalı yetkilendirmeler saldırganların etki alanı içerisinde ayrıcalık yükseltmesine ve hatta tüm domain’i ele geçirmesine yol açabilir.Bu yazıda Kerberos’un çalışma mantığını özetledikten sonra Active Directory sızma testlerinde sık karşılaşılan Kerberos kaynaklı saldırı tekniklerini inceleyeceğiz.
Kerberos Nasıl Çalışır?
Kerberos üç temel bileşenden oluşur:- Client (Kullanıcı)
- Service (Servis)
- Key Distribution Center (KDC)
- Authentication Service (AS)
- Ticket Granting Service (TGS)
- Kullanıcı AS-REQ gönderir.
- KDC, AS-REP ile Ticket Granting Ticket (TGT) döndürür.
- Kullanıcı servis erişimi istediğinde TGS-REQ gönderir.
- KDC, ilgili servis için TGS üretir.
- Kullanıcı servis bileti ile hedef servise erişir.
Kerberoasting
Kerberoasting, Active Directory ortamlarında en sık karşılaşılan Kerberos saldırılarından biridir.Mantık
Domain içerisindeki servis hesaplarının SPN (Service Principal Name) kayıtları bulunur.Her kullanıcı ilgili servis için TGS talep edebilir.
KDC tarafından döndürülen TGS bileti, servis hesabının NTLM hash’i kullanılarak şifrelenmiştir.
Saldırgan bu bileti çevrimdışı olarak brute force edebilir.
Saldırı Süreci
- Domain kullanıcısı elde edilir.
- SPN kayıtları sorgulanır.
- TGS biletleri talep edilir.
- Biletler hash formatına dönüştürülür.
- Hashcat ile parola kırılır.
PowerView Kullanımı
Get-DomainUser -SPNImpacket Kullanımı
GetUserSPNs.py DOMAIN/userRisk
Servis hesabının parolası zayıf ise Domain Admin yetkisine kadar giden bir saldırı zinciri oluşabilir.AS-REP Roasting
Normal şartlarda Kerberos ön kimlik doğrulaması (Pre-Authentication) kullanır.Ancak bazı hesaplarda bu özellik devre dışı bırakılmış olabilir.
Mantık
Saldırgan herhangi bir parola bilmeden AS-REP cevabı talep eder.KDC tarafından döndürülen veri kullanıcının parolasından türetilen anahtar ile şifrelenmiştir.
Bu veri çevrimdışı olarak brute force edilebilir.
Impacket
GetNPUsers.py DOMAIN/ -dc-ip 10.10.10.10 -usersfile users.txtRisk
Hiçbir kimlik bilgisi gerektirmeden kullanıcı parolalarının ele geçirilmesini sağlayabilir.Unconstrained Delegation
Kerberos Delegation özelliği servislerin kullanıcı adına işlem yapmasını sağlar.Unconstrained Delegation en tehlikeli delegation türlerinden biridir.
Mantık
Bir kullanıcı delegation yetkili sunucuya bağlandığında TGT’si sunucuya iletilir.Sunucu ele geçirilmişse saldırgan kullanıcıların TGT’lerini elde edebilir.
Saldırı Zinciri
- Delegation yetkili makine bulunur.
- Makine üzerinde yönetici erişimi elde edilir.
- Gelen TGT’ler izlenir.
- Domain Admin oturum açarsa TGT ele geçirilir.
- Pass-the-Ticket uygulanır.
Sonuç
Domain Admin seviyesinde erişim elde edilebilir.Resource-Based Constrained Delegation (RBCD)
Modern Active Directory saldırılarında oldukça önemli bir tekniktir.Temel Fikir
Bir bilgisayar nesnesi üzerinde GenericWrite veya GenericAll yetkisi bulunan saldırgan ilgili nesnenin delegation ayarlarını değiştirebilir.Daha sonra kendi oluşturduğu makine hesabını kullanarak hedef servise kullanıcı taklidi yapabilir.
Saldırı Adımları
- Makine hesabı oluşturulur.
- msDS-AllowedToActOnBehalfOfOtherIdentity özniteliği değiştirilir.
- S4U2Self gerçekleştirilir.
- S4U2Proxy kullanılır.
- Yönetici adına servis bileti alınır.
Golden Ticket
Golden Ticket saldırısında saldırgan KRBTGT hesabının hash’ini ele geçirir.KRBTGT hesabı Kerberos ekosistemindeki en kritik hesaptır.
Sonuç
Saldırgan:- İstediği kullanıcı adına bilet üretebilir.
- Domain Admin gibi davranabilir.
- Süresi çok uzun biletler oluşturabilir.
Mimikatz
kerberos::goldenGolden Ticket genellikle domain tamamen ele geçirildiğinde uygulanır.
Silver Ticket
Golden Ticket’a benzer ancak kapsamı daha dardır.Farkı
KRBTGT hash’i yerine hedef servisin hash’i kullanılır.Örneğin:
- CIFS
- HTTP
- MSSQL
- HOST
Avantajı
KDC ile iletişim kurulmadığından tespit edilmesi daha zor olabilir.Savunma Önerileri
Kerberos saldırılarının etkisini azaltmak için:- Güçlü servis hesabı parolaları kullanılmalı
- Managed Service Accounts tercih edilmeli
- Kerberos Pre-Authentication devre dışı bırakılmamalı
- Delegation yapılandırmaları düzenli denetlenmeli
- KRBTGT hesabı periyodik olarak resetlenmeli
- Gereksiz SPN kayıtları kaldırılmalı
- Ayrıcalıklı hesaplar için Tiering uygulanmalı