mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
124 lines
7.5 KiB
Markdown
124 lines
7.5 KiB
Markdown
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
||
- 你在一家**网络安全公司**工作吗?你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||
|
||
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品——[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
||
|
||
- 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
||
|
||
- **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或者**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
||
|
||
- **通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享你的黑客技巧**。
|
||
|
||
</details>
|
||
|
||
|
||
# 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** - 链路本地单播地址范围。
|
||
```bash
|
||
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`**
|
||
|
||
1. 转换为IPv6表示法:**`1234:5678:9abc`**
|
||
2. 在开头添加`fe80::`,并在中间插入`fffe`:**`fe80::`**`1234:56`**`ff:fe`**`78:9abc`
|
||
3. 将从左边数第七位的位反转,从0001 0010变为0001 0000:`fe80::1`**`0`**`34:56ff:fe78:9abc`
|
||
4. `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地址。
|
||
```bash
|
||
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.\*"
|
||
```bash
|
||
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](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](https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904)
|
||
|
||
|
||
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
||
- 您在**网络安全公司**工作吗?您想在HackTricks中看到您的**公司广告**吗?或者您想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||
|
||
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
||
|
||
- 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
||
|
||
- **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或在**Twitter**上**关注**我[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
|
||
|
||
- **通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享您的黑客技巧**。
|
||
|
||
</details>
|