hacktricks/windows-hardening/active-directory-methodology/ad-certificates/README.md

10 KiB

AD Sertifikate

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Inleiding

Komponente van 'n Sertifikaat

  • Die Onderwerp van die sertifikaat dui sy eienaar aan.
  • 'n Openbare Sleutel word gepaard met 'n privaat gehoue sleutel om die sertifikaat aan sy regmatige eienaar te koppel.
  • Die Geldigheidsperiode, gedefinieer deur NieVoor en NieNa datums, merk die sertifikaat se effektiewe duur.
  • 'n Unieke Serienommer, voorsien deur die Sertifikaatowerheid (CA), identifiseer elke sertifikaat.
  • Die Uitreiker verwys na die CA wat die sertifikaat uitgereik het.
  • OnderwerpAlternatieweNaam maak voorsiening vir addisionele name vir die onderwerp, wat identifikasie buigsaamheid verbeter.
  • Basiese Beperkings identifiseer of die sertifikaat vir 'n CA of 'n eindentiteit is en definieer gebruikbeperkings.
  • Uitgebreide Sleutelgebruike (EKUs) dui die spesifieke doeleindes van die sertifikaat aan, soos kodesondertekening of e-posversleuteling, deur middel van Objekidentifiseerders (OIDs).
  • Die Handtekeningalgoritme spesifiseer die metode vir die ondertekening van die sertifikaat.
  • Die Handtekening, geskep met die uitreiker se privaatsleutel, waarborg die egtheid van die sertifikaat.

Spesiale Oorwegings

  • Onderwerp Alternatiewe Name (SANs) brei 'n sertifikaat se toepaslikheid uit na verskeie identiteite, wat noodsaaklik is vir bedieners met verskeie domeine. Veilige uitreikingsprosesse is noodsaaklik om te verhoed dat aanvallers die SAN-spesifikasie manipuleer en hulself voordoen.

Sertifikaatowerhede (CAs) in Aktiewe Gids (AD)

AD CS erken CA-sertifikate in 'n AD-bos deur aangewese houers, wat elkeen unieke rolle vervul:

  • Die Sertifikaatowerhede-houer bevat vertroude wortel-CA-sertifikate.
  • Die Inskrywingsdienste-houer beskryf Ondernemings-CA's en hul sertifikaatsjablone.
  • Die NTAuthSertifikate-voorwerp sluit CA-sertifikate in wat gemagtig is vir AD-outentifisering.
  • Die AIA (Gesaginligtings Toegang)-houer fasiliteer sertifikaatkettingvalidering met tussengangers- en kruis-CA-sertifikate.

Sertifikaatverkryging: Kliëntsertifikaataanvraagvloei

  1. Die aanvraagproses begin met kliënte wat 'n Ondernemings-CA vind.
  2. 'n CSR word geskep, wat 'n openbare sleutel en ander besonderhede bevat, nadat 'n openbare-privaat sleutelpaar gegenereer is.
  3. Die CA evalueer die CSR teen beskikbare sertifikaatsjablone, en reik die sertifikaat uit op grond van die sjabloon se toestemmings.
  4. Na goedkeuring onderteken die CA die sertifikaat met sy privaatsleutel en stuur dit terug na die kliënt.

Sertifikaatsjablone

Gedefinieer binne AD, hierdie sjablone skets die instellings en toestemmings vir die uitreiking van sertifikate, insluitend toegestane EKUs en inskrywings- of wysigingsregte, krities vir die bestuur van toegang tot sertifikaatdienste.

Sertifikaatinskrywing

Die inskrywingsproses vir sertifikate word geïnisieer deur 'n administrateur wat 'n sertifikaatsjabloon skep, wat dan deur 'n Ondernemingsertifikaatowerheid (CA) gepubliseer word. Dit maak die sjabloon beskikbaar vir kliëntinskrywing, 'n stap wat bereik word deur die naam van die sjabloon by te voeg aan die certificatetemplates-veld van 'n Aktiewe Gids-voorwerp.

Vir 'n kliënt om 'n sertifikaat aan te vra, moet inskrywingsregte verleen word. Hierdie regte word gedefinieer deur sekuriteitsbeskrywings op die sertifikaatsjabloon en die Ondernemings-CA self. Toestemmings moet op beide plekke verleen word vir 'n aanvraag om suksesvol te wees.

Sjablooninskrywingsregte

