一、 xray漏洞扫描
1. xray安装与部属
下载资源并解压,此时文件夹只有一个exe文件,这是因为还未进行初始化。直接在该文件夹打开cmd执行该文件(注意不要双击执行)会发现出现一行红字,初始化完成。
之后文件夹中会多出如下配置文件,到此xray已经可以使用主动扫描了。
【遇到的问题】
初始化时可能提示“open module.xray.yaml: Access is denied”,这是因为账户权限不够。对于windows,可右键文件夹,打开属性——安全——编辑,选中Users,权限改为完全控制。
2.主动扫描
主动扫描:指用户输入目标域名或URL后,Xray基于爬虫模式自动爬取网站上的所有链接,并对这些链接进行深入的漏洞扫描。在这个过程中,Xray会对GET、POST等请求进行参数变形和污染,进行重放测试,然后依据返回信息中的状态码、数据大小、数据内容关键字等去判断该请求是否含有相应的漏洞。
主动扫描命令:
xray_windows_amd64.exe webscan --basic-crawler http://127.0.0.1/index.php --html-output 1.html
--html-output 1.html
表示将漏洞扫描结果以html文件形式输出。
生成的扫描报告:
3. 被动扫描
被动扫描指Xray作为代理服务器部署在客户端与服务器之间,通过捕获和解析流经的HTTP/HTTPS流量来检测其中的漏洞。在这个过程中,Xray不会对网站进行大规模的爬虫爬取行为,而是通过分析实际的请求和响应数据来识别潜在的漏洞。
生成并安装证书
在浏览器使用 https 协议通信的情况下,必须要得到客户端的信任,才能建立与客户端的通信。解决方法为生成 ca 证书。生成证书的指令如下:
.\xray_windows_amd64.exe genca
运行命令之后,将在当前文件夹生成 ca.crt
和 ca.key
两个文件。接下来安装证书。
本文使用的是 FireFox 浏览器,它有自己的证书体系。 打开浏览器设置,搜索证书,打开证书管理器,点击导入,如图。
选择刚刚在xray文件夹中生成的证书
如图勾选并确定
启动代理
安装并打开foxyproxy插件,添加xray代理,设置ip和端口,点击save保存。
打开xray代理。
开始扫描
打开命令行,输入如下命令:
.\xray_windows_amd64.exe webscan --listen 127.0.0.1:8989 --html-output 1.html
扫描报告:
二、goby扫描
安装软件,注册并登录账号,新建扫描,输入扫描ip,选择端口范围,点击开始,进行扫描。
扫描结果如下
三、实现xray和burpsuite联动扫描
这里使用 Burp 的原生功能与 xray 建立起一个多层代理,让流量从 Burp 转发到 xray 中进行分析。这种方式下,Xray不需要直接处理HTTPS流量的拦截和解析,而是依赖于上游代理来完成这些工作。
首先 xray 建立起 webscan 的监听。监听地址为127.0.0.1:8989。
进入burp,打开 User options
标签页,然后找到 Upstream Proxy Servers
设置。点击 Add
添加上游代理以及作用域,上游代理的地址填写 xray 的监听地址和端口。
在浏览器端使用 Burp 的代理地址,浏览器访问页面后,请求将通过Burp。
流过burpsuite的数据包会传到xray进行漏洞扫描。
可看到生成的扫描报告
四、联动扫描的流量走向
两者联动扫描流量代理后流量走向如下:
-
客户端请求:用户通过浏览器发起对目标网站的HTTP请求。
-
浏览器代理设置:浏览器被配置为通过Burp Suite的代理地址(本文设为127.0.0.1:8080)发送请求。
-
Burp Suite捕获请求:Burp Suite作为顶层代理服务器,捕获来自浏览器的HTTP请求。
-
Burp Suite转发请求:Burp Suite将捕获的请求转发给Xray进行进一步处理。这通常通过设置Burp Suite的上游代理(即Xray的监听地址和端口,本文设为127.0.0.1:8989)来实现。
-
Xray处理请求:Xray接收到来自Burp Suite的请求后,进行自动化的漏洞扫描。
-
Xray返回响应:Xray将扫描结果或修改后的请求/响应返回给Burp Suite。
-
Burp Suite返回给浏览器:Burp Suite将Xray的响应转发回浏览器,浏览器再展示给用户。