AD Certificates
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Sertifikanın Sahibi, sertifikanın sahibini belirtir.
Açık Anahtar, sertifikayı gerçek sahibine bağlamak için özel bir anahtarla eşleştirilir.
Geçerlilik Süresi, NotBefore ve NotAfter tarihleri ile tanımlanır ve sertifikanın etkin süresini işaret eder.
Sertifika Otoritesi (CA) tarafından sağlanan benzersiz bir Seri Numarası, her sertifikayı tanımlar.
Verici, sertifikayı veren CA'yı ifade eder.
SubjectAlternativeName, kimlik tanımlama esnekliğini artırarak konu için ek adlar sağlar.
Temel Kısıtlamalar, sertifikanın bir CA veya son varlık için olup olmadığını tanımlar ve kullanım kısıtlamalarını belirler.
Genişletilmiş Anahtar Kullanımları (EKU'lar), sertifikanın belirli amaçlarını, örneğin kod imzalama veya e-posta şifreleme gibi, Nesne Tanımlayıcıları (OID'ler) aracılığıyla belirler.
İmza Algoritması, sertifikayı imzalamak için kullanılan yöntemi belirtir.
İmza, vericinin özel anahtarı ile oluşturulur ve sertifikanın doğruluğunu garanti eder.
Subject Alternative Names (SANs), bir sertifikanın birden fazla kimliğe uygulanabilirliğini genişletir, bu da birden fazla alan adı olan sunucular için kritik öneme sahiptir. Güvenli verilme süreçleri, saldırganların SAN spesifikasyonunu manipüle ederek kimlik taklidi risklerini önlemek için hayati öneme sahiptir.
AD CS, AD ormanında CA sertifikalarını belirlenmiş konteynerler aracılığıyla tanır; her biri benzersiz roller üstlenir:
Sertifika Otoriteleri konteyneri, güvenilir kök CA sertifikalarını tutar.
Kayıt Hizmetleri konteyneri, Kurumsal CA'ları ve sertifika şablonlarını detaylandırır.
NTAuthCertificates nesnesi, AD kimlik doğrulaması için yetkilendirilmiş CA sertifikalarını içerir.
AIA (Otorite Bilgi Erişimi) konteyneri, ara ve çapraz CA sertifikaları ile sertifika zinciri doğrulamasını kolaylaştırır.
İstek süreci, istemcilerin bir Kurumsal CA bulmasıyla başlar.
Bir açık anahtar ve diğer detayları içeren bir CSR oluşturulur, ardından bir açık-özel anahtar çifti üretilir.
CA, mevcut sertifika şablonlarına karşı CSR'yi değerlendirir ve şablonun izinlerine dayanarak sertifikayı verir.
Onaylandığında, CA sertifikayı özel anahtarı ile imzalar ve istemciye geri gönderir.
AD içinde tanımlanan bu şablonlar, sertifika vermek için ayarları ve izinleri belirler; izin verilen EKU'lar ve kayıt veya değişiklik hakları dahil, sertifika hizmetlerine erişimi yönetmek için kritik öneme sahiptir.
Sertifikalar için kayıt süreci, bir yöneticinin bir sertifika şablonu oluşturması ile başlar; bu şablon daha sonra bir Kurumsal Sertifika Otoritesi (CA) tarafından yayınlanır. Bu, şablonu istemci kaydı için kullanılabilir hale getirir; bu adım, şablonun adını bir Active Directory nesnesinin certificatetemplates
alanına ekleyerek gerçekleştirilir.
Bir istemcinin sertifika talep edebilmesi için, kayıt hakları verilmelidir. Bu haklar, sertifika şablonundaki güvenlik tanımlayıcıları ve Kurumsal CA'nın kendisi tarafından tanımlanır. Bir talebin başarılı olması için her iki konumda da izinler verilmelidir.
Bu haklar, belirli izinleri detaylandıran Erişim Kontrol Girişleri (ACE'ler) aracılığıyla belirtilir:
Sertifika-Kayıt ve Sertifika-OtomatikKayıt hakları, her biri belirli GUID'lerle ilişkilidir.
GenişletilmişHaklar, tüm genişletilmiş izinlere izin verir.
TamKontrol/GeniGenericAll, şablon üzerinde tam kontrol sağlar.
CA'nın hakları, Sertifika Otoritesi yönetim konsolu aracılığıyla erişilebilen güvenlik tanımlayıcısında belirtilmiştir. Bazı ayarlar, düşük ayrıcalıklı kullanıcıların uzaktan erişimine bile izin verebilir, bu da bir güvenlik endişesi olabilir.
Bazı kontroller uygulanabilir, örneğin:
Yönetici Onayı: Talepleri, bir sertifika yöneticisi tarafından onaylanana kadar beklemede tutar.
Kayıt Temsilcileri ve Yetkili İmzalar: Bir CSR üzerindeki gerekli imza sayısını ve gerekli Uygulama Politika OID'lerini belirtir.
Sertifikalar şu yöntemlerle talep edilebilir:
Windows İstemci Sertifika Kayıt Protokolü (MS-WCCE), DCOM arayüzlerini kullanarak.
ICertPassage Uzak Protokolü (MS-ICPR), adlandırılmış borular veya TCP/IP aracılığıyla.
Sertifika kayıt web arayüzü, Sertifika Otoritesi Web Kayıt rolü yüklü olduğunda.
Sertifika Kayıt Servisi (CES), Sertifika Kayıt Politikası (CEP) servisi ile birlikte.
Ağ Cihazı Kayıt Servisi (NDES) için ağ cihazları, Basit Sertifika Kayıt Protokolü (SCEP) kullanarak.
Windows kullanıcıları ayrıca GUI (certmgr.msc
veya certlm.msc
) veya komut satırı araçları (certreq.exe
veya PowerShell'in Get-Certificate
komutu) aracılığıyla sertifika talep edebilir.
Active Directory (AD), esas olarak Kerberos ve Secure Channel (Schannel) protokollerini kullanarak sertifika kimlik doğrulamasını destekler.
Kerberos kimlik doğrulama sürecinde, bir kullanıcının Ticket Granting Ticket (TGT) talebi, kullanıcının sertifikasının özel anahtarı ile imzalanır. Bu talep, alan denetleyicisi tarafından sertifikanın geçerliliği, yolu ve iptal durumu dahil olmak üzere birkaç doğrulamadan geçer. Doğrulamalar ayrıca sertifikanın güvenilir bir kaynaktan geldiğini doğrulamayı ve vericinin NTAUTH sertifika deposu içindeki varlığını onaylamayı içerir. Başarılı doğrulamalar, bir TGT'nin verilmesiyle sonuçlanır. AD'deki NTAuthCertificates
nesnesi, şu konumda bulunur:
is central to establishing trust for certificate authentication.
Schannel, güvenli TLS/SSL bağlantılarını kolaylaştırır; burada bir el sıkışma sırasında, istemci, başarılı bir şekilde doğrulanırsa erişimi yetkilendiren bir sertifika sunar. Bir sertifikanın bir AD hesabına eşlenmesi, Kerberos’un S4U2Self fonksiyonu veya sertifikanın Subject Alternative Name (SAN) gibi diğer yöntemleri içerebilir.
AD'nin sertifika hizmetleri, LDAP sorguları aracılığıyla sıralanabilir ve Enterprise Certificate Authorities (CAs) ve bunların yapılandırmaları hakkında bilgi açığa çıkarır. Bu, özel ayrıcalıklara sahip olmadan herhangi bir alan kimlik doğrulamalı kullanıcı tarafından erişilebilir. Certify ve Certipy gibi araçlar, AD CS ortamlarında sıralama ve güvenlik açığı değerlendirmesi için kullanılır.
Bu araçları kullanmak için komutlar şunlardır:
AWS Hacking öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)