
我剛剛看到這個聲明。
然而,如果攻擊者能夠危害子網路中的一台主機,則掃描 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