Pentesting IPv6
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
IPv6 アドレスは、ネットワークの組織化とデバイスの相互作用を強化するように構造化されています。IPv6 アドレスは次のように分かれています:
ネットワークプレフィックス:最初の 48 ビットで、ネットワークセグメントを決定します。
サブネット ID:次の 16 ビットで、ネットワーク内の特定のサブネットを定義するために使用されます。
インターフェース識別子:最後の 64 ビットで、サブネット内のデバイスを一意に識別します。
IPv6 は、IPv4 に見られる ARP プロトコルを省略していますが、2 つの主要なメッセージを持つ ICMPv6 を導入しています:
隣接要求 (NS):アドレス解決のためのマルチキャストメッセージ。
隣接広告 (NA):NS へのユニキャスト応答または自発的な通知。
IPv6 には特別なアドレスタイプも含まれています:
ループバックアドレス (::1
):IPv4 の 127.0.0.1
に相当し、ホスト内の内部通信に使用されます。
リンクローカルアドレス (FE80::/10
):ローカルネットワーク活動用で、インターネットルーティングには使用されません。同じローカルネットワーク上のデバイスは、この範囲を使用して互いに発見できます。
IPv6 ネットワークと対話するために、さまざまなコマンドを使用できます:
リンクローカルアドレスの Ping:ping6
を使用してローカルデバイスの存在を確認します。
隣接発見:ip neigh
を使用してリンク層で発見されたデバイスを表示します。
alive6:同じネットワーク上のデバイスを発見するための代替ツールです。
以下はコマンドの例です:
IPv6アドレスは、ローカル通信のためにデバイスのMACアドレスから導出できます。以下は、既知のMACアドレスからリンクローカルIPv6アドレスを導出するための簡略化されたガイドと、ネットワーク内のIPv6アドレスの種類と発見方法の簡単な概要です。
MACアドレス 12:34:56:78:9a:bc
が与えられた場合、リンクローカルIPv6アドレスを次のように構築できます:
MACをIPv6形式に変換: 1234:5678:9abc
fe80::
を前に付け、中間にfffe
を挿入: fe80::1234:56ff:fe78:9abc
左から7ビットを反転し、1234
を1034
に変更: fe80::1034:56ff:fe78:9abc
ユニークローカルアドレス (ULA):ローカル通信のためのもので、公共インターネットのルーティングには使用されません。プレフィックス: FEC00::/7
マルチキャストアドレス:1対多の通信のためのもの。マルチキャストグループ内のすべてのインターフェースに配信されます。プレフィックス: FF00::/8
エニキャストアドレス:1対最寄りの通信のためのもの。ルーティングプロトコルに従って最も近いインターフェースに送信されます。2000::/3
グローバルユニキャスト範囲の一部です。
fe80::/10:リンクローカルアドレス(169.254.x.xに類似)
fc00::/7:ユニークローカルユニキャスト(プライベートIPv4範囲の10.x.x.x、172.16.x.x、192.168.x.xに類似)
2000::/3:グローバルユニキャスト
ff02::1:マルチキャスト全ノード
ff02::2:マルチキャストルーターノード
ネットワーク内のデバイスのMACアドレスを取得します。
MACアドレスからリンクローカルIPv6アドレスを導出します。
マルチキャストアドレス ff02::1
にpingを送信して、ローカルネットワーク上のIPv6アドレスを発見します。
IPv6ネットワークでMitM攻撃を実行するためのいくつかの技術が存在します。例えば:
ICMPv6隣接またはルーター広告のスプーフィング。
ICMPv6リダイレクトまたは「パケットが大きすぎます」メッセージを使用してルーティングを操作する。
モバイルIPv6を攻撃する(通常、IPSecを無効にする必要があります)。
悪意のあるDHCPv6サーバーを設定する。
IPv6アドレスに関連する可能性のあるサブドメインを見つける方法は、検索エンジンを活用することです。例えば、ipv6.*
のようなクエリパターンを使用することが効果的です。具体的には、次の検索コマンドをGoogleで使用できます:
IPv6アドレスを特定するために、特定のDNSレコードタイプをクエリできます:
AXFR: 完全なゾーン転送を要求し、広範囲のDNSレコードを明らかにする可能性があります。
AAAA: IPv6アドレスを直接探します。
ANY: 利用可能なすべてのDNSレコードを返す広範なクエリです。
組織に関連するIPv6アドレスを特定した後、ping6
ユーティリティを使用してプロービングできます。このツールは、特定されたIPv6アドレスの応答性を評価するのに役立ち、隣接するIPv6デバイスを発見するのにも役立つかもしれません。
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)