关于MalPipe
MalPipe是一款功能强大的恶意软件分析与处理引擎,该工具基于模块化开发,同时也是一款恶意软件/IoC收集与处理工具。在该工具的帮助下,广大研究人员可以从多个数据源(feed)提取恶意软件或威胁行为相关的域名、URL地址和IP地址等数据,然后以此来丰富分析数据并以合适的格式导出分析处理结果。
支持的数据源
VirusTotal (https://www.virustotal.com) MalShare (https://malshare.com/) BambenekFeeds (osint.bambenekconsulting.com/feeds/) FeodoBlockList (https://feodotracker.abuse.ch) Malc0deIPList (http://malc0de.com/) NoThinkIPFeeds (www.nothink.org/) OpenPhishURLs (https://openphish.com) TorNodes (https://torstatus.blutmagie.de)
工具安装
该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。
接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
代码语言:javascript复制git clone https://github.com/silascutler/MalPipe.git
下载完成后,我们可以使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:
代码语言:javascript复制pip install -r requirements.txt
工具配置
数据feed
项目提供了一个config_example.json文件帮助大家快速完成工具的数据feed配置,该文件中包含一个JSON独享,其中包含了相关的必要配置信息:
代码语言:javascript复制...
"feeds": {
...
"MalShare": {
"ENABLED" : true,
"API_KEY" : "00000000000000000000000000000000000000000000000000000000000",
"EXPORTERS" : ["DetailsPrinter", "JSONLog"],
"PROCESSORS" : ["YaraScan", "DNSResolver"]
},
...
由于某些数据feed会每天更新,因此每一个feed都可以以两种形式配置,即计划、主动。
处理器
处理器可以用于丰富或处理数据集。比如说,VirusTotal的数据包含每一个收集文件的YARA结果,而MalShare的数据就不痛了。那么我们此时就可以向PROCESSORS键添加YaraScan,就可以获取到所需的结果了:
代码语言:javascript复制...
"processors": {
...
"YaraScan": {
"ENABLED" : false,
"RULES_PATH": "/yara_rules/Malware.yara"
},
...
当前版本的MalPipe已实现了下列处理器:
ASNLookup DNSResolver FileType RDNS YaraScan
数据导出器
最后一个组件就是工具的数据导出器了,它可以控制数据的导出路径和格式:
代码语言:javascript复制...
"exporters": {
...
"JSONLog": {
"ENABLED" : true,
"PRETTY" : true,
"LOG_PATH": "./temp/"
},
...
当前版本的MalPipe已实现了下列数据导出器:
DetailsPrinter GenericWebStorage JSONLog LocalFileStorage
工具运行
一切配置完成之后,我们就可以使用下列命令来运行MalPipe了:
代码语言:javascript复制
python malpipe.py
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可证协议。
项目地址
MalPipe:https://github.com/silascutler/MalPipe