Bombadil-Systems/zombie-zip
GitHub: Bombadil-Systems/zombie-zip
利用ZIP压缩方法字段声明与实际数据不匹配的技术,规避主流杀毒引擎检测的文件格式混淆研究项目。
Stars: 113 | Forks: 25
# Zombie ZIP
一种可规避 98% 杀毒引擎的 ZIP 格式混淆技术。
**CVE-2026-0866** | [VU#976247](https://kb.cert.org/vuls/id/976247) | 发布于 2026 年 3 月 10 日
## 技术原理
创建一个满足以下条件的 ZIP 文件:
```
Compression Method = 0 (STORED)
Actual data = DEFLATE compressed
CRC-32 = Checksum of uncompressed payload
```
```
AV Engine: Reads Method 0 → Scans compressed noise → No detection
Attacker: Ignores Method field → Decompresses as DEFLATE → Recovers payload
```
## 检测结果
|文件 |技术 |VirusTotal |
|-------------------|----------|------------------------------------------------------------------------------------------------------------|
|baseline.zip |有效 ZIP |55/67 |
|method_mismatch.zip|Zombie ZIP|[1/66](https://www.virustotal.com/gui/file/7316a4c3cd1cf183925ab4b7e77dbf52b38180ee1faf0156d7ea410f42cb5e76)|
98% 规避率。相同的 Payload。相同的字节。不同的容器。
## 快速测试
```
# 生成 Zombie ZIP
python3 zombie_zip.py
# 上传 method_mismatch.zip 到 VirusTotal
# 观察到 1/51 的检出率,对比 baseline 的 55/67
# 以编程方式恢复 payload
python3 loader_poc.py method_mismatch.zip
# 输出字节完全相同的 EICAR (SHA-256: 275a021b...)
```
## 文件
zombie_zip.py - 生成脚本
method_mismatch.zip - 预生成的 EICAR PoC
baseline.zip - 用于对比的有效 ZIP
loader_poc.py - 演示程序化 Payload 恢复
## 工作原理
AV 引擎信任 ZIP 的 Method 字段。当 Method=0 (STORED) 时,它们将数据作为原始未压缩字节进行扫描。但数据实际上是 DEFLATE 压缩的 —— 因此扫描器看到的是压缩噪音,找不到特征签名。
CRC 被设置为未压缩 Payload 的校验和,这产生了额外的校验和不匹配,导致标准解压工具 (7-Zip, unzip, WinRAR) 报告错误或解压出损坏的输出。
然而,一个忽略声明方法并强制按 DEFLATE 解压的专用加载器可以完美恢复 Payload。loader_poc.py 演示了这一点 —— 仅需六行标准 zlib 代码。
该漏洞的本质是扫描器规避:安全控制断言“不存在恶意软件”,而恶意软件确实存在且可被攻击者工具轻易恢复。
## 攻击向量
这不是终端用户解压漏洞。这是一种分阶段投递/走私技术:
1. 恶意 Payload 封装在 Zombie ZIP 中
2. ZIP 穿越安全边界(邮件网关、网络扫描器、终端 AV)
3. 扫描器读取 Method=0,扫描压缩噪音,报告“干净”
4. 加载器或释放器通过程序化解压 Payload
5. Payload 显现并执行
这与既定的恶意软件投递模式(ISO 走私、HTML 走私、CAB 滥用)一致,攻击者使用自定义加载器而非普通解压工具。
## 受影响方
- VirusTotal 上 50/51 的 AV 引擎
- Microsoft Defender, Avast, Bitdefender, ESET, Kaspersky, McAfee, Sophos, TrendMicro 等。
- 仅金山 (Kingsoft) 检测到了它
## 先前技术
- **VU#968818** (CERT/CC, 2004):规避 AV 的畸形 ZIP 压缩包
- **CVE-2004-0935**:通过畸形 ZIP 头绕过 ESET Anti-Virus
- 本技术在同一漏洞类别中展示了一种新的原语(Method 字段去同步化)
## 作者
Chris Aziz - Bombadil Systems
## 许可证
MIT - 仅限授权安全研究。
标签:CVE-2026-0866, DAST, DEFLATE压缩, DNS 反向解析, ESC8, ZIP格式混淆, 免杀技术, 反病毒规避, 恶意软件分析, 数据隐藏, 文件格式解析, 暴力破解检测, 社会工程学, 解析器差异化, 逆向工具, 静态检测绕过