Giriş

Active Directory Sertifika Servisleri (ADCS), kurumsal ortamlarda dijital sertifikaların yönetimi ve güvenliğinde kritik bir rol oynar. Ancak, bu sistemdeki güvenlik açıkları ciddi güvenlik ihlallerine neden olabilir. 7 Ekim 2024 tarihinde ADCS’yi hedef alan yeni bir saldırı yöntemi, ESC15 olarak adlandırıldı. Bu yöntem, yetkilendirilmemiş kullanıcıların yanlış yapılandırılmış sertifika şablonlarını kullanarak Active Directory (AD) ortamında yetki yükseltmesine izin verir.

ESC15 zafiyeti, önceki tekniklerin (özellikle ESC1) geliştirilmiş bir hali olup birçok güvenlik kontrolünü aşabilmektedir. Özellikle, Certipy aracına dru1d-foofus ve TrustedSec‘den Justin Bollinger tarafından katkı yapılarak bu saldırı vektörü otomatik hale getirildi. Bu blog yazısında, ESC15’in nasıl çalıştığı, zafiyetin tespiti ve riski azaltma adımlarını detaylı olarak inceleyeceğiz.

ESC15 Nedir?

ESC15, ADCS’de Schema Versiyonu 1 olan Sertifika Şablonları’ndaki yanlış yapılandırmaları hedefleyen bir saldırı vektörüdür. Bu yöntem, ESC1‘in üzerine geliştirilmiş olup, daha fazla güvenlik kontrolünü aşarak daha tehlikeli bir saldırı yöntemi sunmaktadır.

ESC15 Zafiyetini Sömürmek için Gerekli Şartlar:

  1. Certificate Template, Schema Version 1 ise.
  2. Certificate Template, Subject bilgisinin istek (request) içerisinde belirtilmesine izin veriyorsa
  3. Certificate Template, geniş gruplar veya yetkisiz kullanıcılar tarafından kayıt (enroll) olunabilir durumdaysa.

Bu koşullar karşılandığında, saldırganlar Domain Admin gibi ayrıcalıklı kullanıcılar adına sertifika alabilir ve domain üzerindeki yetkilerini yükseltebilir.

ESC1 ve ESC15’in Ayrıntılı İncelemesi

ESC1 zafiyetinde, eğer:

  1. Certificate Template, kullanıcılara CSR üzerinden Subject’i belirtme izni veriyorsa,.
  2. Certificate Template, Domain Authentication gibi en az bir EKU (Enhanced Key Usage) içeriyorsa,

saldırganlar herhangi bir kullanıcı adına sertifika talep edebilirler. ESC15, Domain Authentication EKU‘su olmasa bile Schema Version 1 Sertifika Şablonlarını manipüle ederek daha gelişmiş bir sömürü sağlar.

Certipy’a Yapılan GitHub Katkısı

7 Ekim 2024 tarihinde, dru1d-foofus isimli GitHub kullanıcısı, Certipy deposuna ESC15 sömürüsünü otomatik hale getiren bir Pull Request sundu. Bu PR, TrustedSec‘den Justin Bollinger (@Bandrel) tarafından yapılan bir keşfe dayanıyordu. Bu katkılar sayesinde, saldırganlar artık ESC15 zafiyetini Certipy aracı ile otomatikleştirebiliyorlar.

Katkıyı görmek için tıklayın: Certipy PR #228.

ESC15 Zafiyetinin Tespiti

Sistem yöneticileri, ESC15 zafiyetine sahip Sertifika Şablonlarını tespit etmek için aşağıdaki PowerShell komutunu kullanabilirler:

Copy to Clipboard

Manuel Tespit Adımları:

  1. Certificate Authority (CA) sunucusuna giriş yapın.
  2. Certtmpl.msc uygulamasını açın.
  3. Schema Version 1 olan Certificate Templateleri belirleyin.
  4. Subject Name sekmesinde Supplied in the Request seçeneğinin aktif olduğunu kontrol edin.
  5. Security sekmesinde, enroll yetkisi olan hesaplar tespit edilir.
  6. Extensions sekmesinde Enhanced Key Usage alanından Domain Authentication EKU’larından herhangi birinin olduğunu kontrol edin .
