Home » ESC8 Attack & Mitigating NTLM Relay Attack
Posted in

ESC8 Attack & Mitigating NTLM Relay Attack

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.

⚠ Yasal Uyarı: Bu içerik yalnızca eğitim, araştırma ve savunma amaçlıdır. Anlatılan teknikler yalnızca yazılı izin alınan ortamlarda (pentest sözleşmesi, kişisel lab ortamı) uygulanmalıdır. Yetkisiz sistemlere erişim birçok ülkede ağır yaptırımlara tabi suçtur.

Temel Terminoloji

ESC8’i anlamak için aşağıdaki kavramlara hâkim olmak gerekmektedir:

AD CS
Active Directory Certificate Services — Microsoft’un kurumsal PKI rolü. Kullanıcı, bilgisayar ve servis hesapları için dijital sertifika üretir ve yönetir.
CA
Certification Authority — Sertifikaları imzalayan ve dağıtan merkezi otorite. Enterprise CA, domain’e entegre çalışır ve otomatik kayıt destekler.
Sertifika Şablonu
CA’nın hangi koşullarda sertifika vereceğini belirleyen yapılandırma nesnesi. Kim talep edebilir, hangi EKU’lar dahil edilir, onay gerekli mi gibi kuralları içerir.
Web Enrollment
HTTP/HTTPS üzerinden sertifika talebi almaya yarayan ADCS arayüzü (/certsrv). ESC8 saldırısının birincil hedefidir.
NTLM
Windows’un challenge-response tabanlı kimlik doğrulama protokolü. Kerberos’tan eski ve daha zayıf; relay saldırılarına karşı doğası gereği savunmasızdır.
NTLM Relay
Kurbanın NTLM kimlik doğrulama akışını yakalayıp farklı bir servise ileten Man-in-the-Middle saldırısı. Kurbandan parola bilgisi gerektirmez.
Coerce Authentication
Hedef makineyi saldırganın kontrolündeki bir sunucuya NTLM isteği göndermeye zorlamak. PetitPotam, PrinterBug, DFSCoerce bu amaçla kullanılır.
EPA
Extended Protection for Authentication — NTLM bağlantısını TLS kanalına bağlayarak relay saldırılarını engelleyen koruma mekanizması. ESC8’in temel önlem noktasıdır.
PKINIT
Kerberos’un sertifika tabanlı ön kimlik doğrulama uzantısı. Sertifika sahibi, TGT almak için parola yerine özel anahtarını kullanır.
Pass-the-Certificate
Ele geçirilen bir sertifikanın PKINIT aracılığıyla TGT almak için kullanılması tekniği.
DCSync
Domain replikasyon haklarına sahip bir hesap kullanılarak NTDS.dit’ten tüm kullanıcı hash’lerinin çekilmesi saldırısı. Fiziksel DC erişimi gerektirmez.
PetitPotam
MS-EFSRPC protokolündeki açıktan yararlanarak uzak makineleri saldırgana NTLM isteği göndermeye zorlayan araç.

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.

Sorun 1: EPA Devre Dışı
Extended Protection for Authentication
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.
Sorun 2: HTTP Kullanımı
TLS Eksikliği
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.
* DomainComputer ve Client Auhentication ‘a izin veren etkinleştirilmiş en az bir sertifica template olması da gereki fakat default kurulumda varsayılan olarak Machine/Computer template etkin geldiğinden özellikle belirtmedim. Zaten CA güvenlik önlemlerinde “Default Template’leri kullanmayın” önerisi bulunmaktadı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.

▶ Saldırı Akışı — Özet Görünüm

 

🔐
Saldırgan
Coerce + Relay
🖥
DC01$
NTLM gönderir
📄
ADCS
/certsrv
TGT → DCSync
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:

▶ ESC8 — Adım Adım NTLM Relay Zinciri
Saldırgan

① PetitPotam / PrintSpooler ile auth zorla

DC01 (hedef)
DC01$

② NTLM NEGOTIATE / CHALLENGE / AUTHENTICATE

ntlmrelayx.py
Saldırgan

③ NTLM akışını /certsrv’ye iletir (relay)

ADCS /certsrv
ADCS CA

④ DC01$ adına DomainController şablonlu sertifika verir

Saldırgan (.pfx)
Saldırgan

⑤ PKINIT ile TGT + NT hash alır (DC01$ kimliğiyle)

KDC (Domain)
Saldırgan

⑥ DCSync — NTDS.dit’ten tüm hash’ler dökülür

DC01 (Domain)
Kritik: Bu saldırıda NTLM hash’i kırmak gerekmez. NTLM oturumunu olduğu gibi iletmek yeterlidir; bu durum saldırıyı parola karmaşıklığından tamamen bağımsız kılar.

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.

