在线恶意软件和URL分析集成框架 – MalSub

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
选项:
-h, --help 显示帮助信息和退出
-a, --analysis
输入格式(哈希值或文件默认情况下取决于选项):
-i, --ipaddr 输入为IPv4地址(仅适用于'-r'选项)
-o, --domain 输入为域名 (仅适用于‘-r’选项)
-l, --appl 输入为哈希值(仅适用于'-r'选项)
-u, --url 输入为URL(仅适用于‘-r’和‘-s’选项)
所支持的哈希值: MD5, SHA1, SHA-256 and SHA-512。
Usage: malsub [-h] [-a
选项:
-h, --help 显示帮助信息和退出
-a, --analysis
输入格式(哈希值或文件默认情况下取决于选项):
-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
在线恶意软件和URL分析集成框架 – MalSub的更多相关文章
- 第四百零三节,python网站在线支付,支付宝接口集成与远程调试,
第四百零三节,python网站在线支付,支付宝接口集成与远程调试, windows系统安装Python虚拟环境 首先保证你的系统已经安装好了Python 安装virtualenv C:\WINDOWS ...
- 分析 JUnit 框架源代码
本文转载至http://www.ibm.com/developerworks/cn/java/j-lo-junit-src/ 分析 JUnit 框架源代码 理解 JUnit 测试框架实现原理和设计模式 ...
- java(样品集成框架spring、spring mvc、spring data jpa、hibernate)
这是你自己的参考springside集成框架的开源项目.主要的整合spring.spring mvc.spring data jpa.hibernate几个框架,对于这些框架中仍然感觉更舒适sprin ...
- nightwatchjs 基于nodejs&& webdriver 协议的自动化测试&&持续集成框架
nightwatchjs 是基于nodejs&& webdriver 协议的自动化测试&&持续集成框架 参考架构 参考资料 http://nightwatchjs.or ...
- 读《3M 利率分析新框架》
目录 读<3M 利率分析新框架> 前言 传统的利率研究框架 3M 利率研究新框架 Macro Monetary Macro Prudence 总结 参考文献 <3M 利率分析新框架& ...
- MySQL InnoDB索引介绍以及在线添加索引实例分析
引言:MySQL之所以能成为经典,不是没有道理的,B+树足矣! 一.索引概念 InnoDB引擎支持三种常见的索引:B+树索引,全文索引和(自适应)哈希索引.B+树索引是传统意义上的索引,构造类似二叉树 ...
- angularJs中图表功能(有集成框架)-angular-flot
1.柱状图和折线图的数据格式: $scope.Chart.data = [ { label: "离线", data: [[0, 2]] }, { label: "在线&q ...
- Cloudera Hadoop 4 实战课程(Hadoop 2.0、集群界面化管理、电商在线查询+日志离线分析)
课程大纲及内容简介: 每节课约35分钟,共不下40讲 第一章(11讲) ·分布式和传统单机模式 ·Hadoop背景和工作原理 ·Mapreduce工作原理剖析 ·第二代MR--YARN原理剖析 ·Cl ...
- $Django cbv源码分析 djangorestframework框架之APIView源码分析
1 CBV的源码分析 #视图 class login (View): pass #路由 url(r'^books/$', views.login.as_view()) #阅读源码: #左侧工程栏--- ...
随机推荐
- OnsenUI和AngularJS配合搭建混合应用的基本步骤
混合开发的热潮已经掀起,实现混合开发的方式很多.今天给大家介绍一个实现混合开发的基本方法-OnsenUI和AngularJS配合. OnsenUI是一个可以实现混合开发的前端框架,包含了很多前端设计中 ...
- 用tp框架来对数据库进行增删改
先来看添加 使用tp框架,对数据库进行添加操作,都有哪些方法 先在Main控制器中,做个方法 运行一下,注意地址,就要输tianjia了 然后再看一下数据库,有没有添加上数据 添加成功 再来看一下这个 ...
- java利用“映射文件访问”(MapperByteBuffer)处理文件与单纯利用Buffer来处理文件的快慢比较
处理文件是java经常使用的操作,在对一个“大文件”(比如超过64M)进行操作时一点点速度的提高都会带来性能的巨大提升.然而我们经常使用的BufferxxStream,来直接处理大文件时,往往力不从心 ...
- JAVA基础知识(2)--堆栈和递归的操作
2015-07-26 18:16:21/***该应用程序对堆栈和递归方法进行实例操作: *1.堆栈操作:先进后出,*2.递归方法:直接或者调用自己的方法:*@author lhm *Email:912 ...
- 深入浅出数据结构C语言版(2)——简要讨论算法的时间复杂度
所谓算法的"时间复杂度",你可以将其理解为算法"要花费的时间量".比如说,让你用抹布(看成算法吧--)将家里完完全全打扫一遍大概要5个小时,那么你用抹布打扫家里 ...
- oracle图形界面乱码
oracle界面乱码解决方案 在Linux的中文操作系统下使用xmanager进行Oracle进行安装的时候,可能出现乱码界面,可以通过以下方法进行解决 1 修改环境属性 vi /etc/sysco ...
- Windows Phone 8.1开发:触控和指针事件2
原文出自:http://www.bcmeng.com/windows-phone-touch1/ 请在此输入内容(想死啊,写了一个小时,直接没保存不小心删掉了.那就简单说说吧)Pointer事件有以下 ...
- QQGame防专线中断系统介绍
先说说背景 QQGame是一个全区全服的休闲类游戏平台和社区,主逻辑服务器部署在四大IDC,核心DB全部在深圳.对跨IDC的专线依赖度很高. 网平提供专线故障后切VPN的备份机制,当VPN也中断时QQ ...
- JvisualVM、JMC监控远程服务器
修改服务器上jmxremote.access与jmxremote.password,输入命令: find -name jmxremote.access进入该jmxremote.access文件所在目录 ...
- Linux 和 Windows 下实现多进程的方式以及管道操作
一.多进程 1.windows 多进程 使用 #include<windows.h> 下面的 BOOL CreateProcess( LPCWSTR pszImageName, LPCWS ...