前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dynmx:一款功能强大的基于签名的恶意软件功能检测工具

Dynmx:一款功能强大的基于签名的恶意软件功能检测工具

作者头像
FB客服
发布2023-11-27 15:29:57
2280
发布2023-11-27 15:29:57
举报
文章被收录于专栏:FreeBuf
关于Dynmx

Dynmx是一款功能强大的基于签名的恶意软件功能检测工具,该工具实现了一种基于Windows API调用序列来检测恶意软件特征和行为的方法,这也是一种基于签名的安全检测方法。在该工具的帮助下,广大研究人员可以将Dynmx视作某种YARA规则,并利用它在恶意软件沙箱环境中实现API调用跟踪。

Dynmx所实现的检测方法使用的数据并不是静态分析数据,而是在恶意软件沙箱中对恶意软件样本进行动态分析期间生成的数据。

当前版本的Dynmx支持下列恶意软件沙箱日志:

VMRay CAPEv2 Cuckoo

工具要求

Python 3.9 anytree lxml pyparsing PyYAML six stringcase

工具安装

由于该工具基于Python 3.9开发,因此我们首先需要在本地设备上安装并配置好Python 3.9环境.接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/0x534a/dynmx.git

(向右滑动,查看更多)

然后切换到项目目录下,使用pip3命令和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:

代码语言:javascript
复制
cd dynmx
pip3 install -r requirements.txt

我们建议大家在Python虚拟环境中安装和使用该工具。

工具使用

dynmx.py脚本是该工具的主入口点,使用-h命令可以查看工具的帮助信息:

代码语言:javascript
复制
$ python3 dynmx.py -h

usage: dynmx.py [-h] [--format {overview,detail}] [--show-log] [--log LOG] [--log-level {debug,info,error}] [--worker N] {detect,check,convert,stats,resources} ..

Detect dynmx signatures in dynamic program execution information (function logs)

optional arguments:

  -h, --help            显示工具帮助信息和退出

  --format {overview,detail}, -f {overview,detail}

                      数据输出格式

  --show-log            在STDOU中显示所有的日志输出

  --log LOG, -l LOG      日志文件

  --log-level {debug,info,error}

                        日志级别 (默认: info)

  --worker N, -w N       要生成的worker进程数量(默认: - 2)

sub-commands:

  要执行的任务
{detect,check,convert,stats,resources}

    detect              检测一个dynmx 签名

    check               检测dynmx 签名的语句

    convert           将函数日志转换为dynmx通用函数日志

    stats               函数日志的统计信息

    resources           从函数日志中收集到的资源
(向右滑动,查看更多)

下列方式可以查看特定命令的帮助信息(以detect检测命令为例):

代码语言:javascript
复制
$ python3 dynmx.py detect -h

usage: dynmx.py detect [-h] --sig SIG [SIG ...] --input INPUT [INPUT ...] [--recursive] [--json-result JSON_RESULT] [--runtime-result RUNTIME_RESULT] [--detect-all]
optional arguments:

  -h, --help            显示帮助信息和退出

  --recursive, -r        递归搜索输入文件

  --json-result JSON_RESULT  设置JSON格式的结果文件

  --runtime-result RUNTIME_RESULT  以CSV文件格式统计运行时信息

  --detect-all          检测所有进程的签名
required arguments:

  --sig SIG [SIG ...], -s SIG [SIG ...]

                        要检测的dynmx签名

  --input INPUT [INPUT ...], -i INPUT [INPUT ...]

                        输入文件路径
(向右滑动,查看更多)

工具使用样例

在一个函数日志中检测一个Dynmx签名,使用一个worker进程:

代码语言:javascript
复制
python3 dynmx.py -w 1 detect -i "flog.txt" -s dynmx_signature.yml
(向右滑动,查看更多)

将一个函数日志转换为dynmx通用函数日志格式:

代码语言:javascript
复制
python3 dynmx.py convert -i "flog.txt" -o /tmp/
(向右滑动,查看更多)

检测一个签名:

代码语言:javascript
复制
代码语言:javascript
复制
python3 dynmx.py check -s dynmx_signature.yml

(向右滑动,查看更多)

基于函数日志,获取恶意软件样本所使用的详细资源列表:

代码语言:javascript
复制
python3 dynmx.py -f detail resources -i "flog.txt"
(向右滑动,查看更多)

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可证协议。

项目地址

Dynmx:https://github.com/0x534a/dynmx

https://github.com/0x534a/master-thesis

https://github.com/0x534a/dynmx-signatures

https://bazaar.abuse.ch/sample/c0832b1008aa0fc828654f9762e37bda019080cbdd92bd2453a05cfb3b79abb3/

https://malpedia.caad.fkie.fraunhofer.de/details/win.amadey

https://www.vmray.com/analyses/_mb/c0832b1008aa/report/overview.html

https://www.vmray.com/analyses/_mb/c0832b1008aa/logs/flog.txt

https://attack.mitre.org/techniques/T1055/012/

https://github.com/avast/avast-ctu-cape-dataset

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工具要求
  • 工具安装
  • 工具使用
  • 工具使用样例
  • 许可证协议
  • 项目地址
相关产品与服务
检测工具
域名服务检测工具(Detection Tools)提供了全面的智能化域名诊断,包括Whois、DNS生效等特性检测,同时提供SSL证书相关特性检测,保障您的域名和网站健康。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档