Xray的基本使用
本文最后更新于:2023年9月6日 下午
¶配置:
Xray的配置相对来说比较友好,没有那么痛苦
使用--config 用于指定配置文件的位置,默认加载同目录的 config.yaml。
–h 查看帮助
¶命令:
| 命令 | 说明 |
|---|---|
| webscan | xray核心功能,用来发现探测Web漏洞 |
| servicescan | 服务扫描功能 用来探测服务漏洞 |
| poclint | 检测poc是否符合规范 |
| reverse | 启动单独的盲打平台服务 |
| genca | 用于快速生成一个根证书,主要用于被动代理扫描HTTPS流量时用到 |
| upgrade | 检查新版本并自动升级 |
| version | 版本信息 |
| help | 显示命令列表或一个命令的帮助 |
| subdomain | 子域名扫描 高级本才有的命令 |
¶生成ca证书
1 | |
会生成ca.key,ca.crt两个文件
¶webscan
在webscan后跟 -h查看webscan帮助
- 直接调用,扫描一个指定站点
./xray_windows_amd64.exe webscan --basic-crawler http://example.com/
- 指定扫描输出
不指定输出时,默认输出到控制台的标准输出中,可以做管道处理,也可以选择输出为文件,如:
./xray_windows_amd64.exe webscan --url http://example.com/ --json-output report.json
1 | |
- 抓包扫描
1 | |
很多时候还会扫到 HTTPS 站点,可能会因为有代理而导致无法访问,或者需要手动确认安全风险。这时候需要我们导入 xray 运行目录下的ca.crt证书
1 | |
导入证书和bp一样(如果你不知道bp是什么,那建议先去了解bp)
1 | |
- xray 与 Burpsuite 联动
首先 xray 建立起 webscan 的监听:
1 | |
进入 Burp 后,打开 User options 标签页,然后找到 Upstream Proxy Servers 设置。
点击 Add 添加上游代理以及作用域,Destination host处可以使用*匹配多个任意字符串,?匹配单一任意字符串,而上游代理的地址则填写 xray 的监听地址。
接下来 BP 正常抓包,与此同时 BP 也会将我们截取到的一些流量包发到 xray 中进行漏洞检测。
-
¶xray 与 AWVS 联动
首先 xray 建立起 webscan 的监听:
如果你的AWVS不是安装在物理机上话,那么你的xray应该填写你AWVS可以访问的地址;
1
./xray.exe webscan --listen 192.168.1.105:7777 --html-output awvs.html //本机ip,不要填127.0.0.1登入管理页后,点击 Targets, 然后点击 Add Target 添加扫描目标:
测试靶场:http://testphp.vulnweb.com/
下滑到HTTP部分,填写Proxy Server为对应的xray代理:

扫描类型,仅爬取:
此时 AWVS 的爬虫会把请求都转发给 xray 检测漏洞了,此时awvs.html里面就躺好了漏洞:
-
指定扫描插件
使用 --plugins 参数可以选择仅启用部分扫描插件,多个插件之间可使用逗号分隔,如:
1 | |
插件支持和key:
1 | |
- 自定义 POC
xray 支持用户使用 YAML 编写 POC。YAML 是 JSON 的超集,也就是说我们甚至可以用 JSON 编写 POC,但这里还是建议大家使用 YAML 来编写,原因如下:
1 | |
- 反连平台
xray 在运行时会自动启动反连平台来辅助盲打扫描,可以在配置文件中修改反连平台的配置。目前支持 http 和 dns 两种反连机制,当服务端触发 payload 时 xray 会根据反连平台的状态判断漏洞是否存在。
dns 反连需要启用 root 权限监听 53 端口,并且将域名的 ns 记录指向反连平台的监听地址。