2021 yılında SpecterOps araştırmacıları Will Schroeder ve Lee Christensen tarafından yayımlanan “Certified Pre-Owned” başlıklı teknik white paper, kurumsal Active Directory ortamlarında onlarca yıldır göz ardı edilen bir saldırı yüzeyini gün yüzüne çıkardı: Active Directory Certificate Services (ADCS).
ADCS; dijital sertifika vermek, PKI altyapısını yönetmek ve Windows kimlik doğrulama mekanizmalarıyla entegre çalışmak amacıyla kurumsal ağlarda yaygın biçimde konuşlandırılan bir Microsoft rolüdür. Ne var ki bu rol, onlarca yıllık saldırı odağı olan LDAP veya Kerberos’un aksine güvenlik araştırmacılarının ilgi alanında uzun süre kalmamış; bu da kurumları farkında olmadan kritik risklere maruz bırakmıştır.
Bugün, saldırganların bir kullanıcı hesabından domain admin yetkisine dakikalar içinde yükselmesini sağlayan ESC8 atağını ve bu ataktan nasıl korunulacağını mercek altına alıyoruz.
ESC8, Active Directory ortamlarında hafife alınan ama son derece tehlikeli bir yanlış yapılandırmayı temsil eder. Saldırı; ağ erişimi olan herhangi bir kullanıcının, karmaşık exploit kodu yazmaksızın domain’i tamamen ele geçirmesine olanak tanır. Aynı zamanda ESC8, listede en az önkoşul gerektiren kategoridir. Yalnızca ağ erişimi yeterlidir. Bu durum onu saldırganlar açısından özellikle çekici kılar.
Temel Terminoloji
ESC8’i anlamak için aşağıdaki kavramlara hâkim olmak gerekmektedir:
/certsrv). ESC8 saldırısının birincil hedefidir.ESC8 Atağı Nedir?
Teknik olarak ESC8, bir NTLM Relay saldırısıdır. AD CS’in Web Enrollment özelliği, HTTP arayüzü (/certsrv) üzerinden sertifika talebi almaktadır ve bu arayüz NTLM kimlik doğrulamasını destekler. Saldırı, iki kritik güvenlik önleminin eksik olduğu durumlarda mümkün hale gelir:
ESC8 ‘in AD ortamında istismar edilebilmesi için gerekli şartlar aşağıdaki gibidir.
EPA, NTLM oturumunu altta yatan TLS kanalının channel binding token‘ına bağlar. Bu sayede relay saldırganı TLS oturumunu taklit edemez ve NTLM relay başarısız olur. EPA devre dışıysa bu koruma yoktur.
Web Enrollment HTTP üzerinden sunuluyorsa zaten bir TLS kanalı yoktur; EPA mekanizması çalışamaz. Ayrıca ağ trafiği şifrelenmediğinden koklama (sniffing) da mümkündür.
Saldırının özü şudur: Saldırgan, yüksek yetkili bir hesabın (tipik olarak Domain Controller makine hesabı: DC01$) NTLM kimlik doğrulamasını bir coerce tekniğiyle kendisine yönlendirir; ardından bu NTLM akışını gerçek zamanlı olarak ADCS Web Enrollment’a iletir. ADCS bu isteği meşru bir DC talebi olarak değerlendirir ve DC01$ adına sertifika düzenler. Sertifikayı eline geçiren saldırgan, Kerberos PKINIT aracılığıyla TGT alıp DCSync ile tüm domain kimlik bilgilerini dökebilir.
Coerce + Relay
NTLM gönderir
/certsrv
Domain ✓
⚠ Neden DC$ Hedef Alınır?
Domain Controller makine hesapları (DC$), AD replikasyon haklarına sahip oldukları için DCSync saldırısı gerçekleştirmeye yetkilidirler. Bir DC$ adına sertifika almak, o DC’nin kimliğini Kerberos düzeyinde taklit etme imkânı verir; bu da pratik olarak tüm domain kimlik bilgilerinin ele geçirilmesi anlamına gelir.
NTLM Relay Zinciri — Teknik Detay
Saldırının teknik akışı altı temel adımdan oluşur. Her adım bir öncekinin çıktısını girdi olarak kullanır ve zincir kırılmadığı sürece saldırı başarıyla tamamlanır:
① PetitPotam / PrintSpooler ile auth zorla
② NTLM NEGOTIATE / CHALLENGE / AUTHENTICATE
③ NTLM akışını /certsrv’ye iletir (relay)
④ DC01$ adına DomainController şablonlu sertifika verir
⑤ PKINIT ile TGT + NT hash alır (DC01$ kimliğiyle)
⑥ DCSync — NTDS.dit’ten tüm hash’ler dökülür
Adım Adım Saldırı — Lab Ortamı
Bu bölümde ilgili saldırıyı gerçekleştirelim sonrasında gerekli önlemleri aldıktan sonra saldırının gerçekleşip gerçekleşmediğini kontrol edelim.
Keşif — ADCS Zafiyetlerini Tespit Etme
Certipy, domain’deki CA sunucularını, sertifika şablonlarını ve zafiyetli yapılandırmaları otomatik tespit eder.
NTLM Relay Sunucusunu Başlatma
Certipy kullanarak relay listing yapıyoruz.
Bu terminal penceresini kapatmadan bir diğer pencerede authentication coercion işlemini başlatıyoruz.
Authentication Coercion — Coercer
Coercer, MS-EFSRPC aracılığıyla Domain Controller’ı saldırganın IP’sine NTLM isteği göndermeye zorlar.
* Aynı işlemi PetitPotam tool ile de yapabilirsiniz.
İşlem sonrası bir önceki adımda başlattığımız terminal penceresine döndüğümüzde Certipy’ın DC01 makinesinden gelen authentication talebini relay ederek sertifikayı aldığını ve kaydettiğini görüyoruz.
Pass-the-Certificate — TGT ve NT Hash Alma
Elde edilen sertifika Certipy’nin auth modülüne verilir; PKINIT protokolüyle DC01$ adına TGT ve NT hash alınır.

