大家好,又见面了,我是你们的朋友全栈君。
0x00 前言
XRay是长亭科技洞鉴核心引擎中提取出的社区版漏洞扫描神器,属于一款功能十分强大的国产被动扫描工具,其应用范围涵括,Web通用漏洞扫描、被动代理扫描、社区POC集成……
XRay 的定位是一款安全辅助评估工具,而不是攻击工具,其内置的所有 payload 和 poc 均为无害化检查。毫不犹豫的说,XRay属于渗透测试人员安全渗透的一大神兵利器!
可以想象,当Burp与XRay联动时,必将碰撞出不一样的火花!
0x01 下载XRay
XRay为单文件二进制文件,无依赖,也无需安装,下载后直接使用。笔者建议使用XRay社区下载,速度较之GitHub更快。
1、版本说明
#版本说明
darwin_amd64.zip #Mac 系统使用
linux_386.zip #linux 32 位系统使用
linux_amd64.zip #linux 64 位系统使用
linux_arm.zip #linux ARM 架构 32 位系统,主要是手机、路由器、树莓派等
linux_arm64.zip #linux ARM 架构 64 位系统,同上, 注意区分 arm 和 amd
windows_386.exe.zip #windows 32 位机器使用
windows_amd64.exe.zip #windows 64 位机器使用
2、XRay社区下载
直达链接:https://download.xray.cool/xray
3、通过GitHub下载
直达链接:https://github.com/chaitin/xray/releases
0x02 XRay基础命令
#为方便使用,笔者将 xray_windows_amd64.exe 改名为xray.exe
#为方便使用,笔者在xray.exe所在目录放置了一个bat文件,内容为start Powershell
#注:Windows中使用,建议使用Powershell运行XRay,其命令格式./xray -h;若为cmd,则为xray -h
1、查看版本号
./xray version #查看XRay版本号
2、查看帮助及其中文文档
./xray -h #查看XRay帮助
./xray webscan -h #查看webscan帮助信息
#配置扫描插件
--plugins #配置本次扫描启用某些插件
#配置输入来源
--poc #配置本次扫描启用某些POC
--listen #启动一个被动代理服务器作为输入
--basic-crawler #启用一个基础爬虫作为输入
--url #用于快速测试的URL
--raw-request #用于加载一个原始的HTTP请求并进行扫描
#配置输出
--html-output #将结果输出为html报告
--webhook-output #将结果发送到一个URL地址
--json-output #将结果输出到一个json文件
#基础参数
-genca #生成一个根证书,主要用于被动代理扫描https流量时
-version #查看xray的版本信息
-help #显示命令或帮助列表
3、生成CA证书
./xray genca #生成XRay证书文件,主要用于被动代理扫描HTTPS流量时用到
#注:证书需要安装在受信任的根证书颁发机构
4、XRay版本更新
./xray upgrade #升级至最新版本
0x03 XRay使用实例
1、扫描并爬取
使用爬虫模式去模拟人工访问网页链接,同时自动扫描分析是否存在漏洞,类似于主动扫描,因此存在一些问题:
①爬虫模式无法处理JS渲染页面;
②需要手动配置登录cookie、必要的http头等,若登录失败也是不易发现问题。
#使用基础爬虫爬取或爬虫爬取的链接进行漏洞扫描,并生成报告tumei.html
./xray webscan --basic-crawler https://baidu.com --html-output tumei.html
2、代理被动扫描
#浏览器中设置代理127.0.0.1:8080,浏览网页时将自动分析代理流量并扫描
./xray.exe webscan --listen 127.0.0.1:8080 --html-output tumei.html
3、快速扫描
#快速测试单个url,且不进行爬取
./xray webscan --url https://baidu.com --html-output tumei.html
4、指定插件扫描及其关键字
#快速测试单个url,且不进行爬取
./xray webscan --url https://baidu.com --html-output tumei.html
#部分漏洞插件说明
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 头注入,支持 query、body 等位置的参数
5、自定义POC扫描
#自定义POC扫描,poc.yaml在xray.exe所在目录,具体使用笔者未理解,具体见知识链接
./xray webscan --plugins phantasm --poc ./poc.yaml --url http://example.com/
0x04 Burp联动
联动原理:代理间可以串联。
1、Burp作为XRay的上游代理(抓取xray发包)
浏览器设置代理通过7777端口,XRay的配置文件中设置上层代理为8080,启动XRay监听7777端口,启动Burp监听8080端口。???不行,干了一万,第二天再试,居然可以了?是重启的缘故吗?
2、xray作为burp的上游代理(协助测试)
浏览器设置代理通过8080端口,在Burp中设置上层代理为7777,取消XRay的配置文件中设置的上层代理(方法一中配置的),启动Burp监听8080端口,启动XRay监听7777端口,访问站点XRay成功扫描。
笔者建议:无法访问时,换个端口尝试,笔者尝试后可以了,再换回777端口,也可以了,一脸懵。在终端中没有实时扫描时,建议回车让扫描结果出来。实在出不来,那就继续换端口吧。
3、第三方插件,使XRay作为Burp的上层代理
passive-scan-client-0.3.0.jar是一个流量转发插件,用来拓展Burp的第三方功能。笔者感觉这个插件反应有点慢,还是方法二好点,也许也是不会用。
#passive-scan-client-0.3.0.jar
插件直链:https://github.com/c0ny1/passive-scan-client/releases
0x05 XRay配置文件相关
#修改配置文件config.yaml,开放爬取和扫描教育SRC。注释第145,177行,具体见图
#建议搜索引擎、一些论坛设置为不允许爬取和扫描,如baidu.com、t00ls.net
0x06 后记
笔者暂时不想写了,有机会再回来翻修下吧。最后建议使用方法一进行burp的联动。
如果各位师傅有什么好的建议,也可以通过博客与笔者联系。
0x07 知识链接
https://www.cnblogs.com/sunny11/p/14373686.html#_lab
x-ray之第五篇-常xray与burpsuit的联动_千寻的博客-CSDN博客
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139423.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...