7.5 KiB
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
你在一家网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
-
发现我们的独家NFTs收藏品——The PEASS Family
-
加入💬 Discord群组或电报群组,或者关注我在Twitter上的🐦@carlospolopm。
-
通过向hacktricks repo和hacktricks-cloud repo提交PR来分享你的黑客技巧。
IPv6基础理论
网络
在IPv6地址中,前48位是网络前缀。接下来的16位是子网ID,用于定义子网。最后的64位是接口标识符(也称为接口ID或设备ID,用于设备)。如果需要,通常保留给设备ID的位可以用于额外的子网掩码。
IPv6中没有ARP。相反,有ICMPv6 NS(邻居请求)和NA(邻居通告)。NS用于解析地址,因此它发送多播数据包。NA是单播的,用于回答NS。不需要NS数据包也可以发送NA数据包。
0:0:0:0:0:0:0:1 = 1(IPv4中的::1
)- 这是IPv4中的127.0.0.1的等效地址。
**链路本地地址:**这些是私有地址,不适用于在互联网上路由。它们可以由私有或临时局域网在局域网上共享和分发文件。使用此类地址的本地局域网中的其他设备可以通过向多播地址ff02::01发送ping命令来找到。
FE80::/10 - 链路本地单播地址范围。
ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
ip neigh | grep ^fe80
#Or you could also use
alive6 eth0
如果你知道与你在同一网络中的主机的MAC地址(你可以通过ping其IPv4地址并查看arp表来找到其MAC地址),你可以计算出他的链路本地地址以与他通信。
假设MAC地址是**12:34:56:78:9a:bc
**
- 转换为IPv6表示法:
1234:5678:9abc
- 在开头添加
fe80::
,并在中间插入fffe
:fe80::
1234:56
ff:fe
78:9abc
- 将从左边数第七位的位反转,从0001 0010变为0001 0000:
fe80::1
0
34:56ff:fe78:9abc
fe80::1034:56ff:fe78:9abc
**唯一本地地址:**这种类型的IPv6地址也不打算在公共互联网上进行路由。唯一本地地址是站点本地地址的替代品,允许在站点内进行通信,同时可路由到多个本地网络。
FEC00::/7 - 唯一本地地址范围。
**组播地址:**也可以称为一对多。发送到组播地址的数据包将传递到由组播地址标识的所有接口。组播地址类型通常以FF开头,因此很容易识别。
FF00::/8 - 组播范围。
**任播地址:**这种形式的IPv6地址与组播地址类似,但有一点不同。任播地址也可以称为一对最近。它可以用于寻址发送到多个接口的数据包;但通常它会将数据包发送到根据路由距离定义的第一个接口。这意味着它将数据包发送到由路由协议确定的最近接口。
20000::/3 - 全局单播地址范围。
fe80::/10--> 唯一链路本地地址 (169.254.x.x) [fe80:0000:0000:0000:0000:0000:0000:0000,febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff]
fc00::/7 --> 唯一本地单播地址 (10.x.x.x, 172.16.x.x, 192.168.x.x) []
2000::/3 --> 全局单播地址
ff02::1 --> 组播所有节点
ff02::2 --> 组播路由器节点
猜测机器的IPv6地址
方法1
fe80::/10的IPv6地址是基于MAC地址的。如果你有网络中某个设备的IPv6地址,并且你想猜测网络中另一个设备的IPv6地址,你可以使用ping命令(在arp表中)获取其MAC地址。
方法2
你可以发送ping6到组播地址,并在arp表中获取IPv6地址。
service ufw stop #Stop firewall
ping6 -I <IFACE> ff02::1 #You could also make: ping6 -I <IPV6> ff02::1 if you want to make a ping to a specific IP Address
ip -6 neigh
alive6
use auxiliary/scanner/discovery/ipv6_neighbor_router_advertisement; set INTERFACE eth1; run
IPv6中间人攻击
使用伪造的ICMPv6邻居通告进行中间人攻击。
- 使用伪造的ICMPv6路由器通告进行中间人攻击。
- 使用ICMPv6重定向或ICMPv6过大来插入路由进行中间人攻击。
- 中间人攻击移动IPv6,但需要禁用IPSec。
- 使用恶意DHCPv6服务器进行中间人攻击。
在互联网上发现IPv6地址
子域名
您可以使用Google和其他浏览器搜索子域名,例如"ipv6.*"
site:ipv6./
DNS
您还可以尝试在DNS中搜索“AXFR”(区域传输)、“AAAA”(IPv6)甚至“ANY”(全部)记录,以查找IPv6地址。
Ping6
一旦找到组织的一些IPv6设备,您可以尝试使用ping6
来检查附近的地址。
参考资料
- http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html
- https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
您在网络安全公司工作吗?您想在HackTricks中看到您的公司广告吗?或者您想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
-
发现我们的独家NFTs收藏品The PEASS Family
-
加入💬 Discord群组或电报群组,或在Twitter上关注我🐦@carlospolopm。
-
通过向hacktricks repo和hacktricks-cloud repo提交PR来分享您的黑客技巧。