Bu adımda ister TGT kullanarak DCSync saldırısı, isterseniz de NT Hash kullanarak DCSync saldırısı gerçekleştirebilirsiniz. Aşağıda ikisi ile de ilgili örneği bulabilirsiniz.
Korunma Yöntemleri
Derinlemesine savunma (defense-in-depth) yaklaşımıyla, öncelik sırasına göre:
1. EPA’yı Zorunlu Kıl
- IIS Manager →
certsrv→ Windows Authentication → Advanced Settings - Extended Protection →
Requiredyap - Bu adım tek başına NTLM relay’i engeller
2. HTTPS Zorunlu Kıl
- Web Enrollment’ı yalnızca HTTPS üzerinden erişilebilir yap
- IIS’te HTTP → HTTPS yönlendirmesi kur
- Geçerli SSL sertifikası kullan
3. Web Enrollment’ı Kaldır
- Kullanılmıyorsa
/certsrvrolünü kaldır - Enrollment için RPC tabanlı yöntemleri tercih et
- Attack surface köklü biçimde azalır
4. PetitPotam Koruması
- KB5005413 güvenlik güncellemesini uygula
- GPO ile kimliği doğrulanmamış EFS RPC’yi engelle
- PrintSpooler’ı gereksiz DC’lerde kapat
5. SMB Signing & NTLM Kısıt
- Domain genelinde SMB Signing zorunlu kıl
- NTLM’yi kademeli kısıtla: Audit → Block
- Privileged hesaplar için Protected Users grubu
6. Periyodik Tarama
- Certipy ile aylık ADCS denetimi yap
- BloodHound ile PKI zincirini görselleştir
- Yeni şablonları güvenlik gözden geçirmesiyle onayla
SSL Required
SSL Seritifikasını assign ederek SSL require seçeneğini seçiyoruz. Ayrıca Web Enrollment için 80 portundan yayını kapatabilirsiniz. Lab ortamında olduğumdan dolayı http:80 binding portunu remove ediyorum fakat doğrusu IIS üzerindeki url rewrite modülünden HTTP -> HTTPS yönlendirmesi yapmaktır.

Kontrol
Yaptığımız günvelik önlemleri sonrası tekrar certipy ile tarama yaptığımızda HTTPS iletişiminin enable olduğunu ve NTLM olarak bağlanamadığını görebiliyoruz.
Tespit & İzleme
Önleyici kontrollere ek olarak aktif izleme, saldırı girişimlerinin erken fark edilmesini sağlar. Aşağıda event log üzerinde takip edebileceğiniz ve SIEM tarafında alert oluşturabileceğiniz event id ‘leri bulabilirisniz.
Sonuç
ESC8, Active Directory ortamlarında onlarca yıldır sessizce var olan ama görece yakın zamana kadar yeterince araştırılmamış bir saldırı vektörünü temsil eder. Saldırıyı tehlikeli kılan üç temel özellik:
Faydalı olması dileğiyle…
Aşağıdaki linkler de ilginizi çekebilir.












