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

发表于:2023-11-28 09:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Alpha_h4ck    来源: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环境.接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
  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开源许可证协议。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号