xray 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器,支持主动、被动多种扫描方式,自备盲打平台、可以灵活定义 POC,功能丰富,调用简单,支持 Windows / macOS / Linux 多种操作系统,可以满足广大安全从业者的自动化 Web 漏洞探测需求。
一、下载操作
xray 为单文件二进制文件,无依赖,也无需安装,下载后直接使用。
下载地址:https://github.com/chaitin/xray(注意: 不要直接 clone 仓库,xray 并不开源,仓库内不含源代码,直接下载构建的二进制文件即可。xray 跨平台支持,请下载时选择需要的版本下载。)
二、运行操作
下载对应系统的版本后,来查看下 xray 的版本号。(右键解压,就可以得到 xray_windows_amd64.exe 文件了)
(1) .\xray_windows_amd64.exe version ------查看 xray 的版本号。
(2) .\xray_windows_amd64.exe –h ------帮助
GLOBAL OPTIONS
先来看一个界面中的这三个全局配置项。全局配置的意思是如果在这指定了,那么所有命令执行的时候都会生效。
--config 用于指定配置文件的位置,默认加载同目录的 config.yaml。
--h 查看帮助
全局配置的使用时需要紧跟二进制程序
commands
xray 的命令有 8个
webscan web端扫描
servicescan 服务器扫描
poclint 检查出 poc 中的不规范之处
reverse 命令用于启动单独的盲打平台服务,盲打平台用于处理没有回显或延触 发 的问题
genca 快速生成一个根证书,主要用于被动代理扫描 HTTPS 流量时用到。
upgrade 更新版本
version 查看版本
help -h 帮助信息
(3)webscan 是 xray 的重头戏。扫描web漏洞
.\xray_windows_amd64.exe 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
不同参数对应不同的输出方式:
无参数:输出到控制台的标准输出
--`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证书
ca.crt ca.key config.yaml xray
指定扫描插件
使用 --plugins 参数可以选择仅启用部分扫描插件,多个插件之间可使用逗号分隔,如:
./xray_windows_amd64.exe webscan --plugins cmd_injection --url http://example.com/