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的更多相关文章

  1. 第四百零三节,python网站在线支付,支付宝接口集成与远程调试,

    第四百零三节,python网站在线支付,支付宝接口集成与远程调试, windows系统安装Python虚拟环境 首先保证你的系统已经安装好了Python 安装virtualenv C:\WINDOWS ...

  2. 分析 JUnit 框架源代码

    本文转载至http://www.ibm.com/developerworks/cn/java/j-lo-junit-src/ 分析 JUnit 框架源代码 理解 JUnit 测试框架实现原理和设计模式 ...

  3. java(样品集成框架spring、spring mvc、spring data jpa、hibernate)

    这是你自己的参考springside集成框架的开源项目.主要的整合spring.spring mvc.spring data jpa.hibernate几个框架,对于这些框架中仍然感觉更舒适sprin ...

  4. nightwatchjs 基于nodejs&& webdriver 协议的自动化测试&&持续集成框架

    nightwatchjs 是基于nodejs&& webdriver 协议的自动化测试&&持续集成框架 参考架构 参考资料 http://nightwatchjs.or ...

  5. 读《3M 利率分析新框架》

    目录 读<3M 利率分析新框架> 前言 传统的利率研究框架 3M 利率研究新框架 Macro Monetary Macro Prudence 总结 参考文献 <3M 利率分析新框架& ...

  6. MySQL InnoDB索引介绍以及在线添加索引实例分析

    引言:MySQL之所以能成为经典,不是没有道理的,B+树足矣! 一.索引概念 InnoDB引擎支持三种常见的索引:B+树索引,全文索引和(自适应)哈希索引.B+树索引是传统意义上的索引,构造类似二叉树 ...

  7. angularJs中图表功能(有集成框架)-angular-flot

    1.柱状图和折线图的数据格式: $scope.Chart.data = [ { label: "离线", data: [[0, 2]] }, { label: "在线&q ...

  8. Cloudera Hadoop 4 实战课程(Hadoop 2.0、集群界面化管理、电商在线查询+日志离线分析)

    课程大纲及内容简介: 每节课约35分钟,共不下40讲 第一章(11讲) ·分布式和传统单机模式 ·Hadoop背景和工作原理 ·Mapreduce工作原理剖析 ·第二代MR--YARN原理剖析 ·Cl ...

  9. $Django cbv源码分析 djangorestframework框架之APIView源码分析

    1 CBV的源码分析 #视图 class login (View): pass #路由 url(r'^books/$', views.login.as_view()) #阅读源码: #左侧工程栏--- ...

随机推荐

  1. Visual Studio 2017十五项新功能体验

    Visual Studio 2017正式已经于2017.3.7号正式发布,选在这一天发布也是为了纪念Visual Studio 二十周年.MVP 2017技术峰会将于这个周末(3.17)在北京举办,由 ...

  2. struct和typedef struct在c语言中的用法

    在c语言中,定义一个结构体要用typedef ,例如下面的示例代码,Stack sq:中的Stack就是struct Stack的别名. 如果没有用到typedef,例如定义 struct test1 ...

  3. 【原】老生常谈-从输入url到页面展示到底发生了什么

    刚开始写这篇文章还是挺纠结的,因为网上搜索“从输入url到页面展示到底发生了什么”,你可以搜到一大堆的资料.而且面试这道题基本是必考题,二月份面试的时候,虽然知道这个过程发生了什么,不过当面试官一步步 ...

  4. SQL Server--获取磁盘空间使用情况

    对于DBA来说,监控磁盘使用情况是必要的工作,然后没有比较简单的方法能获取到磁盘空间使用率信息,下面总结下这些年攒下的脚本: 最常用的查看磁盘剩余空间,这个属于DBA入门必记的东西: -- 查看磁盘可 ...

  5. java学习笔记 --- 异常

    异常 (1)程序出现的不正常的情况. (2)异常的体系   Throwable    |--Error  错误,严重问题,我们不处理.    ·    |--Exception 异常     |--R ...

  6. iOS开发之类扩展

    在以往写代码时,我们经常是把声明写在.h文件中,把实现写在.m文件中,但是在实际开发中,如果把声明写在.h文件中会暴露程序很多属性(成员变量.成员变量的get和set方法),为了安全考虑,引入了类扩展 ...

  7. icheck样式绑定与翻页保持

    官方文档:http://icheck.fronteed.com/ 使用基本样式 $('input').iCheck({ checkboxClass : 'icheckbox_square-blue', ...

  8. 在亚马逊Red Hat 7.1 linux上安装mysql

      安装前检查之前是否安装并卸载之前的和删除关联文件 rpm -qa|grep mysql     yum remove mysql mysql-server mysql-libs mysql-com ...

  9. So Easy-Ntp嵌入式软件移植

    一.导语和准备工作 Ntp是一种对时的软件,对客户端来说我们只要输入ntpdate IP,如ntpdate 192.168.1.254(192.168.1.254是ntp服务器,window电脑激活自 ...

  10. EntityFramework Core高并发深挖详解,一纸长文,你准备好了吗?

    前言 之前有关EF并发探讨过几次,但是呢,博主感觉还是有问题,为什么会觉得有问题,其实就是理解不够透彻罢了,于是在项目中都是用的存储过程或者SQL语句来实现,利用放假时间好好补补EF Core并发的问 ...