XRAY
介绍
长亭科技开发的一款功能强大的安全评估工具,支持常见web漏洞的自动化监测,可以在Github免费下载使用(不开源)。可能是迄今为止最好的被动扫描器(xray安全实验室教学视频原话)
这篇文章算是对xray安全实验室给出的教学视频进行整理加上些自己的想法。
下载地址
https://github.com/chaitin/xray/releases
windows x64版本:xray_windows_amd64.exe
xray为单文件命令行工具,且自带所有依赖,安装打开即用,无序安装。
官方文档
使用
1 | xray_windows_amd64.exe -h 查看帮助 |
使用代理模式进行扫描
被动代理原理
1.安装浏览器插件 SwitchyOmega
2.启动xray,使用命令生成证书
xray_windows_amd64.exe genca3.安装并信任生成的证书
4.启动xray代理
xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-out xxx.html5.配置浏览器开始扫描
xray高级用法
常用配置介绍
允许扫描的域 Mitm -> Restriction (只允许扫描自己想要的网站,不要扫到什么乱七八糟的网站)
为代理添加认证 Mitm -> auth (使用的时候得登录一下,可以避免放在公网的xray被别人
ntr使用)扫描插件配置 Plugins (可以开关扫描插件,默认全开)
发包速率限制 http -> max_qps (限制扫描速度,防止被封ip)
扫描代理配置 http-> proxy (可以配置上游代理)
xray与burpsuite联动
Burpsuite作为xray的上游代理(抓取xray发包)
原理如下
xray发的包都会被burp抓取

配置
1.xray目录下config.yaml里找到http -> proxy 这一项,设置为 “http://127.0.0.1:8080" ,这个是burp的代理
2.浏览器设置代理127.0.0.1:7777,这个是xray的代理,端口也可以设置成其他端口
3.使用xray进行被动扫描
xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-out xxx.html
xray作为burpsuite的上游(协助测试)
原理如下
burp发的包被xray扫描

配置
记得把xray的config.yaml中http -> proxy 配的代理删掉,不然burp和xray会互相循环套娃1.burp里User options中Upstream Proxy Servers配一下xray作为上游代理,127.0.0.1:7777
2.浏览器里代理改为burp的代理127.0.0.1:8080
3.使用xray将burp传来的包进行扫描
xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-out xxx.html
编写自定义poc
通过yaml格式编写poc
这里以vscode作为编写环境
首先先配置一下环境,安装一下YAML插件,在settings中选择Extensions找到YAML,找到Yaml: Schemas一项,点击Edit in settings.json,把内容修改成
1 | { |
当然如果原本就有内容那只需要追加一下如果报错那就是你前面逗号没加
1 | { |
意思就是加载了一个对yaml怎么校验的机制
保存后关掉就行

一个最简单的POC由三部分构成:
1 | name: xxx |

调试poc
xray_windows_amd64.exe webscan --plugins phantasm --poc ./poc-yaml-example.yml --url http://xxx.com
注:phantasm是xray的poc框架管理的插件
具体的就不细讲了
怎么写poc在官方文档中讲的很详细
也可以看看github上xray仓库中的poc,借鉴一下别人的poc是怎么写的