Hierdie regte word gespesifiseer deur Toegangsbeheerinskrywings (ACE's), wat toestemmings soos:

  • Sertifikaatinskrywing en Sertifikaat-OutomatieseInskrywing-regte, elk geassosieer met spesifieke GUID's.
  • UitgebreideRegte, wat alle uitgebreide toestemmings toelaat.
  • VolleBeheer/GenerieseAlles, wat volledige beheer oor die sjabloon bied.

Ondernemings-CA Inskrywingsregte

Die CA se regte word uiteengesit in sy sekuriteitsbeskrywing, toeganklik via die Sertifikaatowerheid-bestuurskonsol. Sommige instellings laat selfs laagbevoorregte gebruikers afstandstoegang toe, wat 'n sekuriteitskwessie kan wees.

Addisionele Uitreikingsbeheer

Sekere beheermaatreëls mag van toepassing wees, soos:

  • Bestuurdergoedkeuring: Plaas aanvrae in 'n wagtoestand totdat dit deur 'n sertifikaatbestuurder goedgekeur word.
  • Inskrywingsagente en Gemagtigde Handtekeninge: Spesifiseer die aantal vereiste handtekeninge op 'n CSR en die nodige Aansoekbeleid-OIDs.

Metodes om Sertifikate aan te vra

Sertifikate kan aangevra word deur:

  1. Windows Kliëntsertifikaatinskrywingsprotokol (MS-WCCE), deur gebruik te maak van DCOM-koppelvlakke.
  2. ICertPassage Remote Protokol (MS-ICPR), deur benoemde pype of TCP/IP.
  3. Die sertifikaatinskrywingswebkoppelvlak, met die Sertifikaatowerheid Web Inskrywing rol geïnstalleer.
  4. Die Sertifikaatinskrywingsdiens (CES), saam met die Sertifikaatinskrywingsbeleid (CEP) diens.
  5. Die Netwerktoestelinskrywingsdiens (NDES) vir netwerktoestelle, deur die Eenvoudige Sertifikaatinskrywingsprotokol (SCEP) te gebruik.

Windows-gebruikers kan ook sertifikate aanvra deur die GUI (certmgr.msc of certlm.msc) of opdraggereelgereedskap (certreq.exe of PowerShell se Get-Certificate-opdrag) te gebruik.

# Example of requesting a certificate using PowerShell
Get-Certificate -Template "User" -CertStoreLocation "cert:\\CurrentUser\\My"

Sertifikaat-verifikasie

Aktiewe Gids (AD) ondersteun sertifikaat-verifikasie, hoofsaaklik deur die gebruik van die Kerberos en Secure Channel (Schannel) protokolle.

Kerberos-verifikasieproses

In die Kerberos-verifikasieproses word 'n gebruiker se versoek vir 'n Kaartverleningkaartjie (TGT) onderteken met die privaatsleutel van die gebruiker se sertifikaat. Hierdie versoek ondergaan verskeie validerings deur die domeinbeheerder, insluitend die sertifikaat se geldigheid, pad, en herroepingstatus. Validerings sluit ook in om te bevestig dat die sertifikaat van 'n betroubare bron afkomstig is en om die teenwoordigheid van die uitreiker in die NTAUTH-sertifikaatstoor te bevestig. Suksesvolle validerings lei tot die uitreiking van 'n TGT. Die NTAuthCertificates objek in AD, gevind by:

CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=<domain>,DC=<com>

is sentraal tot die vestiging van vertroue vir sertifikaatverifikasie.

Sekuriteitskanaal (Schannel) Verifikasie

Schannel fasiliteer veilige TLS/SSL-verbindinge, waar tydens 'n handdruk die klient 'n sertifikaat voorlê wat, indien suksesvol gevalideer, toegang magtig. Die koppeling van 'n sertifikaat aan 'n AD-rekening mag Kerberos se S4U2Self-funksie of die sertifikaat se Onderwerp Alternatiewe Naam (SAN), onder ander metodes, betrek.

AD Sertifikaatdiensopname

AD se sertifikaatdienste kan deur LDAP-navrae opgesom word, wat inligting oor Ondernemingsertifikaatowerhede (CAs) en hul konfigurasies onthul. Dit is toeganklik vir enige domein-geautentiseerde gebruiker sonder spesiale voorregte. Gereedskap soos Certify en Certipy word gebruik vir opname en kwesbaarheidsevaluering in AD CS-omgewings.

Opdragte vir die gebruik van hierdie gereedskap sluit in:

# Enumerate trusted root CA certificates and Enterprise CAs with Certify
Certify.exe cas
# Identify vulnerable certificate templates with Certify
Certify.exe find /vulnerable

# Use Certipy for enumeration and identifying vulnerable templates
certipy find -vulnerable -u john@corp.local -p Passw0rd -dc-ip 172.16.126.128

# Enumerate Enterprise CAs and certificate templates with certutil
certutil.exe -TCAInfo
certutil -v -dstemplate

Verwysings

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: