工具学习_AVClass

embedded/2024/12/3 5:52:15/

1. AVClass 简介

AVClass是一个Python工具包和命令行工具,旨在自动化地为恶意软件样本打标签和分类。通过输入大量恶意软件样本的AV引擎标签(例如,VirusTotal JSON报告),AVClass能够提取并输出每个样本的相关标签。这些标签不仅包括最常见的家族名称,还涵盖了恶意软件的类别(如蠕虫、勒索软件、灰色软件)、行为(如垃圾邮件、DDoS攻击)及文件属性(如打包、Themida保护、NSIS安装包等)。AVClass为安全研究人员提供了一种高效的方式,从海量样本中提取有价值的信息,极大地简化了恶意软件分析工作。

2. AVClass 安装

AVClass可以通过Python的包管理工具pip进行安装。用户只需执行以下命令:

pip install avclass-malicialab

示例输出:

602695c8f2ad76564bddcaf47b76edff  zeroaccess
f117cc1477513cb181cc2e9fcaab39b2  winwebsec

3. AVClass 基本用法

3.1 提取样本最常见标签

通过运行以下命令,AVClass将返回每个样本的最常见家族名称:

avclass -f examples/vtv2_sample.json

3.2 提取样本所有可能的标签

使用-t选项,AVClass将提取所有可能的标签,包含家族、行为、文件属性等信息:

avclass -f examples/vtv2_sample.json -t

示例输出:

602695c8f2ad76564bddcaf47b76edff  52  FAM:zeroaccess|19,FILE:os:windows|16,BEH:server|8,CLASS:backdoor|8,FILE:packed|7
f117cc1477513cb181cc2e9fcaab39b2  39  CLASS:rogueware|15,BEH:alertuser|15,FILE:os:windows|11,FAM:winwebsec|4,CLASS:grayware|4,CLASS:grayware:tool|3,FILE:packed|3

602695c8f2ad76564bddcaf47b76edff 被52个AV引擎标记,其中19个表示其属于zeroaccess家族,16个表示它运行在Windows上,8个表示它是一个后门,7个表示它是一个打包文件。

3.3 将输出保存到文件

通过-o选项,可以将结果保存到指定文件中:

avclass -f examples/vtv2_sample.json -o output.txt

3.4 处理多个文件和不同格式的输入

AVClass支持处理多个输入文件,并会自动检测文件格式进行相应处理。以下命令演示了如何处理不同格式的输入文件:

avclass -f examples/vtv3_sample.json -f examples/vtv2_sample.json -f examples/malheurReference_lb.json -f examples/opswat_md_sample.json -o output.txt

3.5 批量处理目录中的文件

使用-d选项,AVClass可以批量处理一个目录中的所有文件:

avclass -d <directory>

4. 高级功能

4.1 使用特定AV引擎标签

AVClass允许用户通过-av选项指定仅使用某些AV引擎的标签。例如,指定一个包含AV引擎名称的文件:

avclass -av engines.txt -f examples/vtv2_sample.json -t -o output.txt

4.2 评估标签的准确性

如果用户拥有部分样本的真实家族标签(即,已知的ground truth标签),AVClass可以用于评估输出的家族标签与真实标签之间的精度。使用以下命令可以进行评估:

avclass -f examples/malheurReference_lb.json -gt examples/malheurReference_gt.tsv -o malheurReference.labels

4.3 更新模块

AVClass提供了更新模块,允许用户根据新的输入数据自动改进标签系统。通过avclass-update命令,用户可以更新分类、标签和扩展规则:

# AVClass提供了更新模块,用于建议标签系统的改进。通过运行avclass-update,您可以更新分类、标签和扩展规则
avclass-update -alias malheurReference_lb.alias -o output_prefix

5. 输入格式支持

AVClass支持四种输入格式:VirusTotal v3 API报告、VirusTotal v2 API报告、OPSWAT MetaDefender报告以及简化格式。简化格式要求输入文件包含md5sha1sha256av_labels字段。

