AD CS Domain Escalation
Ovo je sažetak tehnika eskalacije iz sledećih postova:
Pogrešno Konfigurisane Šablone Sertifikata - ESC1
Objašnjenje
Pogrešno Konfigurisane Šablone Sertifikata - ESC1 Objašnjeno
Prava za upis su dodeljena korisnicima sa niskim privilegijama od strane Enterprise CA.
Odobrenje menadžera nije potrebno.
Nisu potrebni potpisi od ovlašćenog osoblja.
Bezbednosni deskriptori na šablonima sertifikata su preterano dozvoljavajući, omogućavajući korisnicima sa niskim privilegijama da dobiju prava za upis.
Šabloni sertifikata su konfigurisani da definišu EKU koje olakšavaju autentifikaciju:
Identifikatori Extended Key Usage (EKU) kao što su Autentifikacija Klijenta (OID 1.3.6.1.5.5.7.3.2), PKINIT Autentifikacija Klijenta (1.3.6.1.5.2.3.4), Logovanje Smart Karticom (OID 1.3.6.1.4.1.311.20.2.2), Bilo koja Namena (OID 2.5.29.37.0), ili bez EKU (SubCA) su uključeni.
Mogućnost zahtevaoca da uključi subjectAltName u Zahtevu za Potpisivanje Sertifikata (CSR) je dozvoljena šablonom:
Active Directory (AD) prioritetno tretira subjectAltName (SAN) u sertifikatu za verifikaciju identiteta ako je prisutan. To znači da specificiranjem SAN-a u CSR-u, sertifikat može biti zatražen da se predstavi kao bilo koji korisnik (npr. administrator domena). Da li zahtevaoc može da specificira SAN je naznačeno u AD objektu šablona sertifikata putem svojstva
mspki-certificate-name-flag
. Ovo svojstvo je bit maska, a prisustvo zastaveCT_FLAG_ENROLLEE_SUPPLIES_SUBJECT
dozvoljava specificiranje SAN-a od strane zahtevaoca.
Konfiguracija omogućava korisnicima sa niskim privilegijama da zahtevaju sertifikate sa bilo kojim SAN-om po izboru, omogućavajući autentifikaciju kao bilo koji princip domena putem Kerberosa ili SChannel-a.
Ova funkcionalnost je ponekad omogućena radi podrške za generisanje HTTPS ili host sertifikata "na letu" od strane proizvoda ili servisa za implementaciju, ili zbog nedostatka razumevanja.
Napomenuto je da kreiranje sertifikata sa ovom opcijom pokreće upozorenje, što nije slučaj kada se postojeći šablon sertifikata (kao što je WebServer
šablon, koji ima omogućeno CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT
) duplicira, a zatim modifikuje da uključi autentifikacioni OID.
Zloupotreba
Da pronađete ranjive šablone sertifikata možete pokrenuti:
Da biste zloupotrebili ovu ranjivost kako biste se predstavili kao administrator, možete pokrenuti:
Zatim možete transformisati generisani sertifikat u .pfx
format i koristiti ga za autentifikaciju pomoću Rubeusa ili certipy ponovo:
Windows binarni fajlovi "Certreq.exe" & "Certutil.exe" mogu se koristiti za generisanje PFX-a: https://gist.github.com/b4cktr4ck2/95a9b908e57460d9958e8238f85ef8ee
Enumeracija šablona sertifikata unutar AD Forest-ove konfiguracione šeme, posebno onih koji ne zahtevaju odobrenje ili potpise, koji poseduju Client Authentication ili Smart Card Logon EKU, i sa omogućenom zastavicom CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT
, može se izvršiti pokretanjem sledećeg LDAP upita:
Pogrešno konfigurisani šabloni sertifikata - ESC2
Objašnjenje
Drugi scenario zloupotrebe je varijacija prvog:
Prava za upisivanje su dodeljena korisnicima sa niskim privilegijama od strane Enterprise CA.
Zahtev za odobrenje menadžera je onemogućen.
Potreba za ovlašćenim potpisima je izostavljena.
Previše dozvoljavajući sigurnosni deskriptor na šablonu sertifikata dodeljuje prava za upisivanje sertifikata korisnicima sa niskim privilegijama.
Šablon sertifikata je definisan da uključuje Any Purpose EKU ili nema EKU.
Any Purpose EKU dozvoljava sertifikatu da bude dobijen od strane napadača za bilo koju svrhu, uključujući autentikaciju klijenta, autentikaciju servera, potpisivanje koda, itd. Isti tehniku koristi za ESC3 može se koristiti za iskorišćavanje ovog scenarija.
Sertifikati bez EKU-ova, koji deluju kao sertifikati podređenih CA, mogu biti iskorišćeni za bilo koju svrhu i takođe mogu biti korišćeni za potpisivanje novih sertifikata. Stoga, napadač može specificirati proizvoljne EKU-ove ili polja u novim sertifikatima koristeći sertifikat podređenog CA.
Međutim, novi sertifikati kreirani za autentikaciju domena neće funkcionisati ako podređeni CA nije poveren od strane objekta NTAuthCertificates
, što je podrazumevana postavka. Ipak, napadač može i dalje kreirati nove sertifikate sa bilo kojim EKU-om i proizvoljnim vrednostima sertifikata. Ovi sertifikati bi mogli biti potencijalno zloupotrebljeni za širok spektar svrha (npr. potpisivanje koda, autentikacija servera, itd.) i mogli bi imati značajne posledice za druge aplikacije u mreži poput SAML-a, AD FS-a ili IPSeca.
Da bi se nabrojali šabloni koji odgovaraju ovom scenariju unutar konfiguracione šeme AD šume, može se pokrenuti sledeći LDAP upit:
Pogrešno konfigurisani šabloni agenta za upisivanje - ESC3
Objašnjenje
Ovaj scenario je sličan prvom i drugom, ali zloupotrebljava različiti EKU (Agent zahteva za sertifikat) i 2 različita šablona (stoga ima 2 skupa zahteva),
Agent zahteva za sertifikat EKU (OID 1.3.6.1.4.1.311.20.2.1), poznat kao Agent za upisivanje u Microsoft dokumentaciji, omogućava principalu da se upiše za sertifikat u ime drugog korisnika.
"Agent za upisivanje" upisuje se u takav šablon i koristi rezultirajući sertifikat za su-potpisivanje CSR-a u ime drugog korisnika. Zatim šalje su-potpisani CSR CA-u, upisujući se u šablon koji dozvoljava "upisivanje u ime", a CA odgovara sa sertifikatom koji pripada "drugom" korisniku.
Zahtevi 1:
Prava za upisivanje su dodeljena korisnicima sa niskim privilegijama od strane Enterprise CA.
Zahtev za odobrenje menadžera je izostavljen.
Nema zahteva za ovlašćenim potpisima.
Bezbednosni opisnik šablona sertifikata je preterano dozvoljavajući, dodeljujući prava za upisivanje korisnicima sa niskim privilegijama.
Šablon sertifikata uključuje Agent zahteva za sertifikat EKU, omogućavajući zahtev za druge šablone sertifikata u ime drugih principala.
Zahtevi 2:
Enterprise CA dodeljuje prava za upisivanje korisnicima sa niskim privilegijama.
Odobrenje menadžera je zaobiđeno.
Verzija šeme šablona je ili 1 ili premašuje 2, i specificira zahtev za izdavanje aplikacione politike koji zahteva Agent zahteva za sertifikat EKU.
EKU definisan u šablonu sertifikata dozvoljava autentikaciju domena.
Ograničenja za agente za upisivanje nisu primenjena na CA.
Zloupotreba
Možete koristiti Certify ili Certipy da zloupotrebite ovaj scenario:
Korisnici koji su dozvoljeni da dobiju sertifikat za agent za upis, predlošci u koje su agenti za upis dozvoljeni da se upišu, i nalozi u ime kojih agent za upis može delovati mogu biti ograničeni od strane preduzeća CA. Ovo se postiže otvaranjem certsrc.msc
snap-in-a, desnim klikom na CA, klikom na Properties, a zatim navigiranjem do kartice "Agenti za upis".
Međutim, primećeno je da je podrazumevana postavka za CA "Ne ograničavaj agente za upis." Kada se ograničenje na agente za upis omogući od strane administratora, postavljanjem na "Ograniči agente za upis," podrazumevana konfiguracija ostaje izuzetno dozvoljavajuća. To omogućava Svima pristup za upis u sve predloške kao bilo ko.
Ranjiva kontrola pristupa predloška sertifikata - ESC4
Objašnjenje
Bezbednosni deskriptor na predlošcima sertifikata definiše dozvole koje specifični AD principali poseduju u vezi sa predloškom.
Ukoliko napadač poseduje potrebne dozvole da menja predložak i uspostavi bilo koje iskoristive loše konfiguracije navedene u prethodnim sekcijama, eskalacija privilegija bi mogla biti olakšana.
Značajne dozvole koje se odnose na predloške sertifikata uključuju:
Vlasnik: Dodeljuje implicitnu kontrolu nad objektom, omogućavajući izmenu bilo kog atributa.
FullControl: Omogućava potpunu kontrolu nad objektom, uključujući mogućnost izmene bilo kog atributa.
WriteOwner: Dozvoljava izmenu vlasnika objekta u principala pod kontrolom napadača.
WriteDacl: Omogućava prilagođavanje pristupa kontrolama, potencijalno dodeljujući napadaču FullControl.
WriteProperty: Ovlašćuje uređivanje bilo kojih svojstava objekta.
Zloupotreba
Primer eskalacije privilegija kao prethodni:
ESC4 je kada korisnik ima privilegije pisanja nad predloškom sertifikata. To na primer može biti zloupotrebljeno za prepisivanje konfiguracije predloška sertifikata kako bi se predložak učinio ranjivim na ESC1.
Kao što možemo videti u putanji iznad, samo JOHNPC
ima ove privilegije, ali naš korisnik JOHN
ima novu AddKeyCredentialLink
vezu ka JOHNPC
. Pošto je ova tehnika povezana sa sertifikatima, sproveo sam i ovaj napad, koji je poznat kao Senke akreditiva. Evo male demonstracije Certipy-jeve komande shadow auto
za dobijanje NT heša žrtve.
Certipy može da prepiše konfiguraciju šablona sertifikata jednom komandom. Po podrazumevanoj postavci, Certipy će prepisati konfiguraciju kako bi je učinio ranjivom na ESC1. Takođe možemo navesti parametar -save-old
da sačuvamo staru konfiguraciju, što će biti korisno za obnavljanje konfiguracije nakon našeg napada.
Vulnerabilna kontrola pristupa objektima PKI - ESC5
Objašnjenje
Obimna mreža međusobno povezanih odnosa zasnovanih na ACL-u, koja uključuje nekoliko objekata izvan predložaka sertifikata i sertifikacionog tela, može uticati na bezbednost celog AD CS sistema. Ti objekti, koji mogu značajno uticati na bezbednost, obuhvataju:
AD računarski objekat CA servera, koji može biti kompromitovan putem mehanizama poput S4U2Self ili S4U2Proxy.
RPC/DCOM server CA servera.
Bilo koji potomak AD objekta ili kontejner unutar specifičnog putanje kontejnera
CN=Public Key Services,CN=Services,CN=Configuration,DC=<DOMAIN>,DC=<COM>
. Ova putanja uključuje, ali nije ograničena na, kontejnere i objekte poput kontejnera za predloške sertifikata, kontejnera za sertifikaciona tela, objekta NTAuthCertificates i kontejnera za usluge upisa.
Bezbednost PKI sistema može biti ugrožena ako nisko privilegovani napadač uspe da preuzme kontrolu nad bilo kojim od ovih ključnih komponenti.
EDITF_ATTRIBUTESUBJECTALTNAME2 - ESC6
Objašnjenje
Tema razmatrana u CQure Academy postu takođe se dotiče implikacija zastave EDITF_ATTRIBUTESUBJECTALTNAME2
, kako je opisano od strane Microsoft-a. Ova konfiguracija, kada je aktivirana na Sertifikacionom telu (CA), dozvoljava uključivanje vrednosti definisanih od strane korisnika u alternativno ime subjekta za bilo koji zahtev, uključujući one konstruisane iz Active Directory®. Kao rezultat, ova odredba omogućava napadaču da se upiše putem bilo kog predloška postavljenog za autentikaciju domena—posebno onih otvorenih za upisivanje korisnika bez privilegija, poput standardnog korisničkog predloška. Kao rezultat, sertifikat može biti obezbeđen, omogućavajući napadaču da se autentikuje kao administrator domena ili bilo koja druga aktivna entitet unutar domena.
Napomena: Pristup za dodavanje alternativnih imena u Zahtev za potpisivanje sertifikata (CSR), putem argumenta -attrib "SAN:"
u certreq.exe
(nazvanog "Parovi imena vrednosti"), predstavlja kontrast od strategije iskorišćavanja SAN-ova u ESC1. Ovde, razlika leži u načinu na koji su informacije o nalogu inkapsulirane—unutar atributa sertifikata, umesto proširenja.
Zloupotreba
Da bi proverile da li je podešavanje aktivirano, organizacije mogu koristiti sledeću komandu sa certutil.exe
:
Ova operacija u osnovi koristi pristup udaljenom registru, stoga, alternativni pristup može biti:
Alati poput Certify i Certipy sposobni su da detektuju ovu lošu konfiguraciju i iskoriste je:
Da biste promenili ove postavke, pretpostavljajući da osoba poseduje administrativna prava domena ili ekvivalentna prava, sledeća komanda može biti izvršena sa bilo koje radne stanice:
Da biste onemogućili ovu konfiguraciju u svom okruženju, zastava se može ukloniti pomoću:
Nakon ažuriranja sigurnosnih ispravki u maju 2022. godine, novo izdata sertifikati će sadržati sigurnosno proširenje koje uključuje objectSid
svojstvo zahtevaoca. Za ESC1, ovaj SID se izvodi iz određenog SAN-a. Međutim, za ESC6, SID odražava objectSid
zahtevaoca, a ne SAN.
Da bi se iskoristio ESC6, sistem mora biti podložan ESC10 (Slaba mapiranja sertifikata), koji prioritet daje SAN-u nad novim sigurnosnim proširenjem.
Vulnerabilna kontrola pristupa sertifikacionom telu - ESC7
Napad 1
Objasnjenje
Kontrola pristupa sertifikacionom telu održava se kroz skup dozvola koje regulišu radnje CA. Ove dozvole mogu se pregledati pristupom certsrv.msc
, desnim klikom na CA, izborom svojstava, a zatim navigiranjem do kartice Bezbednost. Dodatno, dozvole se mogu nabrojati korišćenjem modula PSPKI pomoću komandi kao što su:
Ovo pruža uvide u osnovna prava, odnosno ManageCA
i ManageCertificates
, koji se odnose na uloge "administratora CA" i "menadžera sertifikata" respektivno.
Zloupotreba
Imajući prava ManageCA
na autoritetu za sertifikaciju omogućava principalu da daljinski manipuliše postavkama koristeći PSPKI. To uključuje prebacivanje zastavice EDITF_ATTRIBUTESUBJECTALTNAME2
kako bi se omogućila specifikacija SAN-a u bilo kojem obrascu, što je ključni aspekt eskalacije domena.
Ovaj proces može se pojednostaviti korišćenjem PSPKI-jevog cmdleta Enable-PolicyModuleFlag, što omogućava modifikacije bez direktnog GUI interakcije.
Posedovanje prava ManageCertificates
olakšava odobravanje čekajućih zahteva, efikasno zaobilazeći zaštitu "odobravanja menadžera sertifikata CA".
Kombinacija modula Certify i PSPKI može se koristiti za zahtevanje, odobravanje i preuzimanje sertifikata:
Napad 2
Objašnjenje
U prethodnom napadu korišćene su dozvole Manage CA
za omogućavanje zastave EDITF_ATTRIBUTESUBJECTALTNAME2 kako bi se izveo ESC6 napad, ali ovo neće imati nikakav efekat dok usluga CA (CertSvc
) ne bude ponovo pokrenuta. Kada korisnik ima pravo pristupa Manage CA
, korisniku je takođe dozvoljeno da ponovo pokrene uslugu. Međutim, to ne znači da korisnik može da ponovo pokrene uslugu udaljeno. Štaviše, ESC6 možda neće raditi odmah u većini ažuriranih okruženja zbog bezbednosnih ažuriranja iz maja 2022. godine.
Stoga, ovde je predstavljen još jedan napad.
Preduslovi:
Samo dozvola
ManageCA
Dozvola
Manage Certificates
(može biti dodeljena izManageCA
)Šablon sertifikata
SubCA
mora biti omogućen (može biti omogućen izManageCA
)
Tehnika se oslanja na činjenicu da korisnici sa pravom pristupa Manage CA
i Manage Certificates
mogu izdati neuspele zahteve za sertifikate. Šablon sertifikata SubCA
je ranjiv na ESC1, ali samo administratori mogu upisati u šablon. Dakle, korisnik može zatražiti upis u SubCA
- što će biti odbijeno - ali će zatim biti izdato od strane menadžera.
Zloupotreba
Možete dodeliti sebi pristup Manage Certificates
dodavanjem vašeg korisnika kao novog službenika.
Šablon SubCA
može biti omogućen na CA pomoću parametra -enable-template
. Podrazumevano, šablon SubCA
je omogućen.
Ako smo ispunili preduslove za ovaj napad, možemo početi sa zahtevom za sertifikat zasnovan na šablonu SubCA
.
Ovaj zahtev će biti odbijen, ali ćemo sačuvati privatni ključ i zabeležiti ID zahteva.
Sa našim Upravljaj CA
i Upravljaj Sertifikatima
, možemo zatim izdati zahtev za neuspeli sertifikat pomoću ca
komande i parametra -issue-request <ID zahteva>
.
I na kraju, možemo dobiti izdati sertifikat pomoću req
komande i parametra -retrieve <request ID>
.
NTLM Relay na AD CS HTTP krajnje tačke – ESC8
Objasnjenje
U okruženjima gde je AD CS instaliran, ako postoji ranjiva web upisna tačka i bar jedan šablon sertifikata je objavljen koji dozvoljava upisivanje domenskog računara i autentifikaciju klijenta (kao što je podrazumevani Machine
šablon), postaje moguće da bilo koji računar sa aktivnom uslugom spulera bude kompromitovan od strane napadača!
Nekoliko HTTP-based metoda upisa podržano je od strane AD CS, dostupno kroz dodatne serverske uloge koje administratori mogu instalirati. Ove interfejsi za HTTP-based upisivanje sertifikata su podložni NTLM relay napadima. Napadač, sa kompromitovanog računara, može se predstaviti kao bilo koji AD nalog koji se autentifikuje putem dolaznog NTLM. Dok se predstavlja kao žrtveni nalog, ovi web interfejsi mogu biti pristupljeni od strane napadača da zatraže sertifikat za autentifikaciju klijenta koristeći User
ili Machine
šablone sertifikata.
Web interfejs za upis (starija ASP aplikacija dostupna na
http://<caserver>/certsrv/
), podrazumevano koristi samo HTTP, što ne pruža zaštitu od NTLM relay napada. Dodatno, eksplicitno dozvoljava samo NTLM autentifikaciju putem svoje Autorizacije HTTP zaglavlja, čime čini sigurnije metode autentifikacije poput Kerberosa neprikladnim.Servis za upisivanje sertifikata (CES), Servis za politiku upisivanja sertifikata (CEP) i Servis za upisivanje mrežnih uređaja (NDES) podrazumevano podržavaju pregovaranje autentifikacije putem njihovog Autorizacije HTTP zaglavlja. Pregovaranje autentifikacije podržava i Kerberos i NTLM, omogućavajući napadaču da smanji na NTLM autentifikaciju tokom relay napada. Iako ovi web servisi podrazumevano omogućavaju HTTPS, HTTPS sam po sebi ne štiti od NTLM relay napada. Zaštita od NTLM relay napada za HTTPS servise je moguća samo kada se HTTPS kombinuje sa vezivanjem kanala. Nažalost, AD CS ne aktivira Proširenu zaštitu za autentifikaciju na IIS-u, što je potrebno za vezivanje kanala.
Uobičajeni problem sa NTLM relay napadima je kratko trajanje NTLM sesija i nesposobnost napadača da interaguje sa servisima koji zahtevaju NTLM potpisivanje.
Ipak, ova ograničenja se prevazilaze iskorišćavanjem NTLM relay napada da bi se stekao sertifikat za korisnika, pošto period važenja sertifikata određuje trajanje sesije, i sertifikat može biti korišćen sa servisima koji zahtevaju NTLM potpisivanje. Za uputstva o korišćenju ukradenog sertifikata, pogledajte:
pageAD CS Account PersistenceJoš jedno ograničenje NTLM relay napada je da napadački kontrolisani računar mora biti autentifikovan od strane žrtvenog naloga. Napadač može ili sačekati ili pokušati da prisili ovu autentifikaciju:
pageForce NTLM Privileged AuthenticationZloupotreba
Certify cas
enumeriše omogućene HTTP AD CS krajnje tačke:
Svojstvo msPKI-Enrollment-Servers
koristi se od strane preduzeća za izdavanje sertifikata (CAs) za čuvanje krajnjih tačaka usluge za izdavanje sertifikata (CES). Ove tačke mogu biti analizirane i navedene korišćenjem alata Certutil.exe:
```powershell Import-Module PSPKI Get-CertificationAuthority | select Name,Enroll* | Format-List * ```
Zloupotreba sa Certify
Zloupotreba sa Certipy
Zahtev za sertifikat podrazumevano pravi Certipy na osnovu šablona Machine
ili User
, određenog na osnovu toga da li ime naloga koje se prenosi završava znakom $
. Određivanje alternativnog šablona može se postići korišćenjem parametra -template
.
Tehnika poput PetitPotam može se zatim koristiti za prinudu autentikacije. Kada se radi sa kontrolorima domena, potrebno je specificirati -template DomainController
.
Bez proširenja sigurnosti - ESC9
Objašnjenje
Nova vrednost CT_FLAG_NO_SECURITY_EXTENSION
(0x80000
) za msPKI-Enrollment-Flag
, poznata kao ESC9, sprečava ugradnju novog sigurnosnog proširenja szOID_NTDS_CA_SECURITY_EXT
u sertifikat. Ova zastava postaje relevantna kada je StrongCertificateBindingEnforcement
postavljen na 1
(podrazumevana postavka), što se suprotstavlja postavci 2
. Njena važnost se povećava u scenarijima gde bi slabije mapiranje sertifikata za Kerberos ili Schannel moglo biti iskorišćeno (kao u ESC10), s obzirom da odsustvo ESC9 ne bi promenilo zahteve.
Uslovi pod kojima postavljanje ove zastave postaje značajno uključuju:
StrongCertificateBindingEnforcement
nije podešen na2
(podrazumevana vrednost je1
), iliCertificateMappingMethods
uključuje zastavuUPN
.Sertifikat je označen zastavom
CT_FLAG_NO_SECURITY_EXTENSION
unutar postavkemsPKI-Enrollment-Flag
.Bilo koja EKU za autentikaciju klijenta je navedena u sertifikatu.
GenericWrite
dozvole su dostupne nad bilo kojim nalogom kako bi se kompromitovao drugi.
Scenario zloupotrebe
Pretpostavimo da John@corp.local
ima GenericWrite
dozvole nad Jane@corp.local
, sa ciljem da kompromituje Administrator@corp.local
. Šablon sertifikata ESC9
, u koji je Jane@corp.local
ovlašćena da se upiše, konfigurisan je sa zastavom CT_FLAG_NO_SECURITY_EXTENSION
u svojoj postavci msPKI-Enrollment-Flag
.
Prvo, Jane
-in heš se dobija korišćenjem Senki za akreditacije, zahvaljujući John
-ovom GenericWrite
:
Nakon toga, Jane
-ov userPrincipalName
je izmenjen u Administrator
, namerno izostavljajući deo domena @corp.local
:
Ova modifikacija ne krši ograničenja, s obzirom da Administrator@corp.local
ostaje različit kao userPrincipalName
Administrator
-a.
Nakon toga, šablona za sertifikat ESC9
, označena kao ranjiva, zahteva se kao Jane
:
Zabeleženo je da userPrincipalName
sertifikata odražava Administratora
, bez ikakvog "object SID".
userPrincipalName
za Jane
zatim se vraća na njen originalan oblik, Jane@corp.local
:
Pokušaj autentifikacije sa izdatim sertifikatom sada daje NT heš Administrator@corp.local
. Komanda mora uključivati -domain <domain>
zbog nedostatka specifikacije domena u sertifikatu:
Slabe mape sertifikata - ESC10
Objasnjenje
Dve vrednosti ključa registra na kontroloru domena se odnose na ESC10:
Podrazumevana vrednost za
CertificateMappingMethods
podHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel
je0x18
(0x8 | 0x10
), prethodno postavljena na0x1F
.Podrazumevano podešavanje za
StrongCertificateBindingEnforcement
podHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc
je1
, prethodno0
.
Slučaj 1
Kada je StrongCertificateBindingEnforcement
konfigurisan kao 0
.
Slučaj 2
Ako CertificateMappingMethods
uključuje bit UPN
(0x4
).
Zloupotreba slučaja 1
Sa konfigurisanim StrongCertificateBindingEnforcement
kao 0
, nalog A sa dozvolama GenericWrite
može biti iskorišćen da kompromituje bilo koji nalog B.
Na primer, imajući dozvole GenericWrite
nad Jane@corp.local
, napadač cilja da kompromituje Administrator@corp.local
. Postupak odražava ESC9, omogućavajući korišćenje bilo kog obrasca sertifikata.
Inicialno, Jane
-ov heš se dobija korišćenjem Senki akreditiva, iskorišćavajući GenericWrite
.
Naknadno, Jane
-ov userPrincipalName
je promenjen u Administrator
, namerno izostavljajući deo @corp.local
kako bi se izbeglo kršenje ograničenja.
Nakon toga, sertifikat koji omogućava autentikaciju klijenta se zahteva kao Jane
, koristeći podrazumevani User
šablon.
Jane
-ov userPrincipalName
zatim je vraćen na originalni, Jane@corp.local
.
Autentifikacija sa dobijenim sertifikatom će rezultirati NT hešom Administrator@corp.local
, zahtevajući specificiranje domena u komandi zbog odsustva detalja domena u sertifikatu.
Zloupotreba slučaja 2
Sa CertificateMappingMethods
koji sadrži UPN
bit flag (0x4
), nalog A sa dozvolama GenericWrite
može ugroziti bilo koji nalog B koji nema svojstvo userPrincipalName
, uključujući naloge mašina i ugrađenog administratorskog naloga domena Administrator
.
Ovde je cilj da se ugrozi DC$@corp.local
, počevši od dobijanja heša za Jane
putem Senki akreditiva, iskorišćavajući GenericWrite
.
Jane
-ov userPrincipalName
zatim je postavljen na DC$@corp.local
.
Sertifikat za autentikaciju klijenata se zahteva kao Jane
koristeći podrazumevani User
šablon.
userPrincipalName
korisnika Jane
vraća se na originalnu vrednost nakon ovog procesa.
Da biste se autentifikovali putem Schannel-a, koristi se Certipy-ova opcija -ldap-shell
, koja ukazuje na uspeh autentifikacije kao u:CORP\DC$
.
Kroz LDAP shell, komande poput set_rbcd
omogućavaju napade zasnovane na ograničenom delegiranju resursa (RBCD), potencijalno kompromitujući kontroler domena.
Ova ranjivost se takođe odnosi na bilo koji korisnički nalog koji nema userPrincipalName
ili gde se ne podudara sa sAMAccountName
, pri čemu je podrazumevani Administrator@corp.local
glavna meta zbog svojih povišenih LDAP privilegija i odsustva userPrincipalName
podrazumevano.
Prosleđivanje NTLM-a ICPR-u - ESC11
Objasnjenje
Ako CA Server nije konfigurisan sa IF_ENFORCEENCRYPTICERTREQUEST
, može se izvršiti prosleđivanje NTLM napada bez potpisa putem RPC servisa. Reference in here.
Možete koristiti certipy
da prebrojite da li je Enforce Encryption for Requests
onemogućen i certipy će prikazati ESC11
ranjivosti.
Zloupotreba scenarija
Potrebno je postaviti relej server:
Napomena: Za kontrolere domena, moramo navesti -template
u DomainController.
Ili koristeći sploutchy-ov fork impacket-a:
Pristup školjci ADCS CA sa YubiHSM-om - ESC12
Objasnjenje
Administratori mogu podesiti Sertifikacioni autoritet da ga skladište na spoljnom uređaju poput "Yubico YubiHSM2".
Ako je USB uređaj povezan sa CA serverom putem USB porta, ili USB uređaj server u slučaju da je CA server virtuelna mašina, potreban je autentifikacioni ključ (ponekad nazvan "šifra") za Key Storage Provider kako bi generisao i koristio ključeve u YubiHSM-u.
Ovaj ključ/šifra se čuva u registru pod HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM\AuthKeysetPassword
u obliku čistog teksta.
Reference u ovde.
Scenario zloupotrebe
Ako je privatni ključ CA skladišten na fizičkom USB uređaju kada dobijete pristup školjci, moguće je povratiti ključ.
Prvo, trebate dobiti CA sertifikat (ovaj je javan) a zatim:
Zloupotreba veze grupe OID - ESC13
Objašnjenje
Atribut msPKI-Certificate-Policy
omogućava dodavanje politike izdavanja u šablon sertifikata. Objekti msPKI-Enterprise-Oid
koji su odgovorni za izdavanje politika mogu se otkriti u Kontekstu imenovanja konfiguracije (CN=OID,CN=Public Key Services,CN=Services) kontejnera PKI OID. Politika može biti povezana sa AD grupom korišćenjem atributa msDS-OIDToGroupLink
ovog objekta, omogućavajući sistemu da autorizuje korisnika koji predstavlja sertifikat kao da je član grupe. Reference in here.
Drugim rečima, kada korisnik ima dozvolu da upiše sertifikat i sertifikat je povezan sa grupom OID, korisnik može naslediti privilegije ove grupe.
Koristite Check-ADCSESC13.ps1 da pronađete OIDToGroupLink:
Zloupotreba scenarija
Pronađite korisničku dozvolu koju može koristiti certipy find
ili Certify.exe find /showAllPermissions
.
Ako John
ima dozvolu da upiše VulnerableTemplate
, korisnik može naslediti privilegije grupe VulnerableGroup
.
Sve što treba da uradi je da navede šablon, dobiće sertifikat sa pravima OIDToGroupLink.
Kompromitovanje šuma pomoću sertifikata objašnjeno pasivnim glagolom
Razbijanje poverenja šuma pomoću kompromitovanih CA
Konfiguracija za prekograničnu registraciju je relativno jednostavna. Root CA sertifikat iz resursnog šuma je objavljen u šumovima naloga od strane administratora, a enterprise CA sertifikati iz resursnog šuma su dodati u NTAuthCertificates
i AIA kontejnere u svakom šumu naloga. Da pojasnimo, ovaj aranžman daje CA u resursnom šumu potpunu kontrolu nad svim ostalim šumovima za koje upravlja PKI. Ukoliko ovaj CA bude kompromitovan od strane napadača, sertifikati za sve korisnike u oba resursna i šum naloga mogu biti falsifikovani od strane njih, čime se narušava sigurnosna granica šuma.
Privilegije registracije dodeljene stranim principima
U okruženjima sa više šuma, potrebna je opreznost u vezi sa Enterprise CA koje objavljuju šablone sertifikata koji dozvoljavaju Autentifikovanim korisnicima ili stranim principima (korisnici/grupe van šuma kojem Enterprise CA pripada) prava registracije i izmene. Prilikom autentifikacije preko poverenja, SID Autentifikovanih korisnika se dodaje tokenu korisnika od strane AD. Dakle, ako domen poseduje Enterprise CA sa šablonom koji dozvoljava Autentifikovanim korisnicima prava registracije, šablon bi potencijalno mogao biti registrovan od strane korisnika iz drugog šuma. Slično tome, ako prava registracije eksplicitno budu dodeljena stranom principu putem šablona, time se stvara prekogranični odnos kontrole pristupa, omogućavajući principu iz jednog šuma da se registruje u šablonu iz drugog šuma.
Oba scenarija dovode do povećanja površine napada iz jednog šuma u drugi. Postavke šablona sertifikata mogu biti iskorišćene od strane napadača kako bi se dobile dodatne privilegije u stranom domenu.
Last updated