旅行者探测器系统,一个安全工具集合框架

作为一个渗透人员,在每次渗透网站的时候都要拿出一堆黑客工具,比如nmap, awvs, 御剑等工具进行测试,由于实在厌烦了一些低级重复性的工作,趁着2020年新年创建了一个工具集合平台,将渗透测试常见的域名扫描,端口扫描目录扫描漏洞扫描的工具集合在一起

目前平台还在持续开发中,肯定有不少问题和需要改进的地方,欢迎大佬们提交建议和Bug,也非常欢迎各位大佬Star或者是Fork

旅行者探测器系统,一个安全工具集合框架

系统结构

开发框架

  • 基础语言: Python(3.8.1)
  • Web框架: Flask(1.1.1)
  • 数据库: Mongodb
  • 逻辑处理: Docker
  • 前端: Layui

数据载入

数据流入有两种方式,一种是从WEB界面引入,还有一种是从上级任务引入,比如说端口扫描任务的IP既可以从WEB页面引入,也可以从域名扫描处获得。漏洞扫描的任务只能从端口扫描和域名扫描的任务中引入。

功能介绍

域名扫描

采用的是oneforall,当前使用的版本是0.0.9,我修改了部分代码,使得工具和平台能够结合

端口扫描

程序采用的是masscannmap结合的方式,先用masscan扫描开放的端口,然后再用nmap对开放的端口进行详细的信息探测, 这步是最重要的一步,通过nmap给端口打上标签,为以后的POC扫描提供数据,由于nmap只能识别广义的操作系统,中间件,数据库三层结构,再往上的web应用nmap无法识别,只能通过接下来的cms识别给web应用程序打标签

目录扫描

目录扫描采用的工具是dirsearch,排除了部分bug并且扩充了字典然后进行封装

指纹识别

指纹识别采用的是新潮团队的TideFinger, 我提取出了TideFinger的指纹进行比对,原先TideFinger是单任务运行多线程请求的方式,为了配合框架我改成了多任务并发单线程请求的方式,由于Python3和Python2在字符编码上存在差异,导致相同的字符串可能会计算出不同的MD5值,这个指纹识别的库以后需要大量修改

漏洞扫描

漏洞扫描功能现在引入了xunfeng和kunpeng的poc,一共144个,标签以nmap的标签为主,比如445端口的标签是microsoft-ds, 3389的标签是ms-wbt-server。这两个框架合并存在一定问题,比如说:xunfeng和kunpeng的poc主要针对非WEB应用,两个框架的POC存在重复的问题.我做了一定的去重工作,后期随着POC的增多,去重会是一个问题

WAF探测

分析了一下sqlmap的源代码,从中提取出了sqlmap用于WAF探测的代码并进行了封装, 用来探测类http端口是否有WAF保护,此功能并未在前台展示,一些模块比如目录扫描会自动进行调用

主动扫描

主动扫描用的是AWVS12,已经封装在Docker里了,通过AWVS12的restful进行API调用

下载与安装

支持docker和源码安装,以源码安装为例:

运行

添加新用户curl http://127.0.0.1:5000/add然后访问http://127.0.0.1:5000/,默认的用户名和密码是luffy:s1riu5,正式开始前需要先创建一个项目。