DHCPv6

Tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

Porównanie typów wiadomości DHCPv6 i DHCPv4

Poniżej przedstawiono porównanie typów wiadomości DHCPv6 i DHCPv4:

Typ wiadomości DHCPv6Typ wiadomości 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)none
Reconfigure (10)DHCPFORCERENEW
Relay-Forw (12), Relay-Reply (13)none

Szczegółowe wyjaśnienie typów wiadomości DHCPv6:

  1. Solicit (1): Inicjowane przez klienta DHCPv6 w celu znalezienia dostępnych serwerów.
  2. Advertise (2): Wysyłane przez serwery w odpowiedzi na Solicit, wskazując dostępność usługi DHCP.
  3. Request (3): Klienci używają tego, aby poprosić o adresy IP lub prefiksy od konkretnego serwera.
  4. Confirm (4): Używane przez klienta, aby zweryfikować, czy przydzielone adresy są nadal ważne w sieci, zwykle po zmianie sieci.
  5. Renew (5): Klienci wysyłają to do oryginalnego serwera, aby przedłużyć ważność adresów lub zaktualizować konfiguracje.
  6. Rebind (6): Wysyłane do dowolnego serwera w celu przedłużenia ważności adresów lub zaktualizowania konfiguracji, szczególnie gdy nie ma odpowiedzi na Renew.
  7. Reply (7): Serwery używają tego, aby dostarczyć adresy, parametry konfiguracji lub potwierdzić wiadomości takie jak Release lub Decline.
  8. Release (8): Klienci informują serwer, aby przestał używać jednego lub więcej przydzielonych adresów.
  9. Decline (9): Wysyłane przez klientów, aby zgłosić, że przydzielone adresy są w konflikcie w sieci.
  10. Reconfigure (10): Serwery proszą klientów o zainicjowanie transakcji w celu uzyskania nowych lub zaktualizowanych konfiguracji.
  11. Information-Request (11): Klienci żądają parametrów konfiguracji bez przydziału adresu IP.
  12. Relay-Forw (12): Agenci relay przekazują wiadomości do serwerów.
  13. Relay-Repl (13): Serwery odpowiadają agentom relay, którzy następnie dostarczają wiadomość do klienta.

Szybkie uwagi o protokole (ofensywne)

  • Klienci DHCPv6 używają portu UDP 546, a serwery/relaye używają portu UDP 547.
  • Klienci wysyłają Solicit do All_DHCP_Relay_Agents_and_Servers (ff02::1:2); serwery/relaye nasłuchują tam. All_DHCP_Servers to ff05::1:3.
  • Tożsamości klienta i serwera są przesyłane w OPTION_CLIENTID i OPTION_SERVERID przy użyciu DUIDs. To przydatne do fingerprintingu tego samego hosta pomimo zmian adresu.
  • Przydział adresu jest żądany za pomocą IA_NA (non-temporary address) i delegacja prefiksu za pomocą IA_PD (downstream router prefix).

Szybkie Recon

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

Fałszywy serwer DHCPv6 (przejęcie adresu/DNS)

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

To jest ogólny fałszywy serwer DHCPv6 działający on-link. W sieciach Windows/AD połącz go z relays wyższego poziomu (see the IPv6 page), jeśli chcesz NTLM relay primitives.

Pool Exhaustion / DHCPv6 Starvation

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

Uwaga dotycząca komunikatu Reconfigure

DHCPv6 Reconfigure nie jest akceptowany bezwarunkowo: klienci akceptują go tylko, jeśli wyraźnie zadeklarowali OPTION_RECONF_ACCEPT. Domyślnie klient jest niechętny do akceptowania komunikatów Reconfigure, więc niepewne ataki Reconfigure często zawodzą, chyba że zaobserwujesz lub wymuszysz tę opcję.

Pentesting IPv6

Źródła

Tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks