Xray的基本使用

本文最后更新于:2023年9月6日 下午

配置:

Xray的配置相对来说比较友好,没有那么痛苦

使用--config 用于指定配置文件的位置,默认加载同目录的 config.yaml。

–h 查看帮助

命令:

命令 说明
webscan xray核心功能,用来发现探测Web漏洞
servicescan 服务扫描功能 用来探测服务漏洞
poclint 检测poc是否符合规范
reverse 启动单独的盲打平台服务
genca 用于快速生成一个根证书,主要用于被动代理扫描HTTPS流量时用到
upgrade 检查新版本并自动升级
version 版本信息
help 显示命令列表或一个命令的帮助
subdomain 子域名扫描 高级本才有的命令

生成ca证书

1
.\xray.exe genca

会生成ca.key,ca.crt两个文件

webscan

在webscan后跟 -h查看webscan帮助

  1. 直接调用,扫描一个指定站点

./xray_windows_amd64.exe webscan --basic-crawler http://example.com/

  1. 指定扫描输出

不指定输出时,默认输出到控制台的标准输出中,可以做管道处理,也可以选择输出为文件,如:

./xray_windows_amd64.exe webscan --url http://example.com/ --json-output report.json
1
2
3
4
5
6
7
无参数:输出到控制台的标准输出 

--`text-output`:输出到文本文件中

--`json-output`:输出到 JSON 文件中

--`html-output`:输出到 HTML 文件中
  1. 抓包扫描
1
./xray_windows_amd64.exe webscan --listen 127.0.0.1:7777

很多时候还会扫到 HTTPS 站点,可能会因为有代理而导致无法访问,或者需要手动确认安全风险。这时候需要我们导入 xray 运行目录下的ca.crt证书

1
2
.\xray_windows_amd64.exe genca
ca.crt ca.key config.yaml xray

导入证书和bp一样(如果你不知道bp是什么,那建议先去了解bp)

1
./xray_windows_amd64.exe webscan --listen 127.0.0.1:7777
  1. xray 与 Burpsuite 联动

首先 xray 建立起 webscan 的监听:

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

进入 Burp 后,打开 User options 标签页,然后找到 Upstream Proxy Servers 设置。

点击 Add 添加上游代理以及作用域,Destination host处可以使用*匹配多个任意字符串,?匹配单一任意字符串,而上游代理的地址则填写 xray 的监听地址。

接下来 BP 正常抓包,与此同时 BP 也会将我们截取到的一些流量包发到 xray 中进行漏洞检测。

  1. 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代理:

    img

    扫描类型,仅爬取:

    此时 AWVS 的爬虫会把请求都转发给 xray 检测漏洞了,此时awvs.html里面就躺好了漏洞:

  2. 指定扫描插件

使用 --plugins 参数可以选择仅启用部分扫描插件,多个插件之间可使用逗号分隔,如:

1
./xray_windows_amd64.exe webscan --plugins cmd_injection --url http://example.com/

插件支持和key:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
SQL 注入检测 (key: sqldet):   支持报错注入、布尔注入和时间盲注等
XSS 检测(key: xss): 支持扫描反射型、存储型 XSS
命令/代码注入检测 (key: cmd_injection): 支持 shell 命令注入、PHP 代码执行、模板注入等
目录枚举 (key: dirscan): 检测备份文件、临时文件、debug 页面、配置文件等10余类敏感路径和文件
路径穿越检测 (key: path_traversal): 支持常见平台和编码
XML 实体注入检测 (key: xxe): 支持有回显和反连平台检测
POC 管理 (key: phantasm): 默认内置部分常用的 POC,用户可以根据需要自行构建 POC 并运行。可参考:POC 编写文档(https://chaitin.github.io/xray/#/guide/poc)
文件上传检测 (key: upload): 支持检测常见的后端服务器语言的上传漏洞
弱口令检测 (key: brute_force): 支持检测 HTTP 基础认证和简易表单弱口令,内置常见用户名和密码字典
JSONP 检测 (key: jsonp): 检测包含敏感信息可以被跨域读取的 jsonp 接口
SSRF 检测 (key: ssrf): ssrf 检测模块,支持常见的绕过技术和反连平台检测
基线检查 (key: baseline): 检测低 SSL 版本、缺失的或错误添加的 http 头等
任意跳转检测 (key: redirect): 支持 HTML meta 跳转、30x 跳转等
CRLF 注入 (key: crlf_injection): 检测 HTTP 头注入,支持 querybody 等位置的参数
  1. 自定义 POC

xray 支持用户使用 YAML 编写 POC。YAML 是 JSON 的超集,也就是说我们甚至可以用 JSON 编写 POC,但这里还是建议大家使用 YAML 来编写,原因如下:

1
2
3
YAML 格式的 “值” 无需使用双引号包裹,特殊字符无需转义
YAML 格式使内容更加可读
YAML 中可以使用注释
  1. 反连平台

xray 在运行时会自动启动反连平台来辅助盲打扫描,可以在配置文件中修改反连平台的配置。目前支持 http 和 dns 两种反连机制,当服务端触发 payload 时 xray 会根据反连平台的状态判断漏洞是否存在。

dns 反连需要启用 root 权限监听 53 端口,并且将域名的 ns 记录指向反连平台的监听地址。


Xray的基本使用
https://jsweetcoffee.github.io/posts/8487c21c.html
作者
SCxiaoyun
发布于
2023年8月17日
许可协议