我刚刚看到这个说法。
然而,如果攻击者能够破坏子网中的一台主机,则扫描 IPv6 网络会提供子网中的大量主机;攻击者可以探测所有主机链路本地多播地址。
我确实知道 IPv6 具有更大的子网,大约有 128 位寻址方案,这就是使用传统扫描方法扫描网络变得繁琐的原因。但这到底意味着什么all host link local multicast
?
答案1
IPv6 中有不同类型的地址:
单播地址是节点的唯一地址。
任播地址:通常是从多个位置通告的 IP 前缀。它根据路由协议成本在网络中传递使用哪个位置的决定。
多播地址。代表网络上一组节点的地址。IPv6 主要使用它们一次向多个节点发送消息,避免使用广播地址,因为它们可以到达网络上的每个节点。一个例子是 NDP(邻居发现协议),它被用来替代 IPv4 ARP。
IPv6 定义了很多不同的多播地址。本地链接多播地址是ff02::1
。
如果攻击者从受感染的主机向该地址发送 ping,则该 ping 将到达网络中的所有主机。
在 Windows 中类似如下内容:
ping - 6 ff02::1
或者在 Linux 中
ping6 -I eth0 ff02::1
将会收到所有主机的响应,如下所示:
64 bytes from fe80::215:5dff:fe01:2909: icmp_seq=1 ttl=64 time=0.028 ms
64 bytes from fe80::215:5dff:fe01:2911: icmp_seq=1 ttl=64 time=3.57 ms (DUP!)
64 bytes from fe80::20f:d3ff:fe59:cae3: icmp_seq=1 ttl=64 time=9.08 ms (DUP!)
64 bytes from fe80::215:5dff:fe60:152: icmp_seq=1 ttl=64 time=17.4 ms (DUP!)
然后,攻击者可以轻松收集网络中所有主机的 IPv6 地址,然后就可以开始攻击每一个主机。
由于回应是本地链路如果攻击者想要测试有多少个地址可以从网络外部访问,则必须将它们转换为全球的地址的首字母替换fe80:
为 IPv6 子网前缀。
还有其他 IPv6 多播地址可能对攻击者有用。以下列表显示了官方定义的 IPv6 多播地址。
Address Description
ff02::1 All nodes on the local network segment
ff02::2 All routers on the local network segment
ff02::5 OSPFv3 All SPF routers
ff02::6 OSPFv3 All DR routers
ff02::8 IS-IS for IPv6 routers
ff02::9 RIP routers
ff02::a EIGRP routers
ff02::d PIM routers
ff02::16 MLDv2 reports
ff02::1:2 All DHCP servers and relay agents on the local network segment
ff02::1:3 All LLMNR hosts on the local network segment
ff05::1:3 All DHCP servers on the local network site
ff0x::c Simple Service Discovery Protocol
ff0x::fb Multicast DNS
ff0x::101 Network Time Protocol
ff0x::108 Network Information Service
ff0x::181 Precision Time Protocol (PTP) version 2 messages except peer delay measurement
ff02::6b Precision Time Protocol (PTP) version 2 peer delay measurement messages
ff0x::114 Experimental