CVE-2026-27944 - Nginx UI 未授权备份下载与解密
https://img.shields.io/badge/python-3.6+-blue.svg
https://img.shields.io/badge/license-MIT-green
https://img.shields.io/badge/PoC-Exploit-red
本工具是 CVE-2026-27944 的概念验证(PoC)漏洞利用程序。CVE-2026-27944 是 Nginx UI ≤ 2.3.2 中的一个严重漏洞,允许任何未经身份验证的攻击者通过 /api/backup 端点下载并解密服务器的完整备份归档文件。
备份使用 AES-256 加密,但加密密钥和初始化向量(IV)以明文形式暴露在 X-Backup-Security HTTP 响应头中,因此可立即解密。
📦 功能
info – 显示有关该漏洞的详细信息(描述、根本原因、影响)。
scan – 轻量检查目标是否存在漏洞(发送 HEAD 请求,查找 X-Backup-Security 头)。
exploit – 下载加密备份,从响应头中提取密钥/IV,解密数据并保存到文件。
🚨影响
如果被利用,攻击者可以获取:
用户凭据和会话令牌(database.db)
应用程序机密和 API 密钥(app.ini)
SSL 私钥和证书(server.key、server.cert)
完整的 Nginx 配置(nginx.conf)
所有托管域名的 TLS 密钥(ssl/ 目录)
这通常会导致服务器完全失陷,并可在网络内部进行横向移动。
⚙️ 要求
Python 3.6+
requests 库
pycryptodome(用于 AES 解密)
使用以下命令安装依赖:
bash
pip install requests pycryptodome
🔧 用法
text
usage: CVE-2026-27944.py [-h] {info,scan,exploit} ...
CVE-2026-27944 - Nginx UI Backup Exposure Scanner & Exploit
positional arguments:
{info,scan,exploit} Subcommands
info Display detailed information about the CVE
scan Check if a target is vulnerable
exploit Download and decrypt the backup
optional arguments:
-h, --help show this help message and exit
示例
bash
python3 CVE-2026-27944.py info
bash
python3 CVE-2026-27944.py scan 192.168.1.100:9000
bash
python3 CVE-2026-27944.py exploit 192.168.1.100:9000 -o backup_decrypted.zip
解密后的文件通常是 ZIP 归档 – 将其重命名为 .zip 并检查其内容。
📚 工作原理
脚本向 /api/backup 发送 HEAD 请求,以检查是否存在 X-Backup-Security 头。
如果存在,则继续发送 GET 请求下载加密备份。
该头值包含 Base64 编码的 AES-256 密钥和 IV,以冒号分隔。
脚本对它们进行解码,使用 pycryptodome 解密数据(AES-256 CBC 模式),并移除 PKCS#7 填充。
解密后的字节将保存到指定的输出文件中。
⚠️ 免责声明
本工具仅用于教育和安全研究目的。
未经授权测试您不拥有或未获得明确许可的系统是违法的。作者不对因使用此脚本而导致的任何滥用或损害承担责任。
🛡️ 缓解措施
如果您正在使用 Nginx UI,请立即更新到 2.3.3 或更高版本。
此外:
轮换所有可能已暴露的凭据和机密。
重新生成 SSL/TLS 证书。
切勿将管理界面暴露到公共互联网 – 请使用防火墙或 VPN。
📄 许可证
本项目基于 MIT 许可证授权 – 有关详细信息,请参阅 LICENSE 文件。
📬 参考资料
MITRE CVE-2026-27944(占位符)
NVD 条目(占位符)
Nginx UI 官方网站