身份验证不当 — 通过构造的查询参数实现权限提升
| CVE ID | CVE-2017-7921 |
| 漏洞类型 | CWE-287:身份验证不当 |
| CVSS v3.0 基础分数 | 10.0(严重) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| CVSS v2.0 分数 | 7.5(高危) — AV:N/AC:L/Au:N/C:P/I:P/A:P |
| 披露日期 | 2017年(ICS-CERT 公告 ICSA-17-124-01) |
| 厂商 | 海康威视数字技术股份有限公司 |
| 状态 | 已修补 — 海康威视已发布修复固件;未修补及“灰色市场”设备仍存在风险 |
| PoC / 漏洞利用作者 | Jared Brits (K3ysTr0K3R) |
| 技术分析作者 | MK-ULTRA (github.com/MK-ULTRA-project-monarch) |
CVE-2017-7921 是一个严重的不当身份验证漏洞,影响海康威视网络摄像头、DVR 和 NVR 固件中的 Web 服务器组件。该漏洞允许远程、未经过身份验证的攻击者通过向特定 HTTP 请求路径附加一个特制的、静态定义的查询参数,完全绕过设备的登录机制。由于身份验证检查信任此参数而非验证会话或凭证集,任何携带此参数的请求都被视为来自特权内部进程。
成功利用将获得设备 Web 界面的完全管理权限,包括实时和录制的视频流、设备配置、用户账户数据,并且在许多固件分支上,能够下载完整设备配置文件,而该文件本身包含弱加密的存储凭证。该漏洞不需要用户交互、不需要事先认证、也不需要非标准网络位置,加之海康威视安装基数庞大,自披露以来,它已成为僵尸网络招募(例如 Reaper/IoTroop 系列活动)和监控源窃取的持续目标。
该漏洞在多个海康威视产品系列中得到确认,其固件版本早于 2017 年安全补丁。代表性的受影响产品线包括:
海康威视还指出本 CVE 存在一个持续性问题:大量通过非授权分销渠道销售的“灰色市场”设备运行的是经过修改的非海康威视固件。标准固件更新无法可靠修复这些设备,在某些情况下甚至会导致界面回退而非修复。
标准海康威视设备认证基于 HTTP 基本/摘要认证保护 Web 管理界面。然而,在受影响固件中,部分内部请求处理端点包含一个次要的、未记录的认证路径,供内部/调试使用。此路径不执行凭证查找——它检查请求中是否存在一个固定的、硬编码的令牌,如果存在,则将请求视为已预认证,完全绕过正常的基于角色的访问控制(RBAC)检查。
该令牌是固件中嵌入的静态默认凭证对的 Base64 编码表示。由于它是一个常量而非派生的会话值,因此无论设备上实际配置的管理员密码如何,所有受影响设备上的令牌都相同——更改管理员密码并不能缓解该漏洞。
在高层面上,利用遵循以下序列:
不涉及内存损坏、缓冲区溢出或客户端交互;整个攻击仅是一个精心构造的无状态 HTTP 请求,这使得它极易编写脚本并被扫描器识别。
三个因素导致该 CVE 在实际暴露中具有异常长的尾效应:
| 指标 | 影响 |
|---|---|
| 机密性 | 完全 — 实时/录制视频、设备配置和存储的(弱加密)凭证被暴露。 |
| 完整性 | 完全 — 攻击者可以修改设备配置、用户账户和流设置。 |
| 可用性 |
tenable_ot_hikvision_CVE-2017-7921.nasl 以及 CISA/ICS-CERT 公告 ICSA-17-124-01。CVE-2017-7921 的工作 PoC 由 Jared Brits (K3ysTr0K3R) 编写,并维护在 github.com/K3ysTr0K3R/CVE-2017-7921-EXPLOIT。按照负责任披露惯例,本技术分析不嵌入漏洞利用源码、实时目标输出或捕获的凭证/画面。
[ 留出位置,供在您拥有或明确授权测试的设备上放置 PoC 截图——例如,隔离的家庭实验室虚拟机/摄像头,不使用 proxychains,无第三方目标,无来自实际部署的实时画面。 ]
tenable_ot_hikvision_CVE-2017-7921.nasl。为协作研究文档准备。本技术分析涵盖漏洞机制、影响、检测和修复,用于防御和教育参考;不包含可直接运行的漏洞利用代码或来自未经授权目标的证据。
| 完全 — 攻击者可以禁用录制、重启或以其他方式中断设备操作。 |
| 范围 | 已改变(CVSS v3) — 设备被攻破通常可导致横向移动至更广泛网络或被招募至分布式僵尸网络。 |