MK-ULTRA-project-monarch/CVE-2017-7921-Writeup-2026

GitHub: MK-ULTRA-project-monarch/CVE-2017-7921-Writeup-2026

一份关于海康威视设备CVE-2017-7921严重身份验证绕过漏洞的详细研究文档,涵盖漏洞机制分析、检测方法与修复建议。

Stars: 0 | Forks: 0

# CVE-2017-7921 — 海康威视 IP Camera / DVR / NVR **身份验证不当 — 通过精心构造的查询参数进行权限提升** | | | |---|---| | **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](https://github.com/K3ysTr0K3R)) | | **分析报告作者** | MK-ULTRA ([github.com/MK-ULTRA-project-monarch](https://github.com/MK-ULTRA-project-monarch)) | ## 1. 概要 CVE-2017-7921 是一个严重的身份验证不当漏洞,影响了广泛的 Hikvision 网络摄像头、DVR 和 NVR 设备固件中的 Web 服务器组件。该缺陷允许远程、未经身份验证的攻击者通过在特定的 HTTP 请求路径后附加一个精心构造且静态定义的查询参数,完全绕过设备的登录机制。由于身份验证检查信任此参数,而不是验证 session 或凭证集,因此任何携带该参数的请求都会被视为来自特权内部进程。 成功利用该漏洞可获得设备 Web 界面的完整管理员访问权限,包括实时和录制的视频流、设备配置、用户账户数据,并且在许多固件分支上,还能下载完整的设备配置文件,而该文件本身包含弱加密的存储凭证。该漏洞无需用户交互、无需事先身份验证、无需特殊网络位置,加上 Hikvision 庞大的安装基数,使其自披露以来一直成为僵尸网络招募(例如 Reaper/IoTroop 家族活动)和监控画面窃取的持续目标。 ## 2. 受影响产品 该漏洞已在运行 2017 年安全补丁之前固件分支的多个 Hikvision 产品系列中得到确认。具有代表性的受影响产品线包括: - DS-2CD2xx2F-I 系列 — 固件 V5.2.0 (build 140721) 至 V5.4.0 (build 160530) - DS-2CD2xx0F-I 系列 — 固件 V5.2.0 (build 140721) 至 V5.4.0 (build 160401) - DS-2CD2xx2FWD 系列 — 固件 V5.3.1 (build 150410) 至 V5.4.4 (build 161125) - DS-2CD4x2xFWD 系列 — 固件 V5.2.0 (build 140721) 至 V5.4.0 (build 160414) - DS-2CD4xx5 系列 — 固件 V5.2.0 (build 140721) 至 V5.4.0 (build 160421) - DS-2DFx PTZ 系列 — 固件 V5.2.0 (build 140805) 至 V5.4.5 (build 160928) - DS-2CD63xx 系列以及共享相同 Web 服务器代码库的部分 NVR/DVR 产品线 ## 3. 技术分析 ### 3.1 根本原因 标准的 Hikvision 设备身份验证建立在保护 Web 管理界面的 HTTP Basic/Digest 身份验证之上。然而,在受影响的固件中,一部分内部请求处理 endpoint 包含了一个用于内部/调试的次要、未公开的身份验证路径。此路径不执行凭证查找 —— 它会检查请求中是否存在固定的、硬编码的 token,如果找到,则将该请求视为已预先通过身份验证,完全绕过常规的基于角色的访问控制 (RBAC) 检查。 该 token 是嵌入在固件本身中的静态默认凭证对的 Base64 编码表示。由于它是一个常量而不是派生的 session 值,因此在每个受漏洞影响的设备上都是相同的,无论该设备上实际配置的管理员密码是什么 —— 更改管理员密码并不能缓解该漏洞。 ### 3.2 漏洞利用路径 从宏观层面来看,漏洞利用遵循以下顺序: 1. 攻击者识别出一台可访问的 Hikvision 设备(通常通过对暴露的 Web 管理端口进行 Shodan/Censys 指纹识别)。 2. 向已知的受漏洞影响的 endpoint 发送精心构造的 HTTP GET 请求,并附加静态身份验证 token 作为查询参数,而不是提供用户名/密码。 3. 受影响固件的请求处理程序验证该 token 而不是 session 或凭证,并以管理员权限处理该请求。 4. 攻击者现在可以枚举和修改设备配置、查看实时/录制的流,并且在受影响的 build 上,可以获取完整的配置导出文件,该文件存储了在弱、静态密钥加密下的额外账户凭证,这种加密可以在离线状态下被逆向。 ### 3.3 为什么该漏洞会持续存在 有三个因素导致了该 CVE 在现实世界中具有异常长的“长尾”暴露期: - 设备通常是一次性部署,之后再也没有进行过固件更新,尤其是在家庭和小型企业安装中。 - 运行未经授权固件的水货设备通常根本无法通过官方渠道打补丁。 - 该漏洞非常利于索引和扫描 —— 因为漏洞利用只是一个未经身份验证的 HTTP 请求,所以大规模扫描工具可以低成本地在整个 IPv4 地址空间中枚举受漏洞影响的主机,这正是它被用于 IoT 僵尸网络招募的方式。 ## 4. 影响 | 指标 | 影响 | |---|---| | **机密性** | 完全丧失 — 实时/录制的视频、设备配置和存储的(弱加密)凭证将被暴露。 | | **完整性** | 完全丧失 — 攻击者可以修改设备配置、用户账户和流设置。 | | **可用性** | 完全丧失 — 攻击者可以禁用录像、重启或以其他方式中断设备运行。 | | **影响范围** | 发生改变 (CVSS v3) — 设备被攻破通常会促发向更广泛网络的渗透,或导致设备被招募加入分布式僵尸网络。 | ## 5. 检测与指标 - 指向设备管理 endpoint 的未经身份验证的 HTTP GET 请求,其中包含附加的、非用户自定义的、类似于 Base64 编码凭证字符串的查询参数。 - 来自从未完成标准 Basic/Digest 身份验证的 session 的配置导出请求(例如,设备配置/备份文件检索)。 - 来自摄像头/NVR 设备的意外出站连接,符合僵尸网络 C2 通信流量特征(一旦设备遭到大规模漏洞利用,这通常是一个常见的次要指标)。 - 供应商和第三方检测内容:Check Point IPS 签名 CPAI-2017-0876、Tenable.ot 插件 `tenable_ot_hikvision_CVE-2017-7921.nasl` 以及 CISA/ICS-CERT 咨询公告 ICSA-17-124-01。 ## 6. 修复建议 - 更新至针对特定产品/型号修复此漏洞公告的 Hikvision 固件版本 — 请通过 Hikvision 官方固件门户网站进行校验,而非第三方镜像。 - 切勿将设备 Web 管理界面直接暴露在互联网上;应将摄像头/NVR 放置在 VPN(例如 WireGuard)之后,或置于没有入站 WAN 端口转发的隔离 VLAN 中。 - 在路由器/设备上禁用 UPnP,防止摄像头静默重新打开刚刚被关闭的端口。 - 在打补丁后轮换所有设备凭证,因为之前被利用过的设备可能其配置文件已被窃取并在离线状态下解密。 - 对于无法通过官方渠道打补丁的水货或运行未授权固件的设备,应隔离或停用该设备,而不要依赖固件更新。 - 对于无法立即打补丁的网络,应监控第 5 节中提到的检测指标,作为补偿性控制措施。 ## 7. 概念验证 CVE-2017-7921 的可用 PoC 由 Jared Brits (K3ysTr0K3R) 编写,并在 [github.com/K3ysTr0K3R/CVE-2017-7921-EXPLOIT](https://github.com/K3ysTr0K3R/CVE-2017-7921-EXPLOIT) 上进行维护。本着负责任披露的原则,本报告不包含漏洞利用源码、实时目标输出或捕获的凭证/录像。 *[ 预留用于展示针对您拥有或获得明确授权测试的设备的 PoC 截图 — 例如,未使用 proxychains 的隔离 Homelab VM/摄像头,不涉及任何第三方目标,也不包含来自真实部署的真实录像。 ]* ## 8. 参考资料 - CISA / ICS-CERT 咨询公告 ICSA-17-124-01 — Hikvision IP Camera 身份验证不当。 - NVD — [CVE-2017-7921 详情](https://nvd.nist.gov/vuln/detail/CVE-2017-7921),nvd.nist.gov。 - Check Point 研究公告 CPAI-2017-0876 — Hikvision IP Camera 身份验证绕过。 - Tenable.ot 插件 — `tenable_ot_hikvision_CVE-2017-7921.nasl`。 - Jared Brits (K3ysTr0K3R),CVE-2017-7921-EXPLOIT — 概念验证与负责任披露说明,GitHub。 ## 9. 致谢 - **漏洞利用 / PoC:** Jared Brits (K3ysTr0K3R) — [github.com/K3ysTr0K3R/CVE-2017-7921-EXPLOIT](https://github.com/K3ysTr0K3R/CVE-2017-7921-EXPLOIT) - **分析报告:** MK-ULTRA — [github.com/MK-ULTRA-project-monarch](https://github.com/MK-ULTRA-project-monarch) - **IG:** [@projectmonarch_mk_ultra](https://instagram.com/projectmonarch_mk_ultra) *本报告专为协作研究文档编制。本文档涵盖了漏洞机制、影响、检测和修复建议,供防御和教育参考之用;不包含可直接运行的漏洞利用代码或来自未授权目标的证据。*
标签:CISA项目, 漏洞分析, 物联网安全, 路径探测, 身份验证绕过, 防御加固