
01核心协议解析:RTSP 与 ONVIF
IP 摄像头的通信主要依赖两大技术:
1. RTSP(Real-Time Streaming Protocol)
实时流传输协议,由 IETF 于 1998 年标准化(RFC 2326),2016 年更新为 RTSP 2.0(RFC 7826)。它本质上是一个控制协议,负责建立、管理音视频会话,而真正的媒体数据通常由 RTP(实时传输协议)承载。
常见操作包括 OPTIONS(查询能力)、DESCRIBE(获取媒体描述)、SETUP(协商传输)、PLAY(播放)、PAUSE(暂停)和 TEARDOWN(结束会话)。默认端口为 554,URL 格式为:
RTSP 本身不提供标准发现机制,攻击者或测试人员通常通过端口扫描 + 路径爆破来定位流地址。
2. ONVIF(Open Network Video Interface Forum)
2008 年由 Axis、Bosch、Sony 等厂商发起的开放标准,旨在解决不同品牌设备之间的互操作性问题。ONVIF 基于 Web Services(SOAP over HTTP/HTTPS),提供设备发现、配置管理、媒体控制、PTZ、事件通知等功能。实际视频流仍多通过 RTSP 传输。
ONVIF 定义了多个 Profile(如 Profile S 基础流媒体、Profile T 高级视频、Profile G 存储回放等),使跨品牌兼容成为可能。
02如何发现 ONVIF 与 RTSP 协议
1.使用 nmap 发现
nmap 是网络探测的标准工具,内置了针对这两类协议的脚本,适合快速扫描。
发现 ONVIF(WS-Discovery)
ONVIF 设备通过 UDP 3702 端口的组播进行发现。常用命令:
成功时会返回设备的 XAddrs(如 http://192.168.1.100/onvif/device_service)、类型、厂商等信息。注意:组播发现通常仅在同一二层网络有效。
发现 RTSP
RTSP 主要依赖端口扫描 + 路径枚举:
rtsp-url-brute 脚本会尝试大量常见路径,并根据响应判断是否有效(包括 401 未授权但存在的路径)。结合 -sV 可进一步确认服务版本。
2.其他发现方式
- ONVIF:专用工具如 ONVIF Device Manager(ODM)、onvifscout,或直接使用后文介绍的 pwneye。
- RTSP:厂商工具(海康 SADP、大华 ConfigTool 等)、Cameradar、rtsp-network-scanner 等。
- 最准确路径:先通过 ONVIF 认证成功后获取真实 RTSP URI,再进行流测试。
03IP 摄像头常见攻击面
从现场实际环境和安全视角看,针对 IP 摄像头的攻击主要集中在以下方面(仅作风险分类说明,实际利用需合法授权):
- 认证与凭据问题:默认弱密码、硬编码后门账号、凭据重用。
- 协议层漏洞:ONVIF 认证绕过、未授权服务调用;RTSP 匿名访问或路径遍历;Web 管理界面的命令注入、文件上传等。
- 固件与软件缺陷:未修复的公开 CVE、固件签名校验缺失、供应链后门。
- 网络暴露与配置错误:设备直接暴露公网、UPnP 自动映射、明文传输、跨网段隔离不足。
- 其他:物理接触重置、云账号被盗用后的远程控制等。
这些弱点使得攻击者可能实现未授权查看视频流、控制云台、重启设备甚至完全接管摄像头。防御重点在于修改默认密码、关闭不必要服务、网络隔离、及时更新固件并启用加密(HTTPS/RTSPS)。
04测试用到的工具:pwneye
在 IP 摄像头攻防与安全评估中,pwneye 是一款高度聚焦、实用性强的开源工具(GitHub: Hackerest/pwneye,当前版本 1.3.2,codename panopticon)。它专为处理 ONVIF 与 RTSP 服务设计,将发现、认证测试、信息收集、流验证、录制与后续操作整合到统一的 CLI 工作流中,特别适合安全研究人员与渗透测试人员。相比纯 nmap 扫描,pwneye 提供了更完整的交互式工作流与厂商适配。
核心能力
- 本地网络 ONVIF 发现(基于 WS-Discovery,支持指定网卡)。
- ONVIF 多线程凭据爆破(支持单凭据或字典文件,内置常见凭据)。
- 认证后枚举设备信息、用户、网络配置、媒体配置文件与 RTSP URI。
- 高级 ONVIF 操作:重启、恢复出厂、PTZ 移动、交互式 Shell、流 deface/恢复。
- RTSP 端口检测与基于 Banner 的厂商识别。
- 内置 450+ 厂商凭据与连接字符串配置,支持多线程爆破与多通道处理。
- 专用实时预览客户端(支持缩放与快速通道切换)。
- 流验证、ffplay 预览、ffmpeg 录制与截图。
- 目标级缓存(
~/.pwneye),自动复用成功发现结果。
安装
推荐使用 pipx 全局安装:
或克隆源码后使用虚拟环境安装。需额外安装 ffmpeg(含 ffplay、ffprobe)以支持预览与录制。
典型使用场景
- 快速发现本地设备(比 nmap 广播更专注于 ONVIF 摄像头):
- 完整工作流测试单个目标:
- 跳过 ONVIF,专注 RTSP:
- 使用已知或字典凭据:
- 指定路径或厂商加速:
- 证据收集:
- 高级操作(需认证成功):
其他实用参数包括 --threads N(控制并发)、--multi-channel(DVR/NVR 场景)、--no-cache / --fresh(缓存控制)等。
与 nmap 的配合建议:可先用 nmap 快速扫描整个网段定位潜在目标与开放端口,再用 pwneye 对重点 IP 进行深度 ONVIF/RTSP 交互测试与操作,效率更高。
05一些个人建议
IP 摄像头安全是典型的“协议 + 实现 + 配置”综合问题。理解 RTSP 与 ONVIF 的原理与发现方式(nmap 脚本 + pwneye),是开展有效安全评估的基础。
安全建议:
- 仅在授权环境中使用任何攻防工具。
- 优先修改默认凭据、关闭不必要服务、实施网络隔离。
- 定期更新固件并监控异常访问。
- 将摄像头视为高价值资产,纳入整体安全防护体系。
通过最近的一些项目,发现好多都是默认配置,大多因为在内网所以都是默认配置,还有发布在公网的,多人密码口令一样的,给的说法就是大家方便,其实这样攻击者也很方便,由于现在IP摄像头应用的领域太多了,一旦攻破影响巨大,所以大家还是要注意,另外使用任何攻击类的工具请严格遵守《网络安全法》。