Schema Version Validation in Certtmpl.msc

Exploiting ESC15

ESC15 zafiyetini sömürmek için Certipy aracı kullanılabilir. Zafiyetin exploitation adımları;

Adım 1: Certipy’yi Klonlayın ve Yükleyin

Copy to Clipboard

Adım 2: Domain Admin Adına Sertifika Talep Etme

Aşağıdaki komut, Schema Version 1 sertifika şablonu kullanarak Domain Admin için bir sertifika talebinde bulunur.

Copy to Clipboard

Açıklama:

  • -template “WebServer”: Zafiyetli template girilir.
  • -upn: Sertifika talep edilecek Domain Admin hesabı girilir.
  • –application-policiesClient Authentication‘: EKU alanını Client Authentication olarak manipüle eder.

Once the certificate is obtained, it can be used to authenticate as the domain administrator.

Adım 3: Saldırganı Domain Admins Grubuna Ekleme

Sertifikayı elde ettikten sonra, saldırgan Certipy kullanarak LDAP arayüzü üzerinden kendisini Domain Admins grubuna ekleyebilir.

Copy to Clipboard

Bu komut, saldırganın domain üzerinde tam yetki elde etmesini sağlar.

Adding Attacker to Domain Admins

ESC15 zafiyetinin giderilmesi

Adım 1: Zafiyetli Certificate Templatelerin Analiz Etme

ADCS ortamınızdaki tüm Certificate Templateleri analiz edip, özellikle Schema Version 1 olanları tespit edin. Tespit edilen Certificate templatelerden Kullanılmayanlar silinmeli veya Schema Version 2‘ye yükseltilmelidir.

Adım 2: “Supplied in the Request” Seçeneğini Devre Dışı Bırakma

Yanlış yapılandırılmış Certificate Templateler üzerinden, Supplied in the Request seçeneğini devre dışı bırakarak ve bunun yerine Built from information in Active Directory seçeneğini etkinleştirerek güncelleyin. Bu, saldırganların isteğe bağlı subject bilgilerini belirlemelerini engeller.

Adım 3: ADSIEDIT ile Şablonu Güncelleme

Schema Version 1 olan şablonlar, Certtmpl.msc arayüzü üzerinden değiştirilemez. Bu değişiklikleri yapmak için ADSIEDIT kullanmanız gerekir.

Copy to Clipboard

Bu değişiklik yapıldığında, zafiyetin exploitationı başarısız olacaktır.

Updating msPKI-Certificate-Name-Flag in ADSIEDIT

Katkıda Bulunanlar

Bu araştırma ve ESC15 zafiyetinin keşfi, TrustedSec‘den Justin Bollinger (@Bandrel) ve dru1d-foofus tarafından yapılan çalışmalara dayanılarak mümkün olmuştur. Güvenlik topluluğu, bu araştırmacılara ve katkılarına büyük bir teşekkür borçludur.

Certipy, @ly4k tarafından geliştirilen bir araç olup, ADCS ortamlarındaki güvenlik açıklarını test etmek için kullanılabilir. Projenin gelişimini GitHub üzerinden takip edebilirsiniz: Certipy GitHub Repository.

Özetle

ESC15 zafiyeti, ADCS kullanan kuruluşlar için ciddi bir risktir ve saldırganlara Domain Admin hesapları adına Certificate Template talep etme ve Privilege Escalation imkanı verir. Microsoft henüz bir yama yayınlamamış olsa da, yöneticiler yanlış yapılandırılmış Certificate Templateleri analiz ederek ve doğru yapılandırmalarla zafiyeti azaltabilirler.

Certipy ve PowerShell gibi araçları kullanarak, güvenlik ekipleri hızlıca zafiyetli Certificate Templateleri tespit edip düzeltebilirler.

Dikkatli olun ve Certificate Templatelerinizin güvenli olduğundan emin olun.

Referanslar

Share This Story, Choose Your Platform!