Skip to content

Commit

Permalink
更新 readme
Browse files Browse the repository at this point in the history
  • Loading branch information
iSafeBlue committed May 14, 2019
1 parent 4feb086 commit 2f2d42e
Show file tree
Hide file tree
Showing 28 changed files with 936 additions and 251 deletions.
93 changes: 61 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<div align="center">


![](img/logo.png)
![](docs/img/logo.png)

<br/>

Expand All @@ -20,75 +20,94 @@

## 关于溯光

溯光是一个由Java语言编写的服务式插件化渗透测试框架,项目是一个WEB服务,提供了调用插件和扫描的接口,并且使用了 Websocket 技术实现命令行风格交互,启动后只需要通过浏览器即可访问,是其他开源渗透测试框架不具备的特点
溯光,英文名“TrackRay”,意为逆光而行,追溯光源。同时致敬安全圈前辈开发的“溯雪”,“流光”

自更新 2.0 版本后,项目数据库采用嵌入式数据库hsqldb,使用 SpringBoot 框架开发,用maven管理依赖,使开发和使用更为简单方便
溯光是一个开源的插件化渗透测试框架,框架自身实现了漏洞扫描功能,集成了知名安全工具:Metasploit、Nmap、Sqlmap、AWVS等

如有任何使用上的问题可发送邮件或联系我的私人微信,BUG请提交issue
溯光使用 Java 编写,SpringBoot 作为基础框架,JPA + HSQLDB嵌入式数据库做持久化,Maven 管理依赖,Jython 实现 Python 插件调用,quartz 做任务调度,freemarker + thymeleaf 做视图层,Websocket 实现命令行式插件交互

如果你具备插件开发的能力,希望你也能一起来维护这个项目
框架可扩展性高,支持 Java、Python、JSON 等方式编写插件,有“漏洞扫描插件”、“爬虫插件”、“MVC插件”、“内部插件”、“无交互插件”和“可交互插件” 等插件类型

