Com'è possibile che un utente malintenzionato esegua la brute-force di una risposta NTLMv2 catturata dalla rete?

3

Secondo l'articolo di Wikipedia su NTLM qui: link

.. sotto la descrizione NTLMv2 menziona che

NTLMv2 sends two responses to an 8-byte server challenge

Quindi sostanzialmente in base all'articolo la risposta NTLMv2 diventa questa:

SC = 8-byte server challenge, random
CC = 8-byte client challenge, random
CC* = (X, time, CC2, domain name)
v2-Hash = HMAC-MD5(NT-Hash, user name, domain name)
LMv2 = HMAC-MD5(v2-Hash, SC, CC)
NTv2 = HMAC-MD5(v2-Hash, SC, CC*)
response = LMv2 | CC | NTv2 | CC*

Sto cercando di capire le sfide alla sicurezza di NTLMv2 e quanto sarebbe difficile per un utente malintenzionato catturare la risposta NTLMv2 sopra citata sniffando la rete, per forzarla bruscamente per ottenere la password.

Poiché l'hash include la challenge server random (SC), rende già difficile. Ma supponiamo che l'attaccante abbia sniffato e che abbia già catturato l'SC quando il server lo ha inviato al client.

L'attaccante dovrebbe anche essere in grado di vedere la sfida del cliente (CC & CC *) dalla risposta come

response = LMv2 | CC | NTv2 | CC*

giusto? .. questo vuol dire che l'attaccante può fare un brutto tentativo di forzare gli hash NTV2 o LMV2 inclusi nella risposta, dato che le seguenti informazioni sono ora con loro

  • SC (Server Challenge)
  • CC & CC *
  • risposta
  • nome utente, nome di dominio (facilmente acquisito da un utente malintenzionato già presente nella rete)

È questo il modo corretto per comprenderlo?

Grazie mille

    
posta Vicer 10.09.2017 - 08:09
fonte

2 risposte

3

Non si tratta solo di forzare brute, dizionario (è una parola?), o rainbow-tabling dei credenziali NET-NTLMv2, ma di più, quindi confrontarli con gli hash LM / NTLM memorizzati dal file flat SAM database o il processo LSASS in memoria (che di solito può essere invertito in cleartext ma in questo caso in realtà si desidera l'hash per scopi comparativi).

Peggio (*), NET-NTLMv2 può essere utilizzato per attacchi NTLM Relay. Uno dei modi migliori per accelerare l'uso di NTLM Relay è con - link

Per combinare i metodi di conversione delle credenziali LM / NTLM (insieme con, ad esempio, le acquisizioni NET-NTLMv2) ai loro equivalenti cleartext validi in corso, controlla il lavoro da Praetorian (Gladius) e root9b (ntlmv2_capture_hashcheck.rb).

Se stai cercando di decifrare NET-NTLMv2 da solo file pcap o simili (ad esempio, non sei in rete in questo momento o non hai materiale SAM / LSASS LM / NTLM per confrontarlo con l'uso del Praetorian o tecniche root9b), quindi si desidera controllare questo post del blog - link - - come l'autore spiega quali parti della richiesta e della risposta di NET-NTLMv2 devono essere regolate per adattarsi perfettamente a John the Ripper (o Hashcat) per scopi di cracking.

(*) In realtà ottiene molto, molto peggio perché NTLM Relay sta solo graffiando la superficie quando si considera Relè SMB, Pass-the Hash, JASBUG, Potato, Tater, SmashedPotato, (se si riesce a catturare qualsiasi traffico di rete), QuickCreds e PoisonTap (se hai la possibilità di collegare un dispositivo USB a una porta USB della stazione locale), così come crEAP e EAPeak (se hai accesso al WiFi).

    
risposta data 14.09.2017 - 23:49
fonte
1

Sì, è abbastanza fattibile fare un attacco di dizionario sulla risposta alla sfida NTLMv2. Tuttavia, con solo la risposta, non è possibile. L'attaccante ha bisogno sia della sfida che della risposta. In realtà, è in realtà abbastanza veloce da decifrare.

In effetti, gli hacker spesso usano uno strumento come Responder.py per catturare gli hash NTLMv2 e poi usare qualcosa come Hashcat per crackare (o inoltrare) gli hash delle risposte alle sfide.

    
risposta data 19.09.2017 - 22:31
fonte

Leggi altre domande sui tag