工具学习_AVClass

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极大地简化了恶意软件家族标签的提取过程,帮助安全研究人员从大量恶意软件样本中迅速获取有用信息,提高分析效率。

相关推荐
liang89993 小时前
Shiro学习(七):总结Shiro 与Redis 整合过程中的2个问题及解决方案
redis·学习·bootstrap
weixin_486281453 小时前
FFmpeg源码学习---ffmpeg
学习·ffmpeg
CodeCipher4 小时前
Java后端程序员学习前端之html
学习·html5
Dr_Zobot5 小时前
SLAM学习系列——ORB-SLAM3安装(Ubuntu20-ROS/Noetic)
学习·ubuntu·软件安装
枫叶20006 小时前
OceanBase数据库-学习笔记5-用户
数据库·笔记·学习·oceanbase
Nuyoah.7 小时前
《Vue3学习手记7》
javascript·vue.js·学习
冰茶_7 小时前
WPF之Button控件详解
大数据·学习·microsoft·c#·wpf
MrZWCui7 小时前
iOS—仿tableView自定义闹钟列表
学习·macos·ios·objective-c
IT技术员8 小时前
【Java学习】Java的CGLIB动态代理:通俗解释与使用指南
java·开发语言·学习
我的golang之路果然有问题9 小时前
案例速成GO+Socket,个人笔记
开发语言·笔记·后端·websocket·学习·http·golang