malsub是一个基于Python 3.6.x的框架,它的设计遵循了当前最流行的互联网软件架构RESTful架构,并通过其RESTful API应用程序编程接口(API),封装了多个在线恶意软件和URL分析站点的web服务。它支持用户提交文件或URL进行分析,并可通过哈希值,域名,IPv4地址或URL检索报告,下载示例和其他文件,进行一般搜索和获取API配额值。该框架同时遵循了模块化的设计理念,方便用户自定义添加相应的功能模块。该框架也是多线程的,例如它会在每个输入参数的线程池中调度服务API函数,这意味着它会为每个提交的文件生成一个线程池,或者为每个提供报告检索的哈希值生成一个线程池。
以下是目前malsub中所提供的服务:
- AVCaesar;在线恶意软件分析引擎和存储库。
- Hybrid Analysis;在线恶意软件分析引擎
- MalShare;公共恶意软件存储库。
- maltracker;自动化恶意软件分析及跟踪(威胁情报收集)
- malwr;在线恶意软件分析引擎
- Metadefender;威胁情报收集及恶意软件分析检测平台
- OpenPhish;针对零日钓鱼站点自动识别,并提供实时情报
- PDF Examiner;在线自动化PDF恶意软件分析。
- PhishTank;在线钓鱼站点识别,并提供实时网络钓鱼数据
- QuickSand;在线恶意文档分析平台
- Safe Browsing;一项Google的客户端服务,用于自动检索识别当前浏览的站点是否合法
- Threat Crowd;在线情报收集网站
- URLVoid;在线网站信誉分析平台
- VirusTotal;在线恶意文件及URL分析平台
以上所提供的大多数服务,都需要在其各自的网站上注册并获取相应的API密钥才能使用,这些密钥需要根据给定的结构在apikey.yaml文件中指定。需要注意的是,malsub中提供的服务所使用的的API,大多为免费API密钥开发,因此部分操作可能受限。
依赖和使用
malsub需要在require.txt文件中指定的几个模块。以下是该配置文件中一些关键文件的简单说明:
- malsub/malsub.py:应用入口点;
- malsub/data:杂项数据文件夹;
- apikey.yaml:用于API密钥和用户名配对的YAML数据文件;
- malsub/downl:文件和样本下载所存放的文件夹;
- malsub/malsub/:malsub包;
- malsub/malsub/common/:共同所使用的模块;
- out.py:具有根据特定格式和日志级别(调试,详细,信息或错误)的输出显示功能模块;
- frmt.py:具有漂亮显示功能的模块,如将字典格式转为JSON或表格格式;
- rw.py:具有读写功能的模块;
- malsub/malsub/core/:应用程序的核心模块;
- web.py:负责处理HTTP请求的模块;
- malsub/malsub/service/:运行时用于解析的模块;
- base.py:用于服务构建的基本模板模块。
其支持的选项如下:
Usage: malsub [-h] [-a <service>] (-d | -f | -q | -r | -s | -t) [-i | -o | -l | -u] [-p <seconds>] [-v ...] [<input> ...] 选项: -h, --help 显示帮助信息和退出 -a, --analysis <service> 服务字符分割列表 (类或短名称) [默认为全部] -p, --pause <seconds> 等待服务请求之间的间隔(速率限制)[默认值为0] -v, --verbose 显示更详细的调试信息 API 函数: -d, --download 下载文件或恶意软件样本 -f, --find 搜索任意项(与输入格式无关) -q, --quota 检索API用户配额 -r, --report 检索域,哈希值,IP地址或URL的提交报告 -s, --submit 提交恶意软件样本或URL进行分析 -t, --test 通过调用每个服务函数来测试API调用,并定义一些默认值 输入格式(哈希值或文件默认情况下取决于选项): -i, --ipaddr 输入为IPv4地址(仅适用于'-r'选项) -o, --domain 输入为域名 (仅适用于‘-r’选项) -l, --appl 输入为哈希值(仅适用于'-r'选项) -u, --url 输入为URL(仅适用于‘-r’和‘-s’选项) 所支持的哈希值: MD5, SHA1, SHA-256 and SHA-512。
服务模块
服务模块被作为malsub/service/base.py中Service类的子类开发。Service是一个抽象类,其中列出了子类必须继承的属性和函数。以下是其支持的API函数的完整列表:
- download_file:下载与给定哈希值匹配的文件或样本;
- report_file:检索由其哈希值标识的文件提交的分析报告;
- submit_file:提交文件进行分析;
- report_app:为已知应用程序哈希值提供一个检索报告;
- report_dom:域名检索报告;
- report_ip:IPv4地址检索报告;
- report_url:URL检索报告;
- submit_url:提交一个URL进行分析;
- search:执行任意条件的搜索;
- quota:查询用户配额数据。
该框架适用于恶意软件分析师,渗透测试人员、安全爱好者从业者等。
Github下载:https://github.com/diogo-fernan/malsub
*参考来源:n0where,FB小编 secist 编译,转载请注明来自FreeBuf(FreeBuf.COM)
转载请注明:即刻安全 » 在线恶意软件和URL分析集成框架 – MalSub