TrackRay:打造一款自己的渗透测试框架

摘要: 溯光,英文名“TrackRay”,意为逆光而行,追溯光源。同时致敬安全圈前辈开发的“溯雪”,“流光”。

TrackRay简介

溯光,英文名“TrackRay”,意为逆光而行,追溯光源。同时致敬安全圈前辈开发的“溯雪”,“流光”。

溯光是一个开源的插件化渗透测试框架,框架自身实现了漏洞扫描功能,集成了知名安全工具:Metasploit、Nmap、Sqlmap、AWVS等。

溯光使用 Java 编写,SpringBoot 作为基础框架,JPA + HSQLDB嵌入式数据库做持久化,Maven 管理依赖,Jython 实现 Python 插件调用,quartz 做任务调度,freemarker + thymeleaf 做视图层,Websocket 实现命令行式插件交互。

框架可扩展性高,支持 Java、Python、JSON 等方式编写插件,有“漏洞扫描插件”、“爬虫插件”、“MVC插件”、“内部插件”、“无交互插件”和“可交互插件” 等插件类型。

功能展示

>>>>主页

1.png

>>>>登录  

2.png

>>>>任务创建  

3.png

>>>>任务列表  

4.png

>>>>任务详情  

5.jpg

>>>>无交互接口插件调用

6.png

>>>>MVC插件示例

7.jpg

>>>>交互式插件控制台

8.gif

>>>>MSF 控制台

640.gif

依赖环境  


·JDK 1.8

·Python 2.7

·Maven

·Git

·Metasploit

·Nmap(建议安装)

·SQLMAP(建议安装)

·AWVS

**加粗为必须环境,没有安装程序则无法正常编译运行

不论是 Windows 还是 linux 一定需要先安装 JDK1.8 和 Maven。安装过程这里不做演示。保证 JDK 和 Maven 都在系统环境变量,能执行java -version 和 mvn –version即可。

安装过程

>>>>第一步  

手动启动 AWVS 服务

9.png

登录后台,生成一个API密匙。

复制密匙和 AWVS 的地址。

找到web/src/main/resources/application.properties配置文件。

修改如下部分

>>>>第二步

image.png

>>>>第三步

image.png

>>>>第四步

这个是 DNSLOG 回显检测漏洞时需要的。

去 ceye.io 注册一个账号,拿到给你分配的域名和 TOKEN。

修改配置文件

>>>>第五步

启动 msf 和 sqlmapapi。

如果你是 kali 操作系统,可以直接运行startdep.sh。

如果是其他系统,则要找到 metasploit 和 sqlmap 的目录分别执行

66.png77.png

启动成功后修改配置文件

88.png99.png

>>>>第六步

编译打包程序

Windows 下运行package.bat

Linux 下运行 package.sh

等待依赖下载完成和编译完成,如果以上操作都没有出现问题则会提示 BUILD SUCCESS

14.jpg

编译成功后会在当前目录打包一个trackray.jar就是溯光的主程序。

然后直接执行startup.bat或startup.sh溯光就会启动服务。

15.jpg

没有抛出异常或ERROR日志,访问 8080 端口正常。

服务启动正常后,登录 iZone 社区账号。

开发插件建议使用 Intellij IDEA IDE,需要安装 lombok 插件。

目录结构

1.png

插件  


AbstractPlugin

image.png

2.png

image.png

image.png

3.png

这是一个抽象方法,所有继承了该类的子类都需要重写这个方法。

image.png

无交互插件  

无交互插件需要你填写好所有要填写的参数,直接请求接口来执行插件。

默认需要去继承 CommonPlugin类。

4.png

image.png

交互式插件  

image.png

5.png6.png

内部插件

所属包:con.trackray.module.inner

内部插件是不可以通过外部去调用的,需要继承 InnerPlugin 并使用 @Plugin 注解,通常在漏洞扫描时时会调用。

例如 “网页爬虫”,“指纹识别”,“端口扫描” 等,都是通过调用内部插件实现的。

还有用于检测 SSRF 等漏洞用的 FuckCeye 插件也属于内部插件。

通过 spring 的自动注入,来注入内部插件到当前对象。

例子可参考 WebLogicWLSRCE.java

爬虫插件  

所属包:con.trackray.module.crawler

爬虫插件会在扫描任务被勾选“网页爬虫”时调用,每爬取一条请求就会调用一次爬虫插件。

爬虫插件需要继承 CrawlerPlugin,继承该类必须重写 check 和 process 方法。

image.png

原文地址:https://www.freebuf.com/sectool/204457.html



上一篇:内网全局代理工具及特征分析
下一篇:ehtools:一款WiFi...