6. 总结

AVClass的输出结果依赖于输入的AV标签,只有至少被两个AV引擎提到的标签才能被提取。因此,如果标签过于简略或通用,可能无法有效地进行分类。AVClass提供了高度的可自定义性,用户可以手动修改分类、标签和扩展文件,或使用更新模块进行自动化调整。作为一个强大的自动化工具,AVClass极大地简化了恶意软件家族标签的提取过程,帮助安全研究人员从大量恶意软件样本中迅速获取有用信息,提高分析效率。


http://www.ppmy.cn/embedded/142523.html

相关文章

frp软件实现网络穿透

1. 名词 1.1. 网络穿透 网络穿透是一种技术&#xff0c;用于解决内网设备或服务无法直接被外部网络访问的问题。通常&#xff0c;内网设备位于路由器后面&#xff0c;并没有公网 IP 地址&#xff0c;因此外部用户不能直接连接到这些设备。网络穿透通过一些特定的技术手段&…

Jenkins Nginx Vue项目自动化部署

目录 一、环境准备 1.1 Jenkins搭建 1.2 NVM和Nodejs安装 1.3 Nginx安装 二、Jenkins配置 2.1 相关插件安装 2.2 全局工具安装 2.3 环境变量配置 2.4 邮箱配置&#xff08;构建后发送邮件&#xff09; 2.5 任务配置 三、Nginx配置 3.1 配置路由转发 四、部署项目 …

从零开始使用GOT-OCR2.0——多模态OCR项目:微调数据集构建 + 训练(解决训练报错,成功实验微调训练)

在上一篇文章记录了GOT-OCR项目的环境配置和基于官方模型参数的基础使用。环境安装的博文快速链接&#xff1a; 从零开始使用GOT-OCR2.0——多模态通用型OCR&#xff08;非常具有潜力的开源OCR项目&#xff09;&#xff1a;项目环境安装配置 测试使用-CSDN博客 本章在环境配置…

C 语言学习的经典书籍有哪些?

学习C语言的理由 C语言是一种程席设计语言&#xff0c;它是由美国AT&T公司贝尔实验室的Dennis Ritchie于1972年发明的。C语言之所以流行&#xff0c;是因为它简单易用。学习C语言的几个理由如下&#xff1a; (1)C、C#和Java使用一种被称为面向对象程序设计(0bject-Orient…

java的Webclient对象怎解解析400状态码

在Java中使用WebClient处理400状态码&#xff0c;可以通过检查响应状态并根据状态码进行相应的错误处理。以下是几种处理400状态码的方法&#xff1a; 使用onStatus方法判断和处理错误&#xff1a; 你可以使用WebClient的retrieve()方法链中的onStatus方法来检查响应状态码。如…

UE5 MakeSlateBrush 节点的作用

在 Unreal Engine 5 (UE5) 中&#xff0c;MakeSlateBrush 节点是用于 创建或设置一个 Slate Brush 的节点。Slate 是 Unreal Engine 中的 UI 框架&#xff0c;用于构建编辑器界面以及游戏中的用户界面&#xff08;UI&#xff09;。Slate Brush 是 Slate UI 中的一种资源类型&am…

速盾:高防 CDN 可以配置客户端请求超时配置?

在高防 CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;的运行管理中&#xff0c;客户端请求超时配置是一项重要的功能设定&#xff0c;它对于优化网络资源分配、保障服务质量以及维护系统稳定性有着关键意义。 一、客户端请求超时配置的概念 …

在开发环境中,前端(手机端),后端(电脑端),那么应该如何设置iisExpress

首先&#xff0c;要想手机端应用能成功请求后端&#xff0c;两个设备至少需在同一个局域网内&#xff0c;且IP地址互通&#xff1b; 因为ajax是http(s)://IP地址端口号的方式请求&#xff0c;但是iisExpress默认是localhost如何解决&#xff0c;并没有IP地址&#xff0c;所以手…