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

相关推荐
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码5 天前
嵌入式学习路线
学习
毛小茛5 天前
计算机系统概论——校验码
学习
babe小鑫5 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms5 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下5 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。5 天前
2026.2.25监控学习
学习
im_AMBER5 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J5 天前
从“Hello World“ 开始 C++
c语言·c++·学习