Domain Admin’e Giden Yol: Sertifika Servisleri Part 1

0xKch1go
3 min readAug 7, 2022

--

Yakın zamanda ekip arkadaşım gork ile gerçekleştirmiş olduğumuz yerel ağ testinde karşılaştığımız DFSCoerce ile Sertifika Servisleri üzerinden Domain Admin yetkisine sahip kullanıcılara nasıl erişilebileceğini uygulamalı olarak anlatmaya çalışacağız.

Saldırı öncesi, saldırının arka planını ve anlaşılması gereken hususları inceleyelim.

Active Directory Sertifika Sistemi:

AD CS (Active Directory Certificate Services), Active Directory ortamında windows sistemler için PKI yapılandırmasına, dosya sistemlerinin şifrelemesine ve dijital imzalamaya olanak sağlayan sertifika yönetim mekanizmasıdır. Sistemin çalışma mekanizması bu yazının konusu olmadığından detaylı olarak anlatılmayacaktır ancak dileyenler buradaki linkten detaylı bilgi edinebilirler.

PetitPotam — DFSCoerse Saldırısı:

Active Directory ortamlarında Domain Controller makine hesabını NTLM kimlik doğrulaması yapmaya zorlamaktadır. Bu saldırı türü NTLM relay yönetimini kullanan saldırgan için, Domain Controller makinesinin göndermiş olduğu NTLM kimlik doğrulama isteğini kullanarak AD CS’ten Domain Controller makinesine ait sertifikayı ele geçirebilmesine imkan tanır.

1- PetitPotam/Dfscoerce zafiyeti tetiklenerek DC nin saldırgan kontrolünde bulunan dinleyiciye RPC üzerinden MS-DFSNM (Distributed File System Namespace Management) API’ı ile bağlanmaya zorlanır.

2- Saldırganın kontrolünde bulunan dinleyiciye DC$ tarafından domain yetkileri ile bağlantı isteği gönderilir.

3- Gelen NTLMv2 hashi sertifika servisinin bulunduğu sunucuya relay dinleyicisi üzerinden taşınır.

4- DC$ domain yetkilerinin iletildiği sertifika sunucusu makine hesabına ait olan kullanıcı sertifikasını saldırgan kontrolünde bulunan relay dinleyicisine iletir.

DFSCOERCE ile DC makine hashine erisimin saglanmasi:

DFSCoerce + NTLMRelay:

DFSCoerce saldırısı üzerinden elde edilen DC makine hashini relay ile sertifika servisine yönlendirerek makine hesabına ait sertifika ele geçirilebilmektedir.

TGT Elde Edilmesi:

Ele geçirilen base64 sertifika decode edilerek DC01 makine hesabina ait TGT KDC uzerinden istenebilecektir. Kerberos Pre-authentication işlemi simetrik (hash) veya asimetrik (sertifika) şekilde doğrulanabilir. Elimizde kullanıcıya ait sertifika olması nedeniyle yetkilendirme işlemini (Pass the Certificate) PKINITtools yardımı ile yapacağiz. Konu ile ilgili daha detaylı açiklama için link üzerindeki yazıyı okuyabilirsiniz.

Pass the Certificate Saldırısı ile Geçerli Kerberos TGT’nin Elde Edilmesi

Diske kaydedilen TGT Impacket scriptleri üzerinden -k parametresi ile kullanılabilecektir. Kerberos authentication işlemi sırasında sistem KRB5CCNAME ortam değiskeni üzerinde kimlik cache dosyasını arayacaktır. Ortam değiskeni ayarlandiktan sonra DCSYNC yetkisi olan DC01 makine hesabı ile istenilen Active Directory kullanıcı hesabının bilgileri DC üzerinden dump edilebilecektir.

KRB5CCNAME Ortam Değişkeninin Ayarlanıp DCSYNC Saldırısının Gerçekleştirilmesi
DC Sunucusu Üzerinde Administrator Hesabı ile Erişimin Sağlanması

Referanslar:

--

--