Xray是一款强大的安全评估工具。
它支持主动扫描、被动扫描等多种扫描方式。
支持常见的WEB漏洞的自动化测试。
可以根据自己的需求来定制POC,功能丰富,使用简单。
其中有社区版和商业版本。
不开源。
我们需要去到它的官网来下载我们对应的系统的版本。
官网地址:
https://github.com/chaitin/xray/releases
以下是官网的截图,可以根据自己的系统选择自己的版本,由于它是不开源的,直接使用git clone下载源码是没有用的。下载二进制文件,解压后可以直接用。
以下图中各个版本的详解
xray_linux_386.zip 为 linux 32 位系统使用;
xray_linux_arm64.zip 为 linux ARM 架构 64 位系统;
xray_linux_amd64.zip 为 linux 64 位系统使用;
xray_linux_arm.zip 为 linux ARM 架构 32 位系统,主要是手机、路由器、树莓派等;
xray_darwin_amd64.zip 为Mac 系统使用;
xray_darwin_arm64.zip 为Mac ARM架构系统使用;
xray_windows_386.exe.zip 为 windows 32 位机器使用;
xray_windows_amd64.exe.zip 为 windows 64 位机器使用;
这里我使用的是Linux的CentOS 服务器,所以直接下载 amd64的版本。不知道自己内核以及版本的可以使用命令:uname -a进行查询。
下载并解压,查看Xray的版本:
./xray_linux_amd64 version
该配置文件是需要第一次运行Xray的时候自动生成的。
该配置文件中有五大配置:http、plugins、 reverse、mitm、basic_crawle
设置允许扫描的域名:hostname_allowed: 是允许扫描的域名,hostname_disallowed: 是不允许扫描的域名
扫描插件配置:插件配置修改主要是开启和关闭,默认是全部开启,扫描时检测全部类型的漏洞,不需要检测的漏洞类型修改为 false;扫描时也可以指定插件。
发包速率限制:防止请求太快被 waf 拦截,可以将每秒请求数减小,默认每秒 500
代理模式,简单理解就是被动扫描。就是我们点击哪里Xray就会检测哪个位置的网站有没有漏洞。
过程如下:
简单理解就是一个浏览器,一个Xray。
我们使用插件,在浏览器端设置代理,然后Xray监听。
我们点击浏览器发送请求,会先发送到代理手中(Xray)。
然后Xray根据我们这个请求去检测是否有漏洞。
最后再去请求我们想要访问的服务器
如果有漏洞的话会显示,然后根据我们选择的命令是否保存到文件中。
开始测试:准备一个安装了DVWA的服务器(可以FOFA找),一个服务器开了8888端口,一个KAL安装了火狐设置代理到我们安装了Xray的服务器。
1.开启被动扫描的监听
[ ]
2.开启KALI的火狐并设置代理为服务器的8888端口
3.点击网站进行检测
发现漏洞后检测停止,然后查看生成的页面,进行复现
检测到一个漏洞,返回的格式是md的
主动WEB扫描我们可以直接输入一个URL,他会自动扫描整个网站,是否含有漏洞
扫描指定的网站
[ ]
[ ]
指定扫描输出
不指定输出时,默认输出到控制台的标准输出中,可以做管道处理,也可以选择输出为文件,如:
./xray_windows_amd64.exe webscan --url http://example.com/ --json-output report.json
不同参数对应不同的输出方式:
无参数:输出到控制台的标准输出
--`text-output`:输出到文本文件中
--`json-output`:输出到 JSON 文件中
--`html-output`:输出到 HTML 文件中
基于代理扫描:
xray 可以通过类似 Burp 的方式启动,利用 HTTP 代理来抓包扫描,如:
./xray_windows_amd64.exe webscan --listen 127.0.0.1:7777
如果运行没报任何错就可以设置浏览器 HTTP 代理为 127.0.0.1:7777 了
很多时候还会扫到 HTTPS 站点,可能会因为有代理而导致无法访问,或者需要手动确认安全风险。这时候需要我们导入 xray 运行目录下的ca.crt证书
xray 的命令有 8个
webscan web端扫描
servicescan 服务器扫描
poclint 检查出 poc 中的不规范之处
reverse 命令用于启动单独的盲打平台服务,盲打平台用于处理没有回显或延触 发 的问题
genca 快速生成一个根证书,主要用于被动代理扫描 HTTPS 流量时用到。
upgrade 更新版本
version 查看版本
help -h 帮助信息
输入命令:
┌──(kali💋kali)-[~/Desktop]
└─$ ./xray_linux_amd64 genca
会导出两个文件
火狐安装
1.打开指定位置
2.导入生成的证书
3.勾选信任,点击OK 完成
Xray可以自己定义POC,还可以与goby,rad等工具进行联动
编写一个简单的POC
1、rules用来改造请求内容,expression必须是布尔型的,detail 是一个键值对,内部存储需要返回给 xray 引擎的内容,如果无需返回内容,可以忽略。这里不对rules规则语法进行介绍。
利用以上poc会对请求改成get提交方式,将请求路径改成根路径,如果返回的状态是200,说明存在我们定义的这个漏洞poc。
并且输出漏洞信息detail。
2、运行我们定义的poc poc-yaml-example.yml
将poc文件放到xray目录下,使用命令:
./xray.exe webscan --plugins phantasm --poc ./poc-yaml-example.yml --listen 127.0.0.1:7777
对单个url进行探测扫描:
./xray.exe webscan --plugins phantasm --poc ./poc-yaml-example.yml --url http://example.com
PS:有一个地方需要补充,就是开头说的是我们使用自己的服务器做一个检测,但是后面换成了KALI进行监听接口,然后检测。
第一次写工具的使用,有什么意见欢迎大家来提。
可以参考的链接
https://blog.csdn.net/nszmsjhshs/article/details/123843416
https://www.freesion.com/article/4785827283/
原文始发于微信公众号(猫因的安全):实用工具 | Xray的详细使用教程
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论