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

相关推荐
L.fountain3 分钟前
图像自回归生成(Auto-regressive image generation)实战学习(一)
人工智能·深度学习·学习·计算机视觉·图像自回归
TL滕24 分钟前
从0开始学算法——第十八天(分治算法练习)
笔记·学习·算法
蓝桉~MLGT1 小时前
Ai-Agent学习历程—— Agent认知框架
人工智能·学习
لا معنى له1 小时前
学习笔记:卷积神经网络(CNN)
人工智能·笔记·深度学习·神经网络·学习·cnn
لا معنى له2 小时前
学习笔记:注意力机制(Attention)、自注意力(Self-Attention)和多头注意力(Multi-Head Attention)
笔记·学习
走在路上的菜鸟2 小时前
Android学Dart学习笔记第十六节 类-构造方法
android·笔记·学习·flutter
代码游侠2 小时前
学习笔记——线程控制 - 互斥与同步
linux·运维·笔记·学习·算法
爱吃泡芙的小白白2 小时前
Agent学习——xiaomi MiMo V2 Flash大模型的API申请
学习·agent·xiaomi mimo
四谎真好看3 小时前
MySQL 学习笔记(进阶篇1)
笔记·学习·mysql·学习笔记
三品吉他手会点灯3 小时前
STM32F103学习笔记-19-SysTick-系统定时器(第1节)-功能框图讲解和优先级配置
笔记·stm32·单片机·嵌入式硬件·学习