XRay安装使用以及Burp联动

2022-08-23 19:29:41 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

0x00 前言

XRay是长亭科技洞鉴核心引擎中提取出的社区版漏洞扫描神器,属于一款功能十分强大的国产被动扫描工具,其应用范围涵括,Web通用漏洞扫描、被动代理扫描、社区POC集成……

XRay 的定位是一款安全辅助评估工具,而不是攻击工具,其内置的所有 payload 和 poc 均为无害化检查。毫不犹豫的说,XRay属于渗透测试人员安全渗透的一大神兵利器!

可以想象,当Burp与XRay联动时,必将碰撞出不一样的火花!

0x01 下载XRay

XRay为单文件二进制文件,无依赖,也无需安装,下载后直接使用。笔者建议使用XRay社区下载,速度较之GitHub更快。

1、版本说明

代码语言:javascript复制
#版本说明
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社区下载

代码语言:javascript复制
直达链接:https://download.xray.cool/xray

3、通过GitHub下载

代码语言:javascript复制
直达链接:https://github.com/chaitin/xray/releases

0x02 XRay基础命令

代码语言:javascript复制
#为方便使用,笔者将 xray_windows_amd64.exe 改名为xray.exe
#为方便使用,笔者在xray.exe所在目录放置了一个bat文件,内容为start Powershell
#注:Windows中使用,建议使用Powershell运行XRay,其命令格式./xray -h;若为cmd,则为xray -h

1、查看版本号

代码语言:javascript复制
./xray version			#查看XRay版本号

2、查看帮助及其中文文档

代码语言:javascript复制
./xray -h				#查看XRay帮助
./xray webscan -h		#查看webscan帮助信息
代码语言:javascript复制
#配置扫描插件
--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证书

代码语言:javascript复制
./xray genca		#生成XRay证书文件,主要用于被动代理扫描HTTPS流量时用到
#注:证书需要安装在受信任的根证书颁发机构

4、XRay版本更新

代码语言:javascript复制
./xray upgrade			#升级至最新版本

0x03 XRay使用实例

1、扫描并爬取

使用爬虫模式去模拟人工访问网页链接,同时自动扫描分析是否存在漏洞,类似于主动扫描,因此存在一些问题:

①爬虫模式无法处理JS渲染页面;

②需要手动配置登录cookie、必要的http头等,若登录失败也是不易发现问题。

代码语言:javascript复制
#使用基础爬虫爬取或爬虫爬取的链接进行漏洞扫描,并生成报告tumei.html
./xray webscan --basic-crawler https://baidu.com --html-output tumei.html

2、代理被动扫描

代码语言:javascript复制
#浏览器中设置代理127.0.0.1:8080,浏览网页时将自动分析代理流量并扫描
./xray.exe webscan --listen 127.0.0.1:8080 --html-output tumei.html

3、快速扫描

代码语言:javascript复制
#快速测试单个url,且不进行爬取
./xray webscan --url https://baidu.com --html-output tumei.html

4、指定插件扫描及其关键字

代码语言:javascript复制
#快速测试单个url,且不进行爬取
./xray webscan --url https://baidu.com --html-output tumei.html
代码语言:javascript复制
#部分漏洞插件说明

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扫描

代码语言:javascript复制
#自定义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的第三方功能。笔者感觉这个插件反应有点慢,还是方法二好点,也许也是不会用。

代码语言:javascript复制
#passive-scan-client-0.3.0.jar
插件直链:https://github.com/c0ny1/passive-scan-client/releases

0x05 XRay配置文件相关

代码语言:javascript复制
#修改配置文件config.yaml,开放爬取和扫描教育SRC。注释第145,177行,具体见图
#建议搜索引擎、一些论坛设置为不允许爬取和扫描,如baidu.com、t00ls.net

0x06 后记

笔者暂时不想写了,有机会再回来翻修下吧。最后建议使用方法一进行burp的联动。

如果各位师傅有什么好的建议,也可以通过博客与笔者联系。

0x07 知识链接

xray使用 – 灰信网(软件开发博客聚合)

https://www.cnblogs.com/sunny11/p/14373686.html#_lab

https://www.bilibili.com/video/BV11D4y1m7SW?from=search&seid=10284941984660012835&spm_id_from=333.337.0.0el2

x-ray之第五篇-常xray与burpsuit的联动_千寻的博客-CSDN博客

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139423.html原文链接:https://javaforall.cn

0 人点赞