freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

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

关于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

# 恶意软件分析 # 日志分析 # 沙箱 # 签名 # 恶意软件检测
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1023 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录