工具学习_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报告以及简化格式。简化格式要求输入文件包含md5、sha1、sha256和av_labels字段。

6. 总结

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

相关推荐
代码山河5 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
释厄6236 小时前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
小嘉丶学长10 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
小李不想当小白10 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
adinnet202614 小时前
电商客服对话知识库的自学习闭环与质量演进机制
学习
lazy H15 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
试剂界的爱马仕16 小时前
α-Cyano-4-hydroxycinnamic acid(CHCA)用作 MALDI-TOF 基质的配制与使用
大数据·人工智能·深度学习·学习
小向是个Der16 小时前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
学网安的肆伍17 小时前
认证机制攻防学习|PortSwigger Authentication 靶场复现总结(二):用户名枚举进阶
学习·web安全·网络安全·burpsuite·portswigger·认证安全·靶场复现
海绵宝宝转agent17 小时前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先