Xray、Rad两款工具的使用与联动

Xray、Rad两款工具的使用与联动

本文转自夏初春末_昊 并作补充

1、Xray的简介

xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:

1、检测速度快。发包速度快; 漏洞检测算法效率高。
2、支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。
3、代码质量高。编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码可靠性。
4、高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可以客制化功能。
5、安全无威胁。xray 定位为一款安全辅助评估工具,而不是攻击工具,内置的所有 payload 和 poc 均为无害化检查。
这是Xray的官方教程https://docs.xray.cool/#/

2、Xray的使用

2.1、下载Xray

https://github.com/chaitin/xray/releases

2.2、使用powershell进入到下载解压的目录

1
2
.\Xray.exe --运行xray
.\Xray.exe version --查看版本号

2.3、使用 xray 代理模式进行漏洞扫描

(1)代理模式下,扫描器作为中间人,首先原样转发流量,并返回服务器响应给浏览器等客户端,通讯两端都认为自己直接与对方对话,同时记录该流量,然后修改参数并重新发送请求进行扫描。
(2)在浏览器使用 https 协议通信的情况下,必须要得到客户端的信任,才能建立与客户端的通信。这里的突破口就是 ca 证书。只要自定义的 ca 证书得到了客户端的信任,xray 就能用该 ca 证书签发各种伪造的服务器证书,从而获取到通信内容。

1
./xray_darwin_amd64 genca --生成ca证书

双击 ca.crt,将证书导入到受信任的目录

image

(3)xray 配置文件中默认不允许扫描 gov 和 edu 等网站,如果想对这些网站进行授权测试,需要移除 config.yml中的hostname_disallowed 的相关配置。

2.4、开始扫描

使用powershell执行如下命令

1
2
./xray.exe webscan --listen 127.0.0.1:7777 --html-output xray-scan.html  ---启动监听
./xray.exe webscan --url-file edu.txt --html-output edu.html

(1)启动监听之后,浏览器开启127.0.0.1/7777的代理
(2)浏览器访问网页就行,xray会自动进行扫描

2.5、使用 xray 基础爬虫模式进行漏洞扫描

(1)爬虫模式是模拟人工去点击网页的链接,然后去分析扫描,和代理模式不同的是,爬虫不需要人工的介入,访问速度要快很多
./xray.exe webscan –basic-crawler http://127.0.0.1/pikachu/vul/sqli/sqli_str.php –html-output pachong_pikachu.html
(2)登录后的网站扫描。如果用的是代理模式,只要浏览器是登录状态,那么漏洞扫描收到的请求也都是登录状态的请求。对于普通爬虫而言,就没有这么“自动化”了, 可以通过配置 Cookie 的方式实现登录后的扫描。打开配置文件,修改 http 配置部分的 Headers 项:(配置文件修改)

1
2
3
http:
headers:
Cookie: key=value

2.6、漏洞扫描时使用代理(配置文件修改)

1
proxy:"	"	# 漏洞扫描时使用的代理,如: http://127.0.0.1:8080

3、Rad简介

Rad是长亭科技开发的一款目录爬取工具,因为xray自动化爬取功能欠佳,所以结合rad可以更高效的自动爬取。注意,rad只是爬取目标的目录,不爬取子域!!

3.1、下载Rad

https://github.com/chaitin/rad/releases

3.2、Rad的使用

下载好后进入解压的目录,执行如下命令进行使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
rad -t http://example.com
需要手动登录的情况

rad -t http://example.com -wait-login
执行以上命令会自动禁用无头浏览模式,开启一个浏览器供手动登录。 在登录完毕后在命令行界面点击回车键继续爬取。

rad -t http://example.com -text-output vuln.txt
以上命令会将爬取到的URL输出到vuln.txt中

导出完整请求
rad -t http://example.com -full-text-output result.txt

完美使用语法如下
rad_windows_amd64.exe -t http://example.com -text-output vuln.txt -wait-login

4、Xray与Rad联动

4.1、rad+xray高效扫描

(1)xray开启代理监听

1
xray.exe  webscan --listen 127.0.0.1:7777 --html-output proxy.html 

(2)rad对目标进行爬取,代理到xray上

1
rad -t http://127.0.0.1/pikachu/ -http-proxy 127.0.0.1:7777  -wait-login