tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks

IPv6 基础理论

网络

IPv6 地址的结构旨在增强网络组织和设备交互。IPv6 地址分为:

  1. 网络前缀:前 48 位,确定网络段。
  2. 子网 ID:接下来的 16 位,用于定义网络内的特定子网。
  3. 接口标识符:最后 64 位,唯一标识子网内的设备。

虽然 IPv6 省略了 IPv4 中的 ARP 协议,但引入了 ICMPv6,其主要消息有:

  • 邻居请求 (NS):用于地址解析的组播消息。
  • 邻居通告 (NA):对 NS 的单播响应或自发公告。

IPv6 还包含特殊地址类型:

  • 回环地址 (::1):相当于 IPv4 的 127.0.0.1,用于主机内部通信。
  • 链路本地地址 (FE80::/10):用于本地网络活动,不用于互联网路由。处于同一本地网络的设备可以使用此范围相互发现。

IPv6 在网络命令中的实际使用

要与 IPv6 网络交互,可以使用各种命令:

  • Ping 链路本地地址:使用 ping6 检查本地设备的存在。
  • 邻居发现:使用 ip neigh 查看在链路层发现的设备。
  • alive6:用于发现同一网络上设备的替代工具。

以下是一些命令示例:

bash
ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
ip neigh | grep ^fe80

# Alternatively, use alive6 for neighbor discovery
alive6 eth0

IPv6 地址可以从设备的 MAC 地址派生,用于本地通信。以下是如何从已知的 MAC 地址派生链路本地 IPv6 地址的简化指南,以及对 IPv6 地址类型和在网络中发现 IPv6 地址的方法的简要概述。

从 MAC 地址派生链路本地 IPv6

给定一个 MAC 地址 12:34:56:78:9a:bc,可以按如下方式构造链路本地 IPv6 地址:

  1. 将 MAC 转换为 IPv6 格式:1234:5678:9abc
  2. 在前面添加 fe80:: 并在中间插入 fffefe80::1234:56ff:fe78:9abc
  3. 反转左侧的第七位,将 1234 改为 1034fe80::1034:56ff:fe78:9abc

IPv6 地址类型

  • 唯一本地地址 (ULA):用于本地通信,不用于公共互联网路由。前缀:FEC00::/7
  • 组播地址:用于一对多通信。发送到组播组中的所有接口。前缀:FF00::/8
  • 任播地址:用于一对最近的通信。根据路由协议发送到最近的接口。属于 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:组播路由器节点

在网络中发现 IPv6 地址

方法 1:使用链路本地地址

  1. 获取网络中设备的 MAC 地址。
  2. 从 MAC 地址派生链路本地 IPv6 地址。

方法 2:使用组播

  1. 向组播地址 ff02::1 发送 ping,以发现本地网络上的 IPv6 地址。
bash
service ufw stop # Stop the firewall
ping6 -I <IFACE> ff02::1 # Send a ping to multicast address
ip -6 neigh # Display the neighbor table

IPv6 中间人攻击 (MitM)

在 IPv6 网络中执行 MitM 攻击的几种技术包括:

  • 冒充 ICMPv6 邻居或路由器广告。
  • 使用 ICMPv6 重定向或“数据包过大”消息来操纵路由。
  • 攻击移动 IPv6(通常需要禁用 IPSec)。
  • 设置恶意 DHCPv6 服务器。

在领域中识别 IPv6 地址

探索子域

寻找可能与 IPv6 地址相关的子域的方法涉及利用搜索引擎。例如,使用查询模式 ipv6.* 可以有效。具体来说,可以在 Google 中使用以下搜索命令:

bash
site:ipv6./

利用 DNS 查询

要识别 IPv6 地址,可以查询某些 DNS 记录类型:

  • AXFR:请求完整的区域传输,可能揭示广泛的 DNS 记录。
  • AAAA:直接查找 IPv6 地址。
  • ANY:一个广泛的查询,返回所有可用的 DNS 记录。

使用 Ping6 进行探测

在确定与组织相关的 IPv6 地址后,可以使用 ping6 工具进行探测。该工具有助于评估已识别的 IPv6 地址的响应能力,并可能帮助发现相邻的 IPv6 设备。

参考文献

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks