freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Dynmx:一款功能强大的基于签名的恶意软件功能检测工具
2023-10-25 11:33:01

关于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环境.接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/0x534a/dynmx.git

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

cd dynmx

pip3 install -r requirements.txt

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

工具使用

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

$ 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检测命令为例):

$ 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进程:

python3 dynmx.py -w 1 detect -i "flog.txt" -s dynmx_signature.yml

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

python3 dynmx.py convert -i "flog.txt" -o /tmp/

检测一个签名:

python3 dynmx.py check -s dynmx_signature.yml

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

python3 dynmx.py -f detail resources -i "flog.txt"

许可证协议

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

项目地址

Dynmx:【GitHub传送门

参考资料

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

# 恶意软件分析 # 日志分析 # 沙箱 # 签名 # 恶意软件检测
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录