z9:一款功能强大的PowerShell恶意软件检测与分析工具
本文由
创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载
关于z9
z9是一款功能强大的PowerShell恶意软件检测与分析工,该工具可以帮助广大研究人员从PowerShell日志的事件记录中检测基于PowerShell实现的恶意软件组件。
工具安装
由于该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/Sh1n0g1/z9.git
然后切换到项目目录中,使用pip工具和项目提供的requirements.txt安装该工具所需的其他依赖组件:
cd z9 pip install -r requirements.txt
工具使用帮助
usage: z9.py [-h] [--output OUTPUT] [-s] [--no-viewer] [--utf8] input positional arguments: input 输入文件路径 options: -h, --help 显示工具帮助信息和退出 --output OUTPUT, -o OUTPUT 输出文件路径 -s, --static 启用静态分析代码 --no-viewer 禁止在Web浏览器中打开JSON查看器 --utf8 以UTF-8编码读取脚本文件
工具使用
分析事件日志
python z9.py <input file> -o <output json> python z9.py <input file> -o <output json> --no-viewer
参数解析:
参数命令 | 命令介绍 |
input file | 从事件日志eventlog中导出的XML文件路径 |
-o output json | 存储z9分析结果的文件名 |
--no-viewer | 不打开查看器 |
命令参考样例:
python z9.py util\log\mwpsop.xml -o sample1.json
静态PowerShell文件分析
python z9.py <input file> -o <output json> -s python z9.py <input file> -o <output json> -s --utf8 python z9.py <input file> -o <output json> -s --no-viewer
注意:该方法只会对目标执行静态分析,在遇到样本代码经过模糊处理的情况时,可能提供的结果不一定正确。
参数解析:
参数命令 | 命令介绍 |
input file | 要分析的PowerShell文件路径 |
-o output json | 存储z9分析结果的文件名 |
-s | 执行静态分析 |
--utf8 | 当输入文件编码为UTF-8时需要指定该参数 |
--no-viewer | 不打开查看器 |
命令参考样例:
python z9.py malware.ps1 -o sample1.json -s
如何准备XML文件?
启用PowerShell日志记录
1、右键点击并整合该注册表文件:util/enable_powershell_logging.reg;
2、重启PC;
3、所有的PowerShell执行此时都会在事件日志中被记录;
将事件日志转储为XML
1、执行该批处理文件:util/collect_psevent.bat;
2、XML文件将会在util/log目录中被创建;
3、z9工具支持解析这些XML文件;
删除现有的事件日志
以“管理员权限“执行该批处理文件:util/collect_psevent.bat;
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
z9:【GitHub传送门】
参考资料
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录