本文目录导读:

检测压缩包(如ZIP、RAR、7z等)中的恶意文件是一个结合了自动化工具与人工分析的过程,由于恶意代码可以隐藏在压缩包内(如通过加密绕过扫描),或利用压缩包漏洞(如ZIP Slip路径穿越),仅靠简单的杀毒软件扫描往往不够。
以下是系统化的检测方法,按从自动化到深入分析的顺序排列:
第一阶段:基础自动化扫描(快速筛查)
-
使用集成安全引擎的杀毒软件/EDR
- 上传压缩包到在线多引擎扫描平台(如VirusTotal、Jotti's Malware Scan),将压缩包直接上传,VirusTotal会自动解压并扫描内部文件,注意:如果压缩包有密码,平台无法解压,需要先自行解压并上传内部的单个文件。
- 使用本地杀毒软件(如卡巴斯基、Bitdefender、ESET)扫描压缩包,现代杀毒软件通常支持扫描压缩文件内部。
-
检查文件哈希值(MD5/SHA1/SHA256)
- 计算压缩包的哈希值:
certutil -hashfile suspicious.zip SHA256(Windows) 或shasum -a 256 suspicious.zip(Mac/Linux)。 - 在公开威胁情报库(如VirusTotal、AlienVault OTX、IBM X-Force Exchange)中查询该哈希值,如果哈希值已被标记为恶意,则基本可以判定。
- 计算压缩包的哈希值:
第二阶段:解包与静态分析(不执行代码)
如果自动化扫描报毒或可疑,需要进行更详细的分析。
-
尝试解压并检查密码
- 有密码的压缩包是高危信号:大多数勒索软件、木马会使用密码保护压缩包,以绕过邮件网关和云盘安全检测。
- 工具:使用
7-Zip或WinRAR尝试标准解压,如果提示密码,不要轻易输入,可以尝试常用密码(如123、infected、password)或用John the Ripper配合zip2john进行暴力破解(仅用于安全研究)。
-
检查文件结构与元数据
- 文件后缀:包装在
.zip里的.exe、.scr、.vbs、.js、.hta、.jar、.bat、.ps1极其危险。 - 双后缀名:如
invoice_2024.pdf.exe或document.docx.js。 - 零字节文件或符号链接:攻击者利用ZIP Slip漏洞,通过创建指向系统关键路径(如
C:\Windows\System32\)的符号链接或包含路径的文件名,解压时会覆盖系统文件。 - 查看注释:使用
7-Zip打开压缩包,查看“注释”字段,恶意文档的注释可能包含隐蔽的指令或下载链接。
- 文件后缀:包装在
-
静态分析内部文件
- PE文件(.exe/.dll):使用
Detect It Easy (DiE)或PEid查看是否被加壳(如UPX、Themida),被加壳的普通文件或签名异常的文件是可疑的。 - Office文档(.docm/.xlsm/.pptm):使用
Oletools(Python库)的olevba命令提取宏代码,重点查找AutoOpen、Shell、CreateObject、URLDownloadToFile等函数。 - PDF文件:使用
pdfid或pdf-parser检测是否包含JavaScript或Flash动作。
- PE文件(.exe/.dll):使用
第三阶段:沙箱/动态分析(安全执行环境)
对于高度可疑的样本,不要直接在主机上运行。
-
在线沙箱(最大推荐)
- Any.Run:交互式在线沙箱,可以上传压缩包并选择“自动解压”启动,可以看到文件行为、网络请求、内存注入。
- Cuckoo Sandbox(或改版如CAPE):需要自己搭建或使用支持压缩包的托管服务,它会自动解压并执行样本。
- Joe Sandbox、Hybrid Analysis:直接上传压缩包,多数支持自动解压和分析。
-
本地虚拟机隔离分析
- 在虚拟机(VMware/VirtualBox)中创建一个快照。
- 禁用主机共享文件夹:防止恶意文件逃逸。
- 监控网络:使用Wireshark或Fiddler捕获网络流量,看是否有恶意的DNS查询或连接。
- 监控进程:使用Process Monitor(Procmon)监控文件系统、注册表、进程创建,恶意压缩包解压后,通常会立刻触发一个
rundll32.exe或regsvr32.exe来加载恶意DLL。
关键风险提示与处理建议
- 切勿直接解压到桌面或文档夹:解压操作本身可能触发漏洞(如ZIP Slip),最好在空文件夹或虚拟机内解压。
- 警惕自解压压缩包(SFX):后缀为
.exe的“压缩包”,双击它直接执行代码,而非解压,这通常是一种简单的病毒传播方式。 - 如何应对可疑压缩包:
- 第一步:上传到VirusTotal。
- 第二步:如果报毒,直接删除。
- 第三步:如果不报毒但可疑,在沙箱(如Any.Run)中运行。
- 第四步:如果沙箱判定恶意,隔离压缩包并联系安全团队。
常用工具汇总表
| 分析阶段 | 工具/平台 | 用途 |
|---|---|---|
| 在线扫描 | VirusTotal、Any.Run、Hybrid Analysis | 多引擎扫描、沙箱分析 |
| 静态分析 | 7-Zip(查看结构)、Detect It Easy (DiE)、OleTools | 文件结构、加壳检测、宏提取 |
| 哈希查询 | VirusTotal、AlienVault OTX | 搜索历史威胁记录 |
| 密码破解 | John the Ripper + zip2john | 破解加密压缩包密码(仅限研究) |
| 动态分析 | Cuckoo/CAPE沙箱、Procmon、Wireshark | 行为监控、网络分析 |
最后的简单检查清单:
- 来源可靠吗? (信任的同事?还是陌生人邮件?)
- 是否有密码? (有密码 = 高恶意风险)
- 内部是什么文件? (是
.exe、.js还是值得怀疑的Office文档?) - 多引擎扫描结果? (VirusTotal上是否有人报毒?)
对于普通用户,最安全的做法是:不熟悉的压缩包立刻上传VirusTotal,一旦报毒直接删除,不要尝试解压或运行。