June 14, 2026
Active Directory Certificate Services Exploitation 5–8
Önceki yazımızda sertifika servislerinin temelde ne olduğunu ve bazı yanlış yapılandırmaların nelere yol açabileceğini görmüştük. Uzun bir…
0xb0z
4 min read
Önceki yazımızda sertifika servislerinin temelde ne olduğunu ve bazı yanlış yapılandırmaların nelere yol açabileceğini görmüştük. Uzun bir aradan sonra kaldığımız yerden devam edelim :)
ESC 5 Misconfiguration — Golden Certificate
ESC 4'de sertifika şablonları hedeflenirken, ESC 5 doğrudan PKI altyapısını yöneten kritik AD nesneleri hedeflenir. Peki bu zafiyet nasıl ortaya çıkıyor ona bakalım.
AD Konfigürasyon bölümünde (Configuration Naming Context) altında bulunan ve PKI yapısını yöneten nesneler üzerinde yazma veya tam kontrol (Generic All/Owner) gibi yetkilere sahip olması durumunda ortaya çıkar.
Certificate Authority Object
NTAuthCertificates Nesnesi
Authority Information Access ve CRL Distribution Poin nesneleri hedeflenebilir.
ESC 5 misconfiguration'ı sömürebilmek için CA makinede local administrator yetkimizin de bulunması gerekiyor. Dolayısıyla burada hali hazırda local administrator yetkisi olan bir kullanıcı ile devam edeceğiz.
Lab ortamı için kullanıcıda local admin yetkisinin olduğunu doğrulayalım.
Certificate Authority'nin sertifikasını ve anahtarını alalım.
Private key'i kullanarak administrator kullanıcısı adına imzalanmış bir sertifika oluşturabiliriz. TGT talebi sonrası NT Hash'i almış olduk.
Son olarak DC'de shell alalım
ESC 6 Misconfiguration
İşaretlemiş olduğumuz flag disable edildiğinde SAN enjeksiyonunu engeller. Ancak bu lab'da enable edildiği için bir kullanıcıyı impersonate edebilir ve kullanıcı adına sertifika talebinde bulunabiliriz.
Administrator için doğrulanmış sertifikayı aldıktan sonra authenticate olup erişim alabiliriz.
Shell alalım
Ek olarak EDITF_ATTRIBUTESUBJECTALTNAME2 attribute'unu disable edebilirsiniz CA server üzerinde.
ESC 7 Misconfiguration
Daha önce bahsetmiş olduğum ESC 4 sertifika şablonu izinlerini, ESC 5 PKI nesne izinlerini hedefliyorken; ESC 7 CA sunucusunun kendisindeki yönetimsel yetkileri hedef alır.
Elde edilmiş olan düşük ayrıcalıklı bir kullanıcı (veya grup olabilir) için CA server üzerinde iki kritik izne sahip olması gerekiyor:
-
Manage CA: CA'nın genel ayarları (roller, güvenlik ayarları vs.)
-
Manage Certificates : Askıya alınmış veya onay bekleyen sertifika isteklerinin onaylama yetkisi.
Ekran görüntüsünde de görülebileceği üzere ManageCA için yetkisi bulunan bir kullanıcıya sahibiz.
Sertifika yöneticisi rolünü elde ettik. Artık bu kullanıcı sertifikaları onaylama yetkisine sahip.
Sonraki adımda SubCA şablonunu aktif edeceğiz.
Bu şablonu da aktif ettikten sonra domain admin adına sertifika isteğinde bulunacağız ancak bu istek beklemeye düşecek. Biz de kendimizi sertifika yöneticisi olarak atadığımız için daha sonra bu isteği onaylayacağız.
Görüldüğü gibi denied mesajımızı aldık ve bize bir req. ID bıraktı. Bu id ile sertifika talebini onaylayabilirim artık.
Onayladığımız sertifikayı indirebiliriz;
Account'a ait hash'i alabiliriz artık
Görüldüğü gibi standart yetkilerdeki kullanıcılara Issue and Manage Certificates ve Manage CA izinleri tanımlanmamalı.
ESC 8: NTLM Relay
Sertifika server ile domain server aynı makinede olduğundan dolayı DC kendine relay yapamıyor (NTLM Relay'in kısıtlaması). Bu yüzden GOAD LAB üzerinden devam edeceğiz ESC8 zafiyeti için.
Bu saldırıyı gerçekleştirmek için iki aşama gerekli. Kali cihazımız dinleyici (relay), hedefi ise bize bağlanmaya zorlayacak bir tetikleyici olarak rol alacak.
İlk adımda domain tarafında web enrollment etkinleştirilmiş olması gerekli, certipy ile çektiğimiz vuln-certs.txt dosyasından ya da doğrudan web adresine giderek doğrulayabiliriz.
İkinci olarak NTLM Relay koruması (EPA, SMB signing vb.) kapalı veya yanlış yapılandırılmış olmalı. Sertifikaları kontrol edelim.
Temelde bir NTLM Relay saldırısıdır. DC gibi yüksek yetkili bir makine (veya kullanıcı) hedeflenerek kimlik doğrulaması yapmaya zorluyoruz. Kimlik doğrulamasını güvenli olmayan bir web enrollment servisine yönlendirerek (relay ederek) hedefin kimliğine bürünmüş oluyoruz yani sertifika talebinde bulunmuş oluyoruz.
Relay'e zorlamak için farklı araçlar kullanabilirsiniz. PetitPotam, Printerbug veya DFSCoerce gibi. Relay edeceğimiz target burada DC server'ımız. Gelen cevapta aldığımızı DC'ye göndereceğiz.
Ve DC Hash'i elde etmiş olduk.
Zafiyeti gidermek adına aşağıdaki önlemler alınabilir:
Web Enrollment / CES mümkünse devre dışı bırakılmalı.
NTLM relay önlemleri (EPA, SMB signing, LDAP signing, AD CS hardening) etkinleştirilmeli. IIS üzerinde /certsrv yolunu korumak için Extended Protection for Authentication (EPA) özelliğini aktif et.
Domain Controller sertifika şablonları yalnızca DC'lere sınırlandırılmalı.
Zorlama (coercion) yollarını kapat: MS-EFSRPC, RPRN, FSRVP servislerini devre dışı bırak, Windows Güvenlik Duvarı ile bu yolları engelle.