DHCPv6

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Confronto tra i tipi di messaggi DHCPv6 e DHCPv4

A seguire una vista comparativa dei tipi di messaggi DHCPv6 e DHCPv4:

Tipo di messaggio DHCPv6Tipo di messaggio DHCPv4
Solicit (1)DHCPDISCOVER
Advertise (2)DHCPOFFER
Request (3), Renew (5), Rebind (6)DHCPREQUEST
Reply (7)DHCPACK / DHCPNAK
Release (8)DHCPRELEASE
Information-Request (11)DHCPINFORM
Decline (9)DHCPDECLINE
Confirm (4)nessuno
Reconfigure (10)DHCPFORCERENEW
Relay-Forw (12), Relay-Reply (13)nessuno

Spiegazione dettagliata dei tipi di messaggi DHCPv6:

  1. Solicit (1): Avviato da un client DHCPv6 per trovare server disponibili.
  2. Advertise (2): Inviato dai server in risposta a un Solicit, indicando la disponibilità per il servizio DHCP.
  3. Request (3): I client lo usano per richiedere indirizzi IP o prefissi da uno specifico server.
  4. Confirm (4): Usato da un client per verificare se gli indirizzi assegnati sono ancora validi sulla rete, tipicamente dopo un cambiamento di rete.
  5. Renew (5): I client lo inviano al server originale per estendere la durata degli indirizzi o aggiornare le configurazioni.
  6. Rebind (6): Inviato a qualsiasi server per estendere la durata degli indirizzi o aggiornare le configurazioni, specialmente quando non viene ricevuta risposta a un Renew.
  7. Reply (7): I server lo usano per fornire indirizzi, parametri di configurazione o per riconoscere messaggi come Release o Decline.
  8. Release (8): I client informano il server di smettere di usare uno o più indirizzi assegnati.
  9. Decline (9): Inviato dai client per segnalare che gli indirizzi assegnati sono in conflitto sulla rete.
  10. Reconfigure (10): I server inducono i client a iniziare transazioni per configurazioni nuove o aggiornate.
  11. Information-Request (11): I client richiedono parametri di configurazione senza assegnazione di indirizzo IP.
  12. Relay-Forw (12): I relay agent inoltrano messaggi ai server.
  13. Relay-Repl (13): I server rispondono ai relay agent, che poi consegnano il messaggio al client.

Note rapide sul protocollo (Offensive)

  • I client DHCPv6 usano la porta UDP 546 e i server/relay usano la porta UDP 547.
  • I client inviano Solicit a All_DHCP_Relay_Agents_and_Servers (ff02::1:2); i server/relay ascoltano lì. All_DHCP_Servers è ff05::1:3.
  • Le identità di client e server sono trasportate in OPTION_CLIENTID e OPTION_SERVERID usando DUIDs. Questo è utile per fingerprinting dello stesso host attraverso cambi di indirizzo.
  • L’assegnazione di indirizzi viene richiesta con IA_NA (indirizzo non temporaneo) e la delega di prefisso con IA_PD (prefisso del router a valle).

Ricognizione rapida

# Basic DHCPv6 traffic capture
sudo tcpdump -vvv -i <IFACE> 'udp port 546 or udp port 547'

# THC-IPv6: discover DHCPv6 servers and their options
sudo atk6-dump_dhcp6 <IFACE>

Rogue DHCPv6 Server (Address/DNS Hijack)

# THC-IPv6: rogue DHCPv6 server advertising address + DNS
sudo atk6-fake_dhcps6 <IFACE> <PREFIX>/<LEN> <DNSv6>

Questo è un generico on-link rogue DHCPv6 server. Sulle reti Windows/AD, abbinalo a relays di livello superiore (vedi la pagina IPv6) se vuoi NTLM relay primitives.

Pool Exhaustion / DHCPv6 Starvation

# THC-IPv6: exhaust the server's address pool
sudo atk6-flood_dhcpc6 <IFACE>

Avvertenza sui messaggi Reconfigure

DHCPv6 Reconfigure non viene accettato ciecamente: i client lo accettano solo se hanno esplicitamente inviato OPTION_RECONF_ACCEPT. Per impostazione predefinita, un client è riluttante ad accettare messaggi Reconfigure, quindi attacchi Reconfigure poco robusti spesso falliscono a meno che non si osservi o si induca quell’opzione.

Pentesting IPv6

Riferimenti

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks