Xray的安装和入门
Xray简介
xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:
- 检测速度快。发包速度快; 漏洞检测算法高效。
- 支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。
- 代码质量高。编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码可靠性。
- 高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可以极大的客制化功能。
- 安全无威胁。xray 定位为一款安全辅助评估工具,而不是攻击工具,内置的所有 payload 和 poc 均为无害化检查。
目前支持的漏洞检测类型包括:
- XSS漏洞检测 (key: xss)
- SQL 注入检测 (key: sqldet)
- 命令/代码注入检测 (key: cmd-injection)
- 目录枚举 (key: dirscan)
- 路径穿越检测 (key: path-traversal)
- XML 实体注入检测 (key: xxe)
- 文件上传检测 (key: upload)
- 弱口令检测 (key: brute-force)
- jsonp 检测 (key: jsonp)
- ssrf 检测 (key: ssrf)
- 基线检查 (key: baseline)
- 任意跳转检测 (key: redirect)
- CRLF 注入 (key: crlf-injection)
- Struts2 系列漏洞检测 (高级版,key: struts)
- Thinkphp系列漏洞检测 (高级版,key: thinkphp)
- POC 框架 (key: phantasm)
其中 POC 框架默认内置 Github 上贡献的 poc,用户也可以根据需要自行构建 poc 并运行。
下载
下载地址:https://github.com/chaitin/xray/releases
xray 跨平台支持,请下载时选择需要的版本下载。
运行
下载对应系统的版本后,来查看下 xray 的版本号。
下载后,右键解压,就可以得到 xray_windows_amd64.exe
文件了(有的解压软件还会创建一个 xray_windows_amd64.exe
的文件夹,不要和最终的可执行文件混淆了)。
使用桌面左下方的的搜索框,输入 PowerShell
,点击 Windows PowerShell
,进入命令终端。
然后 cd
到下载目录,运行 .\xray_windows_amd64.exe version
即可查看 xray 的版本号。
生成ca证书
在浏览器使用 https 协议通信的情况下,必须要得到客户端的信任,才能建立与客户端的通信。
这里的突破口就是 ca 证书。只要自定义的 ca 证书得到了客户端的信任,xray 就能用该 ca 证书签发各种伪造的服务器证书,从而获取到通信内容。
运行 .\xray_windows_amd64.exe genca
运行命令之后,将在当前文件夹生成 ca.crt
和 ca.key
两个文件。
本命令只需要第一次使用的时候运行即可,如果文件已经存在再次运行会报错,需要先删除本地的 ca.crt
和 ca.key
文件。
双击 ca.crt
,然后按照下图的步骤操作。
基础爬虫扫描
.\xray_windows_amd64.exe webscan --basic-crawler http://www.xxx.com/--html-output 1.html 扫描结果保存为一个1.html文件
xray与awvs联动
awvs 的爬虫很好用,支持表单分析和单页应用的爬取,xray 的扫描能力比较强,速度也更快。awvs 和 xray 搭配使用则是如虎添翼。
首先启动 xray 的被动代理,下面的命令将启动一个监听在所有网卡 1111 端口的 HTTP 代理, 并将扫描结果保存在 awvs.html
内。
./xray webscan --listen 0.0.0.0:1111 --html-output awvs.html
以 awvs 12 web 版为例,登入管理页后,点击 Targets
, 然后点击 Add Target
添加扫描目标:
然后切换到 HTTP
的部分,填写 xray 的 HTTP 代理。
地址需要根据实际情况填写,需要填写为 awvs 所在机器(容器)内能够访问到 xray 代理的地址。如果 xray 在外网,则填写为外网主机的 IP 地址。端口填写为上面启动时设置的端口号。
其他项可以按需调整或保持默认,然后点击 scan
按钮,按图示选择 Crawl Only
即仅使用爬虫,然后点击 Create Scan 就可以开始扫描了。
检查 xray 的界面有没有在扫描,如果有类似下图的结果说明工作正常,等待扫描完成即可。
扫描完成后可以查看 avws.html
查看漏洞详情。
xray与burp联动
在实际测试过程中,除了被动扫描,也时常需要手工测试。这里使用 Burp 的原生功能与 xray 建立起一个多层代理,让流量从 Burp 转发到 xray 中。
首先 xray 建立起 webscan 的监听
进入 Burp 后,打开 User options
标签页,然后找到 Upstream Proxy Servers
设置。
点击 Add
添加上游代理以及作用域,Destination host
处可以使用*
匹配多个任意字符串,?
匹配单一任意字符串,而上游代理的地址则填写 xray 的监听地址。
接下来,在浏览器端使用 Burp 的代理地址
此时,请求已经通过了 Burp
转发到了 xray 中
至此,联动成功。