项目开发不易,你的 star 就是我坚持的动力
如有任何使用上的问题请前往 iZone 社区[溯光板块](http://bbs.ixsec.org/forum.php?mod=forumdisplay&fid=85)或者提交 issue

如果你具备插件开发的能力,希望你也能一起来维护这个项目。

项目开发不易,可以的话请留下你的 star。

## 特点

- 提供WEB服务接口
- 提供 WEB 服务接口
- 使用只需要一个浏览器
- 第一个使用Java集成MSF & AWVS的开源项目
- 内置插件式扫描器
- 集成知名安全工具
- 内置漏洞扫描器
- 强大、易用、方便、开源


## 如何使用
* 安装nmap,写入环境变量
* 启动SQLMAP API
* 启动msfrpc服务 ```msfrpcd -U msf -P msf -S -f```
* 启动AWVS
* 在application.properties配置文件中修改 ```database.dir```及以上有变更的配置参数
* 编译并运行SpringBoot启动类WebApplication.java

[详细教程](https://github.com/iSafeBlue/TrackRay/wiki/%E5%AE%89%E8%A3%85%E8%AF%B4%E6%98%8E)
## 功能展示

# 截图

#### 主页

## 功能展示
![][1]

#### 交互式插件控制台
![](img/netcat.gif)
#### 登录

#### MSF 控制台
![](img/msf.gif)
![][2]

#### 任务创建

![][3]

#### 任务列表

![][4]

#### 任务详情

#### 无交互插件调用
![Image text](img/5.png)
![Image text](img/2.gif)

#### 扫描器展示
![](img/6.gif)
![1557573022.jpg][6]

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

## 插件
![][7]

[plugin.md](plugin.md)
#### MVC插件示例

![1557573113(1).jpg][8]

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

![05.gif][9]

#### MSF 控制台

![](/docs/img/msf.gif)

## 功能简介

[functions.md](functions.md)
## 文档

[安装说明](/docs/安装说明.md)

[插件开发](/docs/扩展开发.md)

[功能介绍](/docs/功能.md)


## ChangeLog

| 日期 | 描述 |
| ---- | ---- |
| 2019-05-14 | 溯光3更新 |
| 2019-03-11 | 新增jython支持,可通过`PyScript.java`插件调用python脚本 |
| 2019-02-02 | 修复在linux环境下相关bug |
| 2019-01-30 | 溯光2更新 |
| 2018-10-29 | 溯光渗透测试框架开源 |


## 贡献者

项目由[浅蓝](https://github.com/iSafeBlue)发起并主导开发。

[致谢名单](https://github.com/iSafeBlue/TrackRay/wiki/%E8%87%B4%E8%B0%A2%E5%90%8D%E5%8D%95)
Expand All @@ -103,7 +122,7 @@
* 社区活动
* 奖励杰出贡献者

![微信](img/wx.png) ![支付宝](img/ali.png)
![微信](docs/img/wx.png) ![支付宝](docs/img/ali.png)

## 申明

Expand All @@ -124,3 +143,13 @@
## 联系作者

email: blue#ixsec.org

[1]: /docs/img/3999579642.png
[2]: /docs/img/242398485.png
[3]: /docs/img/4052103405.png
[4]: /docs/img/3017849620.png
[5]: /docs/img/4059228044.png
[6]: /docs/img/4094571871.png
[7]: /docs/img/1587610634.png
[8]: /docs/img/1141028461.png
[9]: /docs/img/2882579563.gif
File renamed without changes
Binary file added docs/img/1141028461.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added docs/img/1587610634.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/242398485.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/2882579563.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/3017849620.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/3999579642.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/4052103405.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/4094571871.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
20 changes: 20 additions & 0 deletions docs/功能.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
### 功能介绍

* /task/create 创建任务
* /task/destroy 销毁任务
* /task/process 开启任务
* /task/data 任务数据
* /task/find 查找任务

* /plugin/list 插件列表
* /plugin/use 调用插件
* /plugin/result 插件执行结果
* /plugin/stop 结束插件线程

* /manage 管理后台
* /manage/create 创建任务
* /manage/task 任务列表

* /api 无交互式插件入口
* /console 交互式插件控制台
* /msf metasploit 控制台
148 changes: 148 additions & 0 deletions docs/安装说明.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# 依赖环境
> 加粗为必须环境,没有安装程序则无法正常编译运行
- **JDK 1.8**
- Python 2.7
- **Maven**
- Git
- Metasploit
- Nmap(建议安装)
- SQLMAP(建议安装)
- AWVS

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

# 安装过程

**第一步**
手动启动 AWVS 服务

![][1]

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

![][2]

复制密匙和 AWVS 的地址。

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

修改如下部分

```
awvs.host=https://127.0.0.1:3443
awvs.key=你的API KEY
```

**第二步**

找到你 python 的第三方库目录。

Windows 的一般在 python 安装目录下的 `/Lib/site-packages`

Linux 下可以通过输出 sys.path 来找第三方包路径

![][3]

我的是 `D:/Python2/Lib/site-packages`

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

修改`python.package.path`参数
```
python.package.path=D:/Python/Lib/site-packages
```

**第三步**

安装 Maven 后找到仓库位置。

如果没有在 `settings.xml` 里配置指定仓库目录,默认会在当前用户目录中生成一个 `.m2`的目录

> Linux /root/.m2/repository
> Windows C:/Users/blue/.m2/repository
找到仓库目录后修改 `application.properties``maven.repository.path`参数

```
maven.repository.path=/root/.m2/repository
```


**第四步**

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

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

![][4]

修改配置文件

```
#ceye.io
ceye.io.token=******
ceye.io.identifier=****.ceye.io
```


**第五步**

启动 msf 和 sqlmapapi。

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

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

```
msfrpcd -U 用户名 -P 密码 -S -f
```
```
python sqlmapapi.py -s
```

启动成功后修改配置文件

```
#msfrpc
metasploit.host=127.0.0.1:55553
metasploit.user=msf
metasploit.pass=msf
```

```
#sqlmap api
sqlmap.root=http://127.0.0.1:8775/
```

**第六步**

编译打包程序

Windows 下运行`package.bat`
Linux 下运行 `package.sh`

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

![1557584484(1).jpg][5]

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

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

![1557584966(1).jpg][6]

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

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



[1]: http://blueblog.test.upcdn.net/usr/uploads/2019/05/143460336.png
[2]: http://blueblog.test.upcdn.net/usr/uploads/2019/05/703035688.png
[3]: http://blueblog.test.upcdn.net/usr/uploads/2019/05/447148357.png
[4]: http://blueblog.test.upcdn.net/usr/uploads/2019/05/3530661395.png
[5]: http://blueblog.test.upcdn.net/usr/uploads/2019/05/3731947807.jpg
[6]: http://blueblog.test.upcdn.net/usr/uploads/2019/05/558596656.jpg
Loading

0 comments on commit 2f2d42e

Please sign in to comment.