Xray扫描器
0x01. 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 并运行。
默认不回显的,需要服务器的配合
xray官方文档:https://docs.xray.cool/#/tutorial/introduce
0x02. xray下载
下载地址
请下载的时候选择最新的版本下载。
- Github: https://github.com/chaitin/xray/releases (国外速度快)
- 网盘: https://yunpan.360.cn/surl_y3Gu6cugi8u (国内速度快)
注意: 不要直接 clone 仓库,xray 并不开源,仓库内不含源代码,直接下载构建的二进制文件即可。
xray 跨平台支持,请下载时选择需要的版本下载。
0x03. xray扫描模式
3.0 启动xray
cmd进入xray的安装目录
3.1 主动扫描
xray_windows_amd64 webscan --basic-crawler http://192.168.18.80/pikachu/ --html-output pikachu.html
xray_windows_amd64 xray的可执行文件名
webscan 网站扫描
--basic-crawler 基本爬取
http://192.168.18.80/pikachu/ 扫描的网站
--html-output 文件名 输出的报告名称
红色的内容就是扫描出来的漏洞
简单的日志分析
3.2 被动扫描检测
在浏览器使用 https 协议通信的情况下,必须要得到客户端的信任,才能建立与客户端的通信。
这里的突破口就是 ca 证书。只要自定义的 ca 证书得到了客户端的信任,xray 就能用该 ca 证书签发各种伪造的
服务器证书,从而获取到通信内容。
生成ca证书
xray_windows_amd64.exe genca
启动代理
在扫描之前,我们还需要做一些必要的设置
第一次启动 xray 之后,当前目录会生成 config.yml
文件,选择文件编辑器打开,并按照下方说明修改
restriction: # 代理能够访问的资源限制, 以下各项为空表示不限制
hostname_allowed: [192.169.18.80] # 允许访问的 Hostname,支持格式如 t.com、 *.t.com、1.1.1.1、1.1.1.1/24、1.1-4.1.1-8
hostname_disallowed: # 不允许访问的 Hostname,支持格式如 t.com、*.t.com、1.1.1.1、 1.1.1.1/24、1.1-4.1.1-8
- '*google*'
- '*github*'
- '*chaitin*'
- '*.xray.cool'
xray 配置文件中默认不允许扫描 gov 和 edu 等网站,如果想对这些网站进行授权测试,需要移除
hostname_disallowed
的相关配置才可以。严禁未授权的测试!否则后果自负。
开始扫描
xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output oldboy.html
xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output lh.html
3.3 服务扫描
参数配置目前比较简单,输入支持两种方式,例如 :
快速检测单个目标
xray_windows_amd64.exe servicescan --target 192.168.18.80:8009
批量检查的 1.file 中的目标, 一行一个目标,带端口
xray_windows_amd64.exe servicescan --target-file 1.file
其中 1.file 的格式为一个行一个 service,如
10.3.0.203:8009
127.0.0.1:8009
也可以将结果输出到报告或json文件中
将检测结果输出到 html 报告中
xray_windows_amd64.exe servicescan --target 127.0.0.1:8009 --html-output service.html
xray_windows_amd64.exe servicescan --target-file 1.file --html-output service.html
将检测结果输出到 json 文件中
xray_windows_amd64.exe servicescan --target 127.0.0.1:8099 --json-output 1.json