You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/generic-methodologies-and-resources/pentesting-network/dhcpv6.md
+44-1Lines changed: 44 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,11 +35,54 @@ A comparative view of DHCPv6 and DHCPv4 message types is presented in the table
35
35
12.**Relay-Forw (12)**: Relay agents forward messages to servers.
36
36
13.**Relay-Repl (13)**: Servers reply to relay agents, who then deliver the message to the client.
37
37
38
+
39
+
## Quick Protocol Notes (Offensive)
40
+
41
+
- DHCPv6 clients use UDP port `546` and servers/relays use UDP port `547`.
42
+
- Clients send Solicit to **All_DHCP_Relay_Agents_and_Servers** (`ff02::1:2`); servers/relays listen there. **All_DHCP_Servers** is `ff05::1:3`.
43
+
- Client and server identities are carried in `OPTION_CLIENTID` and `OPTION_SERVERID` using **DUIDs**. This is handy for fingerprinting the same host across address changes.
44
+
- Address assignment is requested with `IA_NA` (non-temporary address) and prefix delegation with `IA_PD` (downstream router prefix).
45
+
46
+
### Quick Recon
47
+
48
+
```bash
49
+
# Basic DHCPv6 traffic capture
50
+
sudo tcpdump -vvv -i <IFACE>'udp port 546 or udp port 547'
51
+
52
+
# THC-IPv6: discover DHCPv6 servers and their options
53
+
sudo atk6-dump_dhcp6 <IFACE>
54
+
```
55
+
56
+
### Rogue DHCPv6 Server (Address/DNS Hijack)
57
+
58
+
```bash
59
+
# THC-IPv6: rogue DHCPv6 server advertising address + DNS
This is a generic on-link rogue DHCPv6 server. On Windows/AD networks, pair this with higher-level relays (see the IPv6 page) if you want NTLM relay primitives.
64
+
65
+
### Pool Exhaustion / DHCPv6 Starvation
66
+
67
+
```bash
68
+
# THC-IPv6: exhaust the server's address pool
69
+
sudo atk6-flood_dhcpc6 <IFACE>
70
+
```
71
+
72
+
### Reconfigure Message Caveat
73
+
74
+
DHCPv6 **Reconfigure** is not blindly accepted: clients only accept it if they explicitly sent `OPTION_RECONF_ACCEPT`. By default, a client is **unwilling** to accept Reconfigure messages, so unsolid Reconfigure attacks often fail unless you observe/induce that option.
0 commit comments