Ortam : 172.17.15.11 – DC – Server 2022 Standard Edition | 172.17.15.12 – CA – Server 2022 Standard Edition | 172.17.15.201 – Kali 2025.4
1

Keşif — ADCS Zafiyetlerini Tespit Etme

Certipy, domain’deki CA sunucularını, sertifika şablonlarını ve zafiyetli yapılandırmaları otomatik tespit eder.

2

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.

3

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.

4

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.

5

DCSync — Tüm Domain Hash’lerini Dökme

5.1

NTLMHash kullanarak DCSync Saldırısı

DC$ NT hash’i ile secretsdump kullanılarak domain’deki tüm kimlik bilgileri alınır.

5.2

TGT kullanarak DCSync Saldırısı

Az önce certipy’ ın kaydettiği dc01.ccache TGT’si ile domain’deki tüm kimlik bilgileri alınır.

6

Domain SID’yi DC’den Sorgulama

Lookupsid.py scripti ile bulduğumuz sid’leri domain name olarak görüntüleyebiliriz.

7

Silver Ticket Oluşturma

Ticketer.py scripti ile NTLM Hask kullanarak Administrator kullanıcısı için ticket alma işlemi gerçekleştirilir.

8

Pass the Ticket Saldırısı Gerçekleştirme

Psexec ile Pass the Ticket saldıırısı gerçekleştirilerek shell oturumuna düşülür.

⚠ Sonuç: Baştan sona ~3-5 dakika. Yalnızca domain kullanıcısı yetkisiyle tüm domain kimlik bilgileri ele geçirilir. Parola politikası veya hesap karmaşıklığı bu saldırıyı durdurmaz.

Korunma Yöntemleri

Derinlemesine savunma (defense-in-depth) yaklaşımıyla, öncelik sırasına göre:

★ En Yüksek Öncelik

1. EPA’yı Zorunlu Kıl

  • IIS Manager → certsrv → Windows Authentication → Advanced Settings
  • Extended ProtectionRequired yap
  • Bu adım tek başına NTLM relay’i engeller
★ En Yüksek Öncelik

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
⚑ Önerilen

3. Web Enrollment’ı Kaldır

  • Kullanılmıyorsa /certsrv rolünü kaldır
  • Enrollment için RPC tabanlı yöntemleri tercih et
  • Attack surface köklü biçimde azalır
⚑ Önerilen

4. PetitPotam Koruması

  • KB5005413 güvenlik güncellemesini uygula
  • GPO ile kimliği doğrulanmamış EFS RPC’yi engelle
  • PrintSpooler’ı gereksiz DC’lerde kapat
ℹ Ek Sıkılaştırma

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
ℹ Ek Sıkılaştırma

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
1

EPA Required

Extended Protection ayarını Required seçeneğine set ediyoruz.

2

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.



* En yüksek önceliğe sahip olan önlemleri uyguladım. Dilerseniz diğer önlemleri de uygulayabilirsiniz. Zaten diğer önlemler Microsoft sitesinde de ek önlem olarak önerilmektedir.

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.

▶ SIEM — İzlenmesi Gereken Event ID’ler
4886
KRİTİK
CA’ya sertifika talebi — Makine hesabından (DC$) gelen enrollment. DomainController şablonu için beklenmedik kaynak IP.
4768
UYARI
Kerberos TGT isteği — Pre-Auth Type 16 (PKINIT) içeren bilet. DC$ adına beklenmedik PKINIT isteği alarm tetiklemeli.
4769
UYARI
Kerberos TGS isteği — DC makine hesabından iş saatleri dışı veya beklenmedik kaynaklı servis bileti.
4624
BİLGİ
NTLM oturumu — Logon Type 3, kaynak IP’si farklı. İş saatleri dışında DC hesabından başarılı oturum.
4662
KRİTİK
DS-Replication-Get-Changes — Bilinen DC’ler dışından gelen replikasyon isteği: DCSync saldırısının göstergesi.
IIS
BİLGİ
/certsrv POST istekleri — certfnsh.asp’ye DC IP adresi dışından gelen POST istekleri incelenmeli.

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:

Düşük Bariyer
Yalnızca domain kullanıcısı seviyesinde ağ erişimi yeterlidir. Parola kırma veya gelişmiş teknik bilgi gerekmez.
Yüksek Etki
Başarılı saldırı doğrudan full domain compromise ile sonuçlanır. Administrator, krbtgt ve tüm hesapların kimlik bilgileri ele geçirilir.
Yaygın Zaafiyet
Web Enrollment varsayılan kurulumda EPA olmadan gelir. Pek çok kurum bu yapılandırmayı yıllarca fark etmemiştir.

Faydalı olması dileğiyle…

Aşağıdaki linkler de ilginizi çekebilir.

Leave a Reply

Your email address will not be published. Required fields are marked *