AD CS Güvenliği - Tespit ve Önleme Yöntemleri
Active Directory Güvenlik İhlallerini Tespit Etme ve Önleme
Active Directory Domain Services (AD DS), Active Directory Certificate Services (AD CS) ve Active Directory Federation Services (AD FS) gibi hizmetlere yönelik birçok bilinen ve gözlemlenmiş saldırı tekniği bulunmaktadır. Kötü niyetli aktörler, bu hizmetleri hedef alarak ayrıcalıklarını yükseltmek ve kurumsal BT ağlarında yatay geçiş yapmak için kullanır. Bu kılavuz, AD DS, AD CS ve AD FS’ye yönelik en yaygın teknikleri ele alarak her bir yöntemin genel bir açıklamasını ve bu saldırıları önleme yollarını sunar. Saldırılar, genellikle ayrıcalıkları yükseltmek ve yatay geçiş yapmak için kullanılan yöntemlerden başlayıp, kalıcılık sağlama amaçlı saldırılarla sona erecek şekilde sıralanmıştır.
Ayrıcalıklı Erişimi Güvence Altına Alma
Active Directory’ye yönelik kötü niyetli aktivitelerin temel amacı, ayrıcalıkları yükseltmek ve en yüksek yetkili kullanıcı nesnelerini (örneğin, Domain Admins ve Enterprise Admins güvenlik gruplarındaki nesneler) hedef alarak bir domain üzerinde kontrol sağlamaktır. Her ne kadar diğer kullanıcı nesnelerine (örneğin, hizmet hesapları) erişim sağlanarak önemli ayrıcalıklar elde edilebilse de, kötü niyetli aktörlerin en yüksek ayrıcalıkları elde etmesinin önlenmesi, genel erişimlerini sınırlamak için kritik öneme sahiptir. Bu nedenle, ayrıcalıklı erişimi güvence altına almak, Active Directory güvenlik ihlallerini önlemek için tüm kuruluşlar için bir öncelik olmalıdır.
Active Directory’de Ayrıcalıklı Erişim Güvencesi
Active Directory’deki ayrıcalıklı erişim, Microsoft’un Enterprise Access Model gibi katmanlı bir model kullanılarak sağlanabilir. Bu model, önceki Active Directory Administrative Tier Model’in yerini almış ve daha ileri bir seviyeye taşımıştır. Enterprise Access Model, Active Directory’nin Microsoft Azure gibi bulut hizmetlerine Microsoft Entra ID aracılığıyla bağlandığı hibrit ortamlar için tasarlanmıştır.
Ayrıcalıklı erişimi güvence altına almak için temel prensipler şunlardır:
- Tier 0 kullanıcı nesneleri kimlik bilgilerini daha alt katmandaki sistemlere maruz bırakmaz. Bu nesneler, Domain Admins ve Enterprise Admins güvenlik gruplarındaki kullanıcılar, KRBTGT kullanıcı nesneleri, AD FS hizmet hesabı, yedekleme yöneticileri ve Microsoft Entra Connect kullanıcı nesnelerini içerir. (Daha fazla bilgi için Microsoft’un Ayrıcalıklı Erişim Güvenlik Seviyelerine bakınız.)
- Tier 0 bilgisayar nesneleri, yalnızca Tier 0 kullanıcı nesneleri tarafından yönetilir. Örnekler: Domain Controllers, AD FS sunucusu, AD CS kök sertifika otoritesi, yedekleme sunucuları ve Microsoft Entra Connect sunucusu.
- Daha alt katmanlardaki (Tier 1 veya Tier 2) kullanıcı ve bilgisayar nesneleri, daha üst katmanlar tarafından sağlanan hizmetleri kullanabilir, ancak tersine erişim mümkün değildir.
- Hiyerarşi, daha alt katmanların daha üst katmanları kontrol etmesini önlemek için zorunlu tutulur.
- Ayrıcalıklı erişim yolları, bu yolların sayısını en aza indirerek, koruma önlemleri uygulayarak ve bu yolları yakından izleyerek güvence altına alınır.
Tier 0 kullanıcı ve bilgisayar nesneleri, aşağıdaki gibi ek güvenlik önlemleriyle korunmalıdır:
- Kimlik avına karşı dirençli MFA (Çok Faktörlü Kimlik Doğrulama),
- Ayrıcalıklı erişim iş istasyonlarının kullanımı,
- Kerberos koruması,
- Zero Trust politika uygulamaları.
Bu yaklaşım, kritik sistemlerin ve erişim yollarının korunmasını sağlar ve olası güvenlik ihlallerinin etkisini minimize eder.
Microsoft’un Enterprise Access Model’ini Uygulama
Microsoft’un Enterprise Access Model’ini uygulamak, Active Directory’ye yönelik birçok saldırı tekniğini önemli ölçüde zorlaştırır ve bazılarını tamamen imkansız hale getirir. Bu durum, kötü niyetli aktörlerin daha karmaşık ve riskli tekniklere başvurmasını gerektirir ve bu da faaliyetlerinin tespit edilme olasılığını artırır. Bu modeli uygulamak, kuruluşların Active Directory ihlallerini daha hızlı tespit etmelerini sağlar, müdahale süresini önemli ölçüde azaltır ve genel etkiyi sınırlar.
Kerberoasting
Kerberoasting, bir Service Principal Name (SPN) ile yapılandırılmış kullanıcı nesnelerini hedef alır. Eğer bir kullanıcı nesnesi bir SPN ile yapılandırılmışsa, diğer herhangi bir kullanıcı nesnesi — yetkisiz kullanıcılar dahil — bir Ticket Granting Service (TGS) bileti talep edebilir. Bu bilet, kullanıcı nesnesinin parola hash’i ile şifrelenir ve bu hash, düz metin parolayı ortaya çıkarmak için kırılabilir. Kötü niyetli aktörler TGS biletini kırmayı başarır ve düz metin parolayı elde ederse, bu kullanıcı nesnesi olarak kimlik doğrulaması yapabilir.
Kerberoasting genellikle, kötü niyetli aktörlerin Active Directory alanına ilk erişimlerini kazandıktan kısa bir süre sonra ayrıcalıkları yükseltmek ve yatay hareket sağlamak amacıyla gerçekleştirilir. SPN ile yapılandırılmış kullanıcı nesnelerine genellikle hizmet hesapları denir. Bunlar, bilgisayar nesnelerinde hizmet çalıştıran ve bazen yönetici ayrıcalıklarına sahip olan kullanıcı nesneleridir. Bir hizmet hesabı Kerberoasting yoluyla ele geçirilirse, kötü niyetli aktörlere daha fazla erişim ve ayrıcalık sağlar ve bu da Active Directory ortamını daha fazla tehlikeye atmalarına olanak tanır.
Bazı durumlarda, hizmet hesapları Domain Admins gibi yüksek ayrıcalıklı güvenlik gruplarının üyeleri olabilir. Domain Admins grubunda veya diğer yüksek ayrıcalıklı gruplarda bir hizmet hesabının ele geçirilmesi genellikle bir domainin tamamen tehlikeye girmesiyle sonuçlanır.
Kerberoasting gerçekleştirmek için kullanılabilecek çeşitli saldırı araçları bulunmaktadır, bunlar arasında Mimikatz, Rubeus ve Impacket yer alır. Ayrıca, bu saldırı, yerleşik PowerShell komutlarıyla da gerçekleştirilebilir.
Kerberoasting’i Önleme
Kerberoasting, Active Directory’nin normal işlevselliğini taklit eder ve SPN ile yapılandırılmış kullanıcı nesnelerine sahip herhangi bir Active Directory ortamında uygulanabilir.
Bu saldırıyı önlemek için:
- SPN ile yapılandırılmış kullanıcı nesnelerinin sayısını minimuma indirmek,
- Güçlü ve yönetilen parolalar kullanmak,
- Hizmet hesaplarına yalnızca gerekli minimum ayrıcalıkları vermek gibi önlemler alınabilir.
Bu tür proaktif güvenlik önlemleri, saldırının başarı şansını azaltır.
Kerberoasting’i Önlemek İçin Uygulanması Gereken Güvenlik Kontrolleri
- SPN’lerle Yapılandırılmış Kullanıcı Nesnelerinin Sayısını Azaltın: SPN ile yapılandırılmış kullanıcı nesnelerinin sayısını azaltarak kötü niyetli aktörlerin saldırı yapabileceği alanı küçültün.
- SPN’li Kullanıcı Nesnelerini Grup Yönetilen Hizmet Hesapları (gMSAs) Olarak Oluşturun:
- gMSA’ler, otomatik parola dönüşümü, 120 karakterlik şifre ve basitleştirilmiş SPN yönetimi sunar. Bu özellikler, parolanın kırılmasını zorlaştırır ve başarılı bir Kerberoasting ihtimalini azaltır.
- Eğer SPN’li kullanıcı nesnelerini gMSA olarak oluşturmak mümkün değilse (örneğin, hizmeti barındıran sistem Windows tabanlı değilse veya uygulama gMSA’leri desteklemiyorsa), minimum 30 karakter uzunluğunda, benzersiz, tahmin edilemez ve yönetilen bir parola kullanın.
3. SPN’li Kullanıcı Nesnelerine Minimum Gerekli Ayrıcalıkları Atayın:
- Bu nesnelerin yalnızca görevlerini yerine getirebilmeleri için gerekli minimum ayrıcalıklara sahip olduğundan emin olun.
- SPN’li kullanıcı nesnelerinin, Domain Admins gibi yüksek ayrıcalıklı güvenlik gruplarının üyesi olmadığından emin olun.
- Eğer kötü niyetli aktörler Kerberoasting’i başarıyla uygular ve düz metin parolayı elde ederlerse, sınırlı ayrıcalıklar, saldırının etkisini azaltır ve erişimi sınırlar.
Kerberoasting’i Tespit Etmek
Kerberoasting’i tespit etmek zordur, çünkü bu teknik, Active Directory’nin normal işleyişine benzeyen aktiviteler sergiler. Kullanıcı nesneleri, domain’deki hizmetlere erişirken TGS bileti talep eder ve bu sırada oluşturulan olaylar, Kerberoasting sırasında üretilen olaylarla aynıdır. Bu, Kerberoasting’in çok sayıda meşru olay arasında gözden kaçma ihtimalini artırır.
Tespit Yöntemleri:
- TGS Talep Olaylarını (Event ID 4769) Analiz Edin:
- SPN ile yapılandırılmış birden fazla kullanıcı nesnesi için kısa bir zaman diliminde TGS talepleri yapılıp yapılmadığını kontrol edin.
- Kerberoasting genellikle, tüm SPN’li kullanıcı nesneleri için eşzamanlı TGS biletlerinin alınmasını içerir.
- Birçok SPN’li kullanıcı nesnesi için kısa sürede üretilen 4769 olaylarının varlığı, Kerberoasting’in gerçekleştiğine işaret edebilir.
2. Olağandışı TGS Taleplerini Analiz Edin:
- Örneğin, genellikle yalnızca diğer sunucular tarafından erişilen bir yedekleme sunucusu gibi, talepte bulunan kullanıcı ya da bilgisayar nesnesi tarafından genellikle erişilmeyen hizmetlere yönelik TGS taleplerini araştırın.
Tespit Edilebilecek Etkinlikler:
- 4738, 5136 (Domain Controllers): Kullanıcı hesaplarında değişiklik yapıldığında üretilir. Kötü niyetli aktörler, kullanıcı nesnelerine SPN ekleyerek Kerberos hizmet biletlerini alabilir ve ardından bu SPN’yi kaldırabilir.
- 4769 (Domain Controllers): TGS bileti talep edildiğinde üretilir.
- RC4 şifrelemesiyle talep edilen TGS biletleri daha kolay kırıldığı için kötü niyetli aktörler RC4 şifrelemeyi tercih edebilir. Bu taleplerin şifreleme türü
0x17olarak belirtilir ve RC4 şifrelemesinin az kullanılması nedeniyle bu tür talepler tespit edilmeyi kolaylaştırabilir. - Kötü niyetli aktörler tarafından kullanılan güvenlik araçları genellikle
0x40800000veya0x40810000değerlerinde Bilet Seçenekleri ayarları yapar. Bu değerler Kerberoasting faaliyetlerini tespit etmek için kullanılabilir.
Authentication Server Response (AS-REP) Roasting
AS-REP Roasting, Kerberos ön kimlik doğrulamasını gerektirmeyecek şekilde yapılandırılmış Active Directory kullanıcı nesnelerini hedef alır. Kerberoasting’e benzer şekilde, domain’deki herhangi bir kullanıcı nesnesi (yetkisiz kullanıcılar dahil), Kerberos ön kimlik doğrulaması gerektirmeyen bir kullanıcı nesnesi için bir Authentication Server Request (AS-REQ) göndererek AS-REP bileti alabilir. Bu bilet, kullanıcı nesnesinin parola hash’iyle şifrelenir ve bu hash kırılarak düz metin parola ortaya çıkarılabilir. Kötü niyetli aktörler bu bileti kırar ve parolayı elde ederse, kullanıcı nesnesi gibi kimlik doğrulaması yapabilirler.
AS-REP Roasting, kötü niyetli aktörlerin Active Directory domainine erişim sağladıktan hemen sonra ayrıcalıkları yükseltmek ve yatay hareket sağlamak amacıyla kullanılabilir.
AS-REP Roasting’i Önleme
Kötü niyetli aktörlerin AS-REP Roasting gerçekleştirme olasılığı, Kerberoasting’e göre daha azdır. Bunun nedeni, kullanıcı nesnelerinin varsayılan olarak Active Directory Domain Services (AD DS) içinde Kerberos ön kimlik doğrulaması gerektirecek şekilde yapılandırılmasıdır. AS-REP Roasting yalnızca kullanıcı nesneleri Kerberos ön kimlik doğrulaması gerektirmeyecek şekilde yapılandırıldığında mümkündür.
Kerberos ön kimlik doğrulamasını gerektirmemek, genellikle eski (legacy) ve modern Kerberos sürümlerini desteklemeyen sistemler için gereklidir. Eğer bir kuruluşta Kerberos sürüm 5'ten daha eski sürümler kullanılıyorsa, kullanıcı nesneleri ön kimlik doğrulaması gerektirmeyecek şekilde yapılandırılabilir ve bu durum sistemi AS-REP Roasting için savunmasız hale getirir.
AS-REP Roasting’i önlemek için uygulanması gereken güvenlik kontrolleri:
- Kullanıcı nesnelerinin Kerberos ön kimlik doğrulaması gerektirdiğinden emin olun:
- Tüm kullanıcı nesneleri için Kerberos ön kimlik doğrulaması gerekliliği etkinleştirilmelidir.
- Eğer bazı kullanıcı nesneleri Kerberos ön kimlik doğrulamasını atlayacak şekilde yapılandırılmak zorundaysa:
- Bu nesnelere yalnızca görevlerini yerine getirmek için gerekli minimum ayrıcalıklar verilmelidir.
- Bu nesneler yüksek ayrıcalıklı güvenlik gruplarına (örneğin, Domain Admins) üye olmamalıdır.
- Hizmet hesapları için minimum 30 karakterlik, kullanıcılar için minimum 15 karakterlik benzersiz, tahmin edilemez ve yönetilen parolalar belirlenmelidir.
AS-REP Roasting’i Tespit Etmek
Kerberos sürüm 5'ten daha eski sürümleri kullanan uygulamalar veya sistemler varsa, AS-REP Roasting, Active Directory’nin meşru aktivitelerini taklit eder ve bu nedenle tespit edilmesi zor olabilir.
Bu saldırı genellikle, Kerberos ön kimlik doğrulamasını devre dışı bırakmış tüm kullanıcılar için eşzamanlı olarak TGT biletleri almayı içerir. Bu nedenle, AS-REP Roasting’i tespit etmek için şunlar yapılabilir:
- TGT Talep Olaylarını (Event ID 4768) Analiz Edin:
- Kısa bir zaman diliminde, Kerberos ön kimlik doğrulaması devre dışı bırakılmış birden fazla kullanıcı nesnesi için TGT taleplerinin yapılıp yapılmadığını kontrol edin.
2. RC4 Şifrelemesiyle TGT Taleplerini İzleyin:
- Kötü niyetli aktörler, RC4 şifrelemesiyle yapılan TGT taleplerini tercih eder. Bu talepler, şifreleme türü
0x17olarak belirtilir ve bu talepler daha kolay tespit edilebilir.
Tespit İçin Olay ID’leri:
- 4625: Bir oturum açma girişimi başarısız olduğunda üretilir. Kötü niyetli aktörler, geçerli bir kullanıcı nesnesine ihtiyaç duymadan domain’e bağlanarak AS-REP biletlerini alabilir. Bu durumda, 4625 olayı oluşturulur.
- 4738 ve 5136: Kullanıcı nesnelerinin yapılandırmasında değişiklik yapıldığında üretilir. Kötü niyetli aktörler, Kerberos ön kimlik doğrulamasını devre dışı bırakmak ve ardından AS-REP biletini aldıktan sonra ön kimlik doğrulamasını yeniden etkinleştirmek için bu değişiklikleri yapabilir.
- 4768: TGT bileti talep edildiğinde üretilir. Eğer bu olay kısa bir zaman diliminde birden fazla kez oluşursa, AS-REP Roasting işareti olabilir.
Bu tespit yöntemleriyle AS-REP Roasting erken bir aşamada fark edilebilir ve zarar minimize edilebilir.
Password Spraying
Password spraying, bir veya birden fazla parola kullanarak birden çok kullanıcı nesnesine kimlik doğrulama girişiminde bulunma tekniğidir. Amaç, bir kullanıcı nesnesine başarıyla giriş yapmaktır. Bu parolalar genellikle halka açık parola listelerinden alınır veya hedef ortamdan türetilir. Örneğin, kötü niyetli aktörler hedef ortamda tekrar kullanılan parolaları tespit edip bunları password spraying sırasında kullanabilirler.
Kötü niyetli aktörler, Active Directory’den bir kullanıcı adı listesi alarak her kullanıcıya tek bir parolayla giriş yapmaya çalışabilirler. Bu yöntem, özellikle parolaların tekrar kullanıldığı ortamlarda etkilidir. Eğer kötü niyetli aktörler bir kullanıcı nesnesini bu teknikle ele geçirirse, bu nesne üzerindeki erişim ve ayrıcalıkları da kontrol altına almış olurlar.
Paylaşımlı Dosyalar ve Active Directory Kimlik Bilgileri
Kötü niyetli aktörler, paylaşımlı dosyaları tarayarak Active Directory kullanıcı nesnelerine ait güvenli olmayan şekilde saklanmış kimlik bilgilerini bulmaya çalışabilirler. Bu taramalar genellikle şu araçlarla yapılır:
- SMBMap, Snaffler gibi araçlar.
Bu araçlar, kimlik bilgilerini (örneğin, açık metin parolalar), hassas bilgileri, API anahtarlarını, dijital sertifikaları ve yedek dosyalarını tespit etmek için kullanılır.
Eğer kötü niyetli aktörler bu tür kimlik bilgilerini bulursa, ayrıcalıklarını yükseltmek ve yatay hareket sağlamak için bu bilgileri kullanabilirler. Bu, saldırıların tespit edilmesini zorlaştırır çünkü kötü niyetli aktörler, diğer tekniklere başvurmadan başka kullanıcı nesneleri üzerinde kontrol elde edebilirler.
Önlemler:
- Kuruluşlar, Active Directory kimlik bilgileri de dahil olmak üzere hassas bilgileri korumak için birinci sınıf parola yönetim çözümleri kullanmalıdır.
- Paylaşımlı dosyalarda güvensiz şekilde saklanmış bilgileri bulmak için düzenli taramalar yapılmalıdır.
Hesap Kilitleme Politikaları ve MFA’nın Etkisi
Birçok kuruluş, bir kullanıcı nesnesinin başarısız kimlik doğrulama girişimlerinden sonra kilitlenmesini sağlayan bir hesap kilitleme eşiği politikası uygular. Bu, kötü niyetli aktörlerin çok fazla farklı parolayı denemesini engeller. Ancak, bu politikaya rağmen, kötü niyetli aktörler kilitlenme eşiğine ulaşmadan password spraying gerçekleştirebilir.
Bazı kötü niyetli aktörler, kilitlenme eşiğini aşmamak için araçlar kullanır:
- DomainPasswordSpray ve Spray gibi araçlar, kilitlenme eşiğini tespit ederek buna göre girişimlerde bulunur.
MFA’nın Etkisi:
- MFA, başlangıçta erişim elde etmek için yapılan password spraying saldırılarını engelleyebilir. Ancak kötü niyetli aktörler zaten erişim sağlamışlarsa, NTLM protokolü gibi MFA’yı desteklemeyen yöntemleri kullanarak saldırılarını sürdürebilirler.
NTLM tabanlı saldırıları azaltmak için:
- NTLM protokolünü devre dışı bırakın.
- Eğer mümkün değilse, LDAP channel binding, genişletilmiş korumalı kimlik doğrulama ve SMB imzalama gibi ek güvenlik önlemleri etkinleştirilmelidir.
Varsayılan Administrator Hesabı ve Password Spraying
Her Active Directory domaininde, varsayılan olarak oluşturulan bir Administrator hesabı vardır. Bu hesap:
- Domain Admins ve Administrators güvenlik gruplarının varsayılan üyesidir.
- Forest root domaini ise Enterprise Admins grubunun da üyesidir.
Bu hesap, kilitlenme eşiği politikasına tabi değildir. Parola doğru girildiği sürece hesap kilitli olsa bile kimlik doğrulama sağlanabilir. Bu durum, Administrator hesabını password spraying için çekici bir hedef haline getirir.
Koruma Yöntemleri:
- Minimum 30 karakter uzunluğunda, benzersiz, tahmin edilemez ve yönetilen bir parola belirleyin.
- Bu hesabı yalnızca acil durumlar için kullanın ve bu hesapla ilişkili kimlik doğrulama olaylarını izleyin.
- Hesabı “hassas” olarak işaretleyerek devredilemez hale getirin ve nerede kullanılabileceğini sınırlandırın.
Password Spraying’i Önleme
- Güçlü Parola Kullanımı:
- Yerel yönetici hesapları ve hizmet hesapları için minimum 30 karakter uzunluğunda parolalar oluşturun.
- Kullanıcı hesapları için minimum 15 karakter uzunluğunda rastgele oluşturulmuş parolalar kullanın.
2. Hesap Kilitleme Politikası:
- Beş başarısız girişimden sonra hesapların kilitlenmesini sağlayın.
3. Şifre Yönetimi:
- Şifrelerin rastgele oluşturulmasını ve tekrar kullanılmamasını sağlayın.
4. Ağ Taramaları:
- Aylık taramalarla açık metin kimlik bilgilerini tespit edin ve kaldırın.
5. NTLM Protokolünü Devre Dışı Bırakın:
- NTLM protokolü destekleniyorsa, LDAP ve SMB imzalama gibi ek koruma yöntemleri uygulayın.
Password Spraying’i Tespit Etmek
Password spraying sırasında her başarısız girişim için bir olay oluşturulur. Tespit yöntemleri şunlardır:
- Kısa bir zaman diliminde birçok başarısız girişim için 4625 olaylarını analiz edin.
- DomainPasswordSpray ve CrackMapExec gibi araçların SMB protokolünü kullandığını unutmayın ve bu olayları izleyin.
Tespit İçin Önemli Olaylar:
- 2889: LDAP protokolü ile yapılan yetkilendirme denemelerini kaydeder.
- 4625: SMB protokolü ile başarısız oturum açma girişimlerini kaydeder.
- 4648: Açık kimlik bilgileri ile yapılan oturum açma girişimlerini kaydeder.
- 4740: Bir kullanıcı nesnesinin kilitlenmesi durumunda üretilir.
- 4771: Kerberos ön kimlik doğrulamasının başarısız olduğu durumlarda üretilir.
MachineAccountQuota İhlali
MachineAccountQuota ihlali, Active Directory’nin varsayılan olarak ms-DS-MachineAccountQuota özelliği aracılığıyla kullanıcı nesnelerinin domain içinde 10 bilgisayar nesnesi oluşturmasına izin vermesinden yararlanır. Bu bilgisayar nesneleri, otomatik olarak Domain Computers güvenlik grubuna eklenir ve grubun ayrıcalıklarını devralır.
Get Saniye Nur’s stories in your inbox
Join Medium for free to get updates from this writer.
Kötü niyetli aktörler, tespit edilme riskini azaltmak için bilgisayar nesnesinin adını, domain’deki diğer nesnelerle benzer görünecek şekilde ayarlayabilir. Eğer Domain Computers güvenlik grubu aşırı ayrıcalıklara sahipse veya daha yüksek ayrıcalıklı grupların üyesiyse, kötü niyetli aktörler bu durumu ayrıcalıklarını artırmak için kullanabilir. Kendi bilgisayar nesnelerini oluşturarak, bu nesneyle kimlik doğrulaması yapabilir ve onun ayrıcalıklarını devralabilirler.
KrbRelayUp ile Kullanımı
Bu ihlal, KrbRelayUp gibi başka saldırı yöntemlerinin bir parçası olarak da kullanılabilir. Eğer domain’de LDAP signing etkin değilse (Active Directory’nin varsayılan ayarı), kötü niyetli aktörler KrbRelayUp kullanarak yerel yönetici yetkilerini artırabilirler.
MachineAccountQuota İhlalini Önleme
- Yetkisiz Kullanıcı Nesnelerini Sınırlandırma:
- Kullanıcı nesnelerinin bilgisayar nesnesi oluşturmasını engelleyin. ms-DS-MachineAccountQuota özelliğini sıfır olarak ayarlayın. Yeni bilgisayar nesnelerinin yalnızca sistem yöneticileri gibi yetkili kişiler tarafından eklenmesi gerektiğini unutmayın.
2. Domain Computers Güvenlik Grubu:
- Bu grubun ayrıcalıklı güvenlik gruplarının üyesi olmadığından emin olun.
- Bu grubun Active Directory nesneleri üzerinde yazma ayrıcalığı olmadığından emin olun.
3. LDAP Signing’i Etkinleştirin:
- LDAP signing, kullanıcı kimlik doğrulaması, mesaj imzalama ve şifreleme gibi çeşitli güvenlik korumaları sağlar ve KrbRelayUp gibi saldırılara karşı koruma sağlar.
MachineAccountQuota İhlalini Tespit Etmek
Her yeni bilgisayar nesnesi oluşturulduğunda Event 4741 üretilir. Bu olay, nesnenin özellikleri ve kim tarafından oluşturulduğu hakkında bilgi içerir. Aşağıdaki olaylar analiz edilerek ihlal tespit edilebilir:
Event IDKaynakAçıklama4624Domain ControllersBir nesne başarıyla giriş yaptığında üretilir. Event 4741 ile ilişkilendirilerek analiz edilebilir.4724Domain ControllersBir nesnenin parolası sıfırlandığında üretilir. Parola sıfırlama ve bilgisayar nesnesi oluşturma olayları eşleşirse bu bir ihlal işareti olabilir.4741Domain ControllersYeni bir bilgisayar nesnesi oluşturulduğunda üretilir. Bu olay, kötü niyetli bir işlem olup olmadığını belirlemek için analiz edilebilir.
Unconstrained Delegation (Sınırsız Delegasyon)
Bilgisayar nesneleri, kullanıcı nesnelerinin kimliğine bürünerek başka hizmetlere erişim sağlamak için yapılandırılabilir. Sınırsız delegasyon, bir bilgisayar nesnesine herhangi bir hizmet için bir kullanıcı nesnesinin kimliğine bürünme yetkisi verir. Kullanıcı nesnesi, bu tür bir bilgisayara kimlik doğrulaması yaptığında, TGT (Ticket Granting Ticket) bilgisayarın LSASS (Local Security Authority Subsystem Service) sürecinde saklanır.
Kötü niyetli aktörler, bu bilgisayar nesnelerini ele geçirerek LSASS sürecinden TGT’leri çıkarabilir ve ayrıcalıklarını artırabilir. Örneğin, bir domain yöneticisi yetkilerine sahip bir kullanıcı, bu tür bir bilgisayara daha önce kimlik doğrulaması yaptıysa, kötü niyetli aktör onun TGT’sini ele geçirerek domain yöneticisi yetkilerini elde edebilir.
Unconstrained Delegation’ı Önleme
- Delegasyon Yapılandırması:
- Bilgisayar nesnelerinin sınırsız delegasyon için yapılandırılmadığından emin olun. Eğer delegasyon gerekiyorsa, kaynak tabanlı sınırlı delegasyon kullanın.
2. Hassas Kullanıcı Nesneleri:
- Ayrıcalıklı kullanıcı nesnelerini “Hassas ve devredilemez” olarak ayarlayın.
- Bu kullanıcıları Protected Users güvenlik grubuna dahil edin.
3. Yazıcı Kuyruğu Servisini Devre Dışı Bırakın:
- Domain Controller’larda Print Spooler servisini devre dışı bırakın. Bu, yazıcı kuyruğu servisini kötüye kullanarak kimlik doğrulama sağlama girişimlerini engeller.
Tespit
Sınırsız delegasyon yapılandırılmış bilgisayar nesneleri için olağandışı kimlik doğrulama olayları izlenmelidir. Örneğin:
- Normalde giriş yapmayan kullanıcı nesnelerinin kimlik doğrulama girişimleri.
- Olağandışı saatlerde yapılan giriş denemeleri.
Önemli Olay ID’leri:
- 4103, 4104: PowerShell aktiviteleri analiz edilerek olağandışı işlemler tespit edilebilir.
- 4624, 4688: Yeni süreç oluşturma ve kimlik doğrulama girişimleri analiz edilerek ihlaller tespit edilebilir.
- 4770: TGT yenileme olayları izlenmelidir, çünkü kötü niyetli aktörler TGT’lerin süresini uzatabilir.
Sınırsız Delegasyon (Unconstrained Delegation)
Bilgisayar nesneleri, başka hizmetlere erişmek için kullanıcı nesnelerinin kimliğine bürünebilecek şekilde yapılandırılabilir. Bu işlem, iki şekilde yapılandırılabilir:
- Sınırlı delegasyon (Constrained Delegation): Yalnızca belirli hizmetlerle sınırlıdır.
- Sınırsız delegasyon (Unconstrained Delegation): Bilgisayar nesnesine herhangi bir hizmet için kullanıcı nesnesinin kimliğine bürünme yetkisi verir.
Bir bilgisayar nesnesi sınırsız delegasyon için yapılandırıldığında ve bir kullanıcı nesnesi bu bilgisayara kimlik doğrulaması yaptığında, kullanıcı nesnesinin TGT’si (Ticket Granting Ticket) bu bilgisayarın LSASS (Local Security Authority Subsystem Service) sürecinde saklanır.
Kötü niyetli aktörler, sınırsız delegasyon için yapılandırılmış bilgisayar nesnelerini hedef alarak ayrıcalıklarını yükseltmek ve yatay hareket sağlamak için kullanabilirler. Eğer bu tür bir bilgisayar nesnesini ele geçirir ve yerel yönetici erişimi elde ederlerse:
- LSASS sürecinden kullanıcı nesnelerinin TGT’lerini çıkarabilirler.
- Özellikle bir domain yöneticisinin TGT’sini ele geçirirlerse, domain yöneticisi yetkilerini devralabilirler.
Kötü niyetli aktörler ayrıca, bir kullanıcı nesnesini bir bilgisayara kimlik doğrulaması yapmaya zorlayarak TGT’nin LSASS sürecinde saklanmasını sağlayabilirler. Bu, domain’deki herhangi bir kullanıcı nesnesini hedef alarak kontrol sağlamalarına olanak tanır.
Sınırsız Delegasyon ve Domain Controller Print Spooler Servisi
Kötü niyetli aktörler, sınırsız delegasyonu kötüye kullanarak Domain Controller Print Spooler servisini hedef alabilirler.
- Print Spooler servisi, Domain Controller’ın başka bir sisteme (sınırsız delegasyon yapılandırılmış bir bilgisayar nesnesine) kimlik doğrulaması yapmaya zorlanmasında kullanılabilir.
- Bu durumda, kötü niyetli aktörler Domain Controller’ın bilgisayar hesabına ait TGT’yi ele geçirebilirler.
- Bu TGT’yi kullanarak Domain Controller’a kimlik doğrulaması yapabilir ve yönetici erişimi elde edebilirler.
Bu erişimle, aktörler ntds.dit veritabanını çıkarmak veya Skeleton Key gibi daha ileri teknikleri kullanmak gibi başka yöntemler uygulayabilirler.
Sınırsız Delegasyon İhlalini Önleme
- Delegasyon Yapılandırmaları:
- Bilgisayar nesnelerinin sınırsız delegasyon için yapılandırılmadığından emin olun.
- Eğer delegasyon gerekiyorsa, kaynak tabanlı sınırlı delegasyon (resource-based constrained delegation) kullanın.
2. Hassas Kullanıcı Nesneleri:
- Ayrıcalıklı kullanıcı nesnelerini “Hassas ve devredilemez” olarak ayarlayın.
- Ayrıcalıklı kullanıcı nesnelerini Protected Users güvenlik grubuna dahil edin. Bu gruptaki kullanıcılar devredilemez.
3. Print Spooler Servisi:
- Domain Controller’larda Print Spooler servisini devre dışı bırakın.
Sınırsız Delegasyon İhlalini Tespit Etmek
Sınırsız delegasyon yapılandırılmış bilgisayar nesneleri için şu durumlar izlenmelidir:
- Olağandışı kimlik doğrulama olayları (örneğin, sistemde normalde oturum açmayan kullanıcılar).
- Olağandışı zamanlarda gerçekleşen kimlik doğrulama girişimleri.
PowerShell aktiviteleri de izlenmelidir çünkü kötü niyetli aktörler, sınırsız delegasyonu kötüye kullanmak için genellikle PowerShell kullanır. Olağandışı PowerShell aktiviteleri, bir ihlal göstergesi olabilir.
Tespit İçin Önemli Olay ID’leri
Olay IDAçıklama4103PowerShell çalıştığında üretilir. Olağandışı PowerShell komutlarını analiz etmek, bir ihlalin işareti olabilir.4104PowerShell tarafından çalıştırılan kodları ve komutları kaydeder. Olağandışı aktiviteleri analiz edin.4624Kimlik doğrulama girişimi başarılı olduğunda üretilir. Olağandışı giriş denemelerini veya IP adreslerini kontrol edin.4688Yeni bir süreç oluşturulduğunda üretilir (örneğin, LSASS sürecinden TGT çıkarma). Kötü niyetli süreçler analiz edilebilir.4770Bir TGT yenilendiğinde üretilir. TGT süresi uzatılmışsa bu, kötüye kullanımın bir göstergesi olabilir.
Group Policy Preferences (GPP) Şifrelerinin Ele Geçirilmesi
GPP Şifrelerinin Ele Geçirilmesi problemi, 2014'te Microsoft’un Group Policy Preferences (GPP) özelliğinde bulunan bir ayrıcalık yükseltme zafiyetinin (CVE-2014–1812) keşfiyle ortaya çıkmıştır. Bu zafiyet, kötü niyetli aktörlerin GPP tarafından dağıtılan şifreleri deşifre etmesine izin veriyordu.
- GPP, genellikle yerel yönetici hesaplarının şifrelerini ayarlamak, ağ paylaşımlarını eşlemek ve zamanlanmış görevler oluşturmak için kullanılıyordu.
- Bu şifreler, cpassword olarak bilinir ve SYSVOL dizininde saklanır. Bu dizin, domain’deki tüm kullanıcılar tarafından okunabilir.
Ancak, 2012 yılında bu şifreleri şifrelemek için kullanılan özel anahtar internete sızdı. Böylece, cpassword şifreleri kolaylıkla açık metin şifrelere dönüştürülebilir hale geldi. Microsoft, 2014 yılında bir güvenlik yaması (2962486) yayımlayarak bu zafiyeti düzeltti ve cpassword’lerin oluşturulmasını devre dışı bıraktı. Ancak, bu yama eski cpassword’leri kaldırmadı; bu şifrelerin manuel olarak silinmesi gerekiyor. Birçok kuruluş bu işlemi tamamlamadığından, cpassword’ler hala yaygın bir güvenlik açığı oluşturmaktadır.
Kötü niyetli aktörler, SYSVOL dizinindeki cpassword dosyalarını hedef alarak hızla ayrıcalıklarını yükseltebilir ve standart bir kullanıcıdan yerel yöneticiye veya ayrıcalıklı bir domain kullanıcısına dönüşebilirler.
GPP Şifrelerini Ele Geçirme Riskini Azaltma
- Tüm GPP Şifrelerini Kaldırın: SYSVOL dizininde cpassword’lerin bulunmasını tamamen önleyin.
- Microsoft Güvenlik Yamalarını Uygulayın:
- 2962486 numaralı güvenlik yamasını uygulayın. Bu yama, yeni cpassword’lerin oluşturulmasını engeller.
3. Microsoft LAPS Kullanın: Yerel yönetici şifrelerini güvenli bir şekilde yönetmek için Microsoft LAPS gibi daha modern araçlara geçiş yapın.
AD CS Zafiyetleri ve Saldırılar (ESC1-ESC13)
Active Directory Certificate Services (AD CS), Microsoft’un public key infrastructure (PKI) hizmetini sağlar. AD CS zafiyetleri, kötü niyetli aktörlerin ayrıcalıklarını yükseltmesi ve yatay hareket yapması için kullanılabilir.
ESC1 Zafiyeti:
Bu zafiyet, herhangi bir kullanıcı nesnesinin başka bir kullanıcı nesnesi adına sertifika talep etmesine izin verir.
- Kötü niyetli aktörler, ayrıcalıklı bir kullanıcı nesnesi adına sertifika alabilir ve bu nesneyi taklit edebilir.
- Sertifika, kullanıcı nesnesinin parolası değişse bile geçerli kalır ve yalnızca süresi dolduğunda veya iptal edildiğinde geçersiz hale gelir.
Diğer Zafiyetler (ESC2-ESC13):
Benzer şekilde, farklı sertifika şablonları ve yapılandırmaları kötüye kullanılabilir.
AD CS Saldırılarını Önleme
- Sertifika Şablonları:
- Enrolee Supplies Subject seçeneğini kaldırın. Kullanıcıların kendi SAN’lerini (Subject Alternative Name) sağlamasına izin vermeyin.
2. Kullanıcı Nesnesi İzinlerini Kısıtlayın:
- Standart kullanıcı nesnelerinin sertifika şablonlarında yazma iznine sahip olmadığından emin olun.
3. Vulnerable CA Konfigürasyonlarını Kaldırın:
- EDITF_ATTRIBUTESUBJECTALTNAME2 bayrağını devre dışı bırakın.
4. CA Onayı Gerektir:
- SAN içeren sertifikaların otomatik olarak değil, CA yöneticisi onayıyla verilmesini sağlayın.
Tespit ve Güvenlik Araçları
- PSPKIAudit ve Certify:
- AD CS altyapısını analiz ederek ESC1-ESC8 zafiyetlerini tespit eder.
2. Certutil ve Certificate Manager:
- Sertifika şablonlarını analiz eder ve zafiyetleri ortaya çıkarır.
- Kullanıcı Kimlik Doğrulamasını Etkinleştiren EKU’ları Kaldırın:
- Sertifikaların kullanıcı kimlik doğrulamasında kullanılmasını engelleyin. Bu, kötü niyetli aktörlerin sertifikaları diğer kullanıcılar gibi kimlik doğrulaması yapmak için kullanmasını önler.
- AD CS CA Sunucularına Erişimi Sınırlayın:
- AD CS CA sunucularına yalnızca gerekli erişim ihtiyacı olan ayrıcalıklı kullanıcıların erişmesine izin verin. Bu grup, Domain Admins güvenlik grubundan daha küçük bir alt küme olabilir, böylece kötü niyetli aktörlerin CA sunucularına erişme fırsatları azaltılır.
- AD CS CA Sunucularına Ayrıcalıklı Erişim Yollarını Kısıtlayın:
- Jump server ve güvenli yönetici iş istasyonları kullanarak, yalnızca gerekli port ve hizmetlerle erişim sağlayın. Microsoft’un Enterprise Access Model’ine göre, AD CS sunucuları Tier 0 varlıklar olarak sınıflandırılır.
- AD CS Sunucularını Yalnızca AD CS İçin Kullanın:
- AD CS CA sunucularında güvenlik dışı hizmetler veya uygulamalar yüklemeyin. Bu, AD CS sunucularındaki saldırı yüzeyini küçülterek daha az güvenlik açığı bulunan port, hizmet ve uygulama olmasını sağlar.
- Yedeklemeleri Şifreleyin ve Güvenli Bir Şekilde Saklayın:
- AD CS CA sunucularının yedeklerini şifreleyin ve yalnızca Backup Administrators erişimine izin verin. Yedekler, AD CS CA sunucularının kendisiyle aynı güvenlik önlemlerine tabi tutulmalıdır, çünkü kötü niyetli aktörler yedekleme sistemlerini kritik ve hassas bilgisayar nesnelerine erişim sağlamak için hedefleyebilirler.
- Merkezi Olarak AD CS CA Sunucusu Loglarını İzleyin ve Analiz Edin:
- AD CS CA sunucularına ayrıcalıklı erişim sağlanırsa, bu etkinliklerin hızlıca tespit edilmesi ve müdahale edilmesi için loglar zamanında analiz edilmelidir.
AD CS İhlallerini Tespit Eden Olay ID’leri
- Olay ID 39:
- Kaynak: Domain Controllers
- Açıklama: Sertifikada güçlü bir eşleşme bulunamadığında üretilir.
- Olay ID 40:
- Kaynak: Domain Controllers
- Açıklama: Sertifika, kullanıcı Active Directory’de oluşturulmadan önce verilmişse ve güçlü bir eşleşme yoksa üretilir.
- Olay ID 41:
- Kaynak: Domain Controllers
- Açıklama: Sertifika, kullanıcının SID’siyle eşleşmiyorsa ve başka bir kullanıcı için verilmişse üretilir.
- Olay ID 1102:
- Kaynak: Kök ve Alt CA’lar
- Açıklama: Güvenlik logları temizlendiğinde üretilir. Bu, kötü niyetli aktörlerin faaliyetlerini gizleme girişimlerini gösterebilir.
- Olay ID 4674:
- Kaynak: Domain Controllers
- Açıklama: Korumalı bir nesne üzerinde ayrıcalıklı işlem girişiminde bulunulduğunda üretilir. Sertifika şablonlarına yapılan değişiklikleri gösterebilir.
- Olay ID 4768:
- Kaynak: Domain Controllers
- Açıklama: Bir TGT talep edildiğinde üretilir. PreAuthType değeri 16 ise, sertifika kullanıldığını gösterir.
- Olay ID 4886:
- Kaynak: Kök ve Alt CA’lar
- Açıklama: AD CS’ye bir sertifika isteği ulaştığında üretilir. Bu, kötü niyetli bir aktörün yetki yükseltme girişimlerini gösterebilir.
- Olay ID 4887:
- Kaynak: Kök ve Alt CA’lar
- Açıklama: AD CS bir sertifika talebini onayladığında ve sertifika verdiğinde üretilir.
- Olay ID 4899:
- Kaynak: Kök ve Alt CA’lar
- Açıklama: Sertifika şablonları güncellendiğinde üretilir. Bu, kötü niyetli aktörlerin şablonları değiştirerek zafiyet oluşturduğunu gösterebilir.
- Olay ID 4900:
- Kaynak: Kök ve Alt CA’lar
- Açıklama: Sertifika şablonlarındaki güvenlik ayarları değiştirildiğinde üretilir. ACL’nin değiştirilmiş olabileceğini gösterebilir.
REF
- https://cloud.google.com/blog/topics/threat-intelligence/defend-ad-cs-threats/
- https://www.blackhillsinfosec.com/abusing-active-directory-certificate-services-part-one/?
- https://www.cisa.gov/news-events/alerts/2015/08/07/required-group-policy-preference-actions-microsoft-security-bulletin?
- https://specterops.io/wp-content/uploads/sites/3/2022/06/Certified_Pre-Owned.pdf?









