文章总结: 本文介绍开源工具pwneye,专注IP摄像头安全评估,整合ONVIF与RTSP协议,支持设备发现、多线程凭据爆破、认证后枚举、流验证录制及设备控制操作。工具内置450+厂商凭据库,提供厂商感知爆破与多通道处理,强调仅限授权测试使用。安装便捷,适合IoT安全研究人员与渗透测试人员。 综合评分: 85 文章分类: 渗透测试,IoT安全,安全工具
pwneye:专注摄像头攻击的工具(国庆快乐)
原创
信安路漫漫 信安路漫漫
信安路漫漫
2026年10月1日 07:00 上海
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
项目地址:https://github.com/Hackerest/pwneye
今天给大家推荐一款摄像头的攻击工具,主要用来爆破摄像头的ONVIF和RTSP协议以及后利用。
pwneye 是一款专注于 IP 摄像头安全的轻量级攻击性安全工具,由 Hackerest 开发并开源在 GitHub 上。它的定位非常明确:帮助安全研究人员和渗透测试人员通过单一的 CLI 工作流,完成对暴露 ONVIF 和 RTSP 服务的摄像头设备的发现、认证测试、信息收集、流验证、录制以及后续操作。
为什么需要 pwneye
IP 摄像头的安全评估长期以来面临两个核心痛点:协议碎片化和工具链分散。ONVIF 负责管理控制,RTSP 负责流媒体传输,两者分别需要不同的工具和知识储备。而不同厂商(海康、大华、Tenda 等)的 RTSP 路径格式、默认凭据、通道结构又各不相同,使得手工评估效率极低。
pwneye 的设计思路正是将这些分散的环节整合到一个统一的命令行界面中,从发现到验证再到证据收集,一气呵成。
核心功能全景
ONVIF 侧:设备管理与控制
ONVIF 是摄像头世界里的“管理面”,pwneye 在这一侧提供了相当完整的操作链。
网络发现。 通过 WS-Discovery 协议,pwneye 可以主动发现同一局域网内的 ONVIF 设备。执行 pwneye –discover 后,工具会自动选择默认出口接口,持续探测并打印新发现的设备信息,包括厂商、型号、MAC 地址、流媒体能力等。也可以显式指定网络接口:pwneye –discover en0。
多线程认证爆破。 支持固定用户名+密码字典、用户名字典+固定密码、以及用户名/密码双字典的多种组合方式。如果未指定凭据,工具会自动回退到内置的常见 ONVIF 凭据列表。成功认证的凭据会被缓存到 ~/.pwneye/cache,后续运行自动复用。
认证后的深度枚举。 一旦 ONVIF 认证成功,pwneye 可以枚举设备信息、已配置用户、网络配置、媒体配置文件以及 RTSP 流 URI,为后续的 RTSP 阶段提供关键线索。
设备控制操作。 这是 pwneye 区别于普通扫描器的显著特征——它不仅能“看”,还能“动”:
l重启:–reboot 直接请求设备重启
l恢复出厂:–reset 发送 ONVIF 恢复出厂请求(工具会明确警告此操作可能不可逆)
lPTZ 移动:–move right,2 –move up,1 等命令可按方向与时长控制云台
l流遮盖与恢复:–deface 和 –undeface 允许在授权场景下对视频流进行遮盖和恢复操作,实现方式较为保守,优先利用 ONVIF 标准的 Imaging 和文本层功能,而非厂商私有技巧
l交互式 ONVIF Shell:–shell 打开一个交互式会话,可直接调用 ONVIF 方法、探索服务能力,底层基于 onvif-python 库实现
RTSP 侧:流媒体发现与取证
RTSP 是摄像头世界里的“流媒体面”,也是最碎片化的部分。pwneye 在这一侧同样覆盖了从识别到取证的关键环节。
厂商识别。 通过 RTSP banner 抓取自动识别厂商。如果自动识别失败但已知厂商,可以用 –vendor tenda 直接指定,大幅减少请求量。也可以仅抓取 banner 后退出:–skip-onvif –banner。
厂商感知的 RTSP 爆破。 这是 pwneye 的亮点功能之一。工具内置了 450+ 厂商凭据/连接字符串配置文件,结合多线程爆破引擎和实时进度输出,效率远高于盲目的路径枚举。支持固定凭据、用户名轮换、连接字符串字典文件等多种模式。
多通道处理。 针对 DVR/NVR 类设备,pwneye 可以自动检测通道式 RTSP 路径模板(如 channel={channel}&subtype=0),枚举有效通道,并提供交互式通道选择。选择“打开所有已发现通道”后,会启动一个专用的多通道客户端,将所有流以马赛克方式呈现在单一窗口中,点击任意画面即可放大聚焦。
流验证、录制与快照。 验证通过的流可以通过内置播放器进行实时预览,也支持 –legacy 参数回退到系统 ffplay。录制功能(–record)和快照功能(–snapshot)直接集成,默认输出到 ~/.pwneye/recordings 和 ~/.pwneye/snapshots 目录下。
智能缓存机制。 pwneye 会按目标缓存成功的 ONVIF 和 RTSP 发现结果。默认复用缓存,–fresh 忽略缓存读取但继续更新缓存,–no-cache 完全禁用缓存读写。
安装与依赖
pwneye 提供两种安装方式:
pipx(推荐):
pipx install git+https://github.com/Hackerest/pwneye.git
升级同样简单:pipx upgrade pwneye。
Python 虚拟环境:
git clone https://github.com/Hackerest/pwneyecd pwneyepython3 -m venv .venvsource .venv/bin/activatepip install -r requirements.txtpython3 pwneye.py --help
外部依赖方面,根据使用模式不同,需要系统 PATH 中具备 ffplay、ffprobe 和 ffmpeg(用于录制)。各平台的安装命令在 README 中均有列出。
快速上手
最常见的入口是从单一目标的全流程开始,让 pwneye 自动完成协议选择和凭据尝试:
pwneye -t 192.168.1.135
如果处于同一局域网且希望先做发现,再决定后续操作:
pwneye --discover
如果已知或怀疑凭据,直接传入以减少噪音:
pwneye -t 192.168.1.135 --username admin --password admin
如果已经掌握 RTSP 路径线索,可以跳过 ONVIF 直接控制请求范围:
pwneye -t 192.168.1.135 --skip-onvif -cn "/live/ch00_0"
使用提示与技巧
README 中提供了一些来自实践的实用建议:已知厂商时显式传入 –vendor 可以降低对脆弱目标的请求压力;已知路径时用 –connection-string 代替盲目枚举;DVR/NVR 类目标应优先尝试 –multi-channel;如果 RTSP 凭据有效但流无法打开,ONVIF 的 –reboot 有时是有效的恢复手段。此外,工具作者特别提醒:某些设备对错误路径和错误通道 ID 也会返回“有效”流,因此广泛的通道成功结果应视为线索而非确证,需要人工确认画面内容是否真正有意义。
安全与法律边界
pwneye 的能力覆盖了设备发现、认证测试、视频录制、ONVIF 管理操作甚至重启和恢复出厂设置。作者在 README 中明确强调:仅在拥有或获得明确授权的资产上使用此工具。即使目标仅是证据收集,反复的 RTSP 探测也可能导致脆弱摄像头不稳定,而 ONVIF 操作可能产生即时的运营影响。
该项目采用 GNU GPL3 许可证分发。
总结
pwneye 的定位精准而务实:它不是一个大而全的漏洞利用框架,而是一个专注 ONVIF + RTSP 场景的“摄像头伴侣”。从发现、爆破、枚举到流验证、录制、设备控制,它把摄像头安全评估中最常用的操作收敛到一条 CLI 管道中,同时通过厂商知识库和缓存机制显著降低了重复劳动。对于从事 IoT 安全研究或授权渗透测试的从业者来说,这是一个值得关注的工具。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:信安路漫漫 信安路漫漫 信安路漫漫《pwneye:专注摄像头攻击的工具(国庆快乐)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论