xray扫描器的简单使用
Xray 是一款功能强大的安全评估工具(官网地址:https://xray.cool/),Xray社区是长亭科技推出的免费白帽子工具平台,目前社区有xray漏洞扫描器和radium爬虫工具。2020.8 rad浏览器爬虫发布,高级版的xray对rad进行了深度融合,本文主要涉及的工具都在文档最后面。本篇文章主要对该工具的如下几个功能进行详细讲解:子域名扫描、常见web漏洞检测、服务漏洞检测、爬虫检测、专项检测能力、Xray联动
1.下载地址:
Xray为单文件二进制文件,五依赖,也无需安装,下载后直接使用
Xray(扫描器)工具地址:https://github.com/chaitin/xray
Rad(爬虫)工具地址:https://github.com/chaitin/rad
2.在官方首页的对比可以看到社区版与社区高级版的主要区别:
① 域名扫描功能 ②部分专项的漏洞检测 ③高级版深度融合rad
3.xray简易架构
xray中最主要的是他的简单框架组成,整体来看,扫描器这类工具大致由三部分组成,来源处理、漏洞检测、结果输出。而如何使用好xray就在于漏洞检测功能的选择配置,因为这一部分是引擎的核心功能,用于处理前面来源处理部分产生的标准化的请求。用户可以针对性的启用插件,配置扫描插件的参数,配置 HTTP 相关参数等。在使用 xray 的过程中只要谨记这三个部分,所有的命令行用法就看起来很简单了。
基本语法就是三个主要参数: 【xray 选择漏洞检测类型 来源地址 结果输出】
4.安装ca证书
高级版xray-基本使用—建议使用PowerShell,初次使用在xray目录下,
使用命令.\xray_windows_amd64.exe genca,可以生成ca证书,如何去探测HTTPS流量。
在第一次启动xray之后,会在当前目录生成config.yml配置文件,配置文件可以参考
https://docs.xray.cool/#/configration/README
5.简单参数说明
使用 .\xray_windows_amd64.exe –h 命令可以查看参数帮助。
里面大部分都能看懂,最主要使用的参数是有下面四个,当然其他的可以逐个去尝试。
COMMANDS:
webscan, ws 用来探测web漏洞,也是xray的核心功能
servicescan, ss 用来探测服务漏洞
subdomain, sd 子域名扫描,高级版特有命令
GLOBAL OPTIONS:
--config FILE 加载配置文件FILE (默认: "config.yaml")
一、常见漏洞检测
Xray中的webscan为该工具的最核心使用,为探测网站web漏洞检测模块,支持SQL注入、XSS、命令执行、文件包含等通用漏洞的检测,初次使用可以用xray ws –h查看参数。
1.测试AWVS靶机网站http://testphp.vulnweb.com
.\xray_windows_amd64.exe ws --url http://testphp.vulnweb.com --html-output 1.html
2.配置代理
代理模式下的基本架构为,扫描器作为中间人,首先原样转发流量,并返回服务器响应给浏览器等客户端,通讯两端都认为自己直接与对方对话,同时记录该流量,然后修改参数并重新发送请求进行扫描。
当使用代理模式进行扫描,这里选择了使用谷歌浏览器的SwitchyOmega插件,在插件里配置HTTP的127.0.0.1:7777,即可与xray命令行模式下进行使用。
.\xray_windows_amd64.exe ws --listen 127.0.0.1:7777 --html-output testphp.html
扫出来的结果与1.html是一样的,只不过是输出的文件夹名称不一样。
二、子域名扫描
注:此功能只在高级版中提供。在配置文件中找到subadmain,里面的参数allow_recursion里面可以选择是否递归探测子域名,在max_recursion_depth参数里面设置递归深度,默认allow_recursion为false,可以根据实际情况修改参数值,这里使用baidu.com来探测测试。
.\xray_windows_amd64.exe sd baidu.com --text-output baudusubdomain.txt
爆破速度非常快的,30秒跑了487个二级域名,选择的ctrl+C暂停,任意挑选一个dmp.baidu.com,111.206.208.139去浏览器访问,确实存在,会跳转到 https://cdp.baidu.com/static/#/login。
修改配置文件参数测试
allow_recursion: true
max_recursion_depth: 3
命令:.\xray_windows_amd64.exe sd -t baidu.com --text-output baidusub3.txt
扫描速度真的很快,测试leads-preonline.baidu.com,180.101.212.155,证明页面存在。
比wydomain、subDomainsBrute等工具更实用,高级版的xray作为信息收集,推荐使用。
三、爬虫检测
.\xray_windows_amd64.exe ws --basic-crawler http://www.shsuna.com --html-output scan.html,效果一般,配合rad效果更好,详看xray与rad联动。
四、服务漏洞检测
Xray最常见的是web扫描,对服务扫描会逐渐开发它的检测能力,目前只有一个 tomcat-cve-2020-1938 ajp 协议任意文件检测 poc,参数配置目前比较简单,输入仅仅支持两种方式:
1.快速检测单个目标
.\xray_windows_amd64.exe servicescan --target 127.0.0.1:8009
2.批量检查的 test.file 中的目标, 一行一个目标,带端口(servicescan简写为ss)
.\xray_windows_amd64.exe ss --target-file test.file
其中 test.file 的格式为一个行一个 service,如
10.3.0.203:8009
127.0.0.1:8009
3.报告的输出仅支持json、webhook和html文件三种,不支持text。
4.总的语法:.\xray_windows_amd64.exe ss --target 127.0.0.1:8009 –json-output test.json
如果想扫edu.cn的就要把这里的去掉。
五、专项检测能力
高级版的xray支持struts、fastjson、thinkphp、shiro等框架的高危历史漏洞一键检测,本次测试在fofa上搜索springboot,对裸露在公网上的spring框架进行测试演示:
任选一个springboot系统进行测试,打开http://xxxx/login。
.\xray_windows_amd64.exe ws -u http://xxx/login --html-output xxx.html
可以发现该网站存在shiro漏洞,且密钥是fCq+/xW488hMTCD+cmJ3aQ==,工具继续测试
可见,shiro漏洞真实存在。
六、Xray联动
一、Xray与burp联动
Xray与burp联动,这也就是代理的代理,该配置该项配置仅对 http 代理本身生效,不对漏洞扫描发出的请求生效。假如启动 xray 时配置的 listen 为 127.0.0.1:1111,upstream_proxy 为 http://127.0.0.1:8080, 那么浏览器设置代理为 http://127.0.0.1:1111,整体数据流如下:
该配置仅影响代理本身,不会影响插件在漏洞探测时的发包行为,如果想代理漏洞探测的,请参照接:https://docs.xray.cool/#/configration/http。
下面开始演示:首先xray建立起webscan的监听,我浏览器与burpsuite的代理端口是8080。
.\xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output proxy.html
使用谷歌语法抽奖台湾一网站测试:https://www.citymark.com.tw/workdetail.php?ID=88
进入burpsuite,打开user options标签页,找到上游代理upstream proxy servers设置,点击Add添加上游代理以及作用域,Destination host可以使用*匹配多个任意字符串,?匹配单一任意字符串,而上游代理的地址则填写xray的监听地址。
Proxy intercept is off状态,然后在谷歌浏览器使用burp代理或者火狐浏览器的Foxyproxy。
https://wiki.wmtransfer.com/projects/webmoney/wiki/Installing_root_certificate_in_Mozilla_Firefox
在浏览器挂起8080的burp代理,就会将浏览器发到burpsuite的爬虫数据包传输到xray进行探测。
跑了大概10秒钟,发现两个漏洞,一个phpmyadmin后台路径泄露和时间盲注,下面检验:
python sqlmap.py -u "https://www.citymark.com.tw/indexDesignAjax.php?ID=58&rand=2101" -p ID --batch --technique B --random-agent --level 3 --risk 2 --dbs
可见phpmyadmin和sql注入存在,但经测试并非时间盲注,而是布尔盲注,上图为数据库信息,tw也是中国,所以没有进行下一步测试,只证明工具的可行性。
二、Xray与rad联动
Xray本身也可以进行爬虫测试,在 .\xray_windows_amd64.exe ws –h,可以查看帮助
但是xray社区针对爬虫出了一个rad工具更强,rad地址:https://github.com/chaitin/ra
下载后把rad的两个文件放在xray的同级目录下,本次使用rad_config.yml默认设置测测试
任意选取一个tw的web站点 http://www.fucotech.com.tw/
直接使用高级版的xray,执行爬虫+扫描命令,爬行速度非常快,让人感觉很踏实,即便是没有扫出任何敏感信息。
.\xray_windows_amd64.exe ws --browser-crawler http://www.fucotech.com.tw/ --html-output twtest.html
总结:由于篇幅有限,并没有对xray的高级用法进行详细讲解使用,需要进一步深入研究的同学可以参考xray官方文档深入研究(https://docs.xray.cool/#/README)。
两个主要工具:
Xray社区版:https://github.com/chaitin/xray
rad工具地址:https://github.com/chaitin/rad
特别声明:
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,我不为此承担任何责任。
作者有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者的允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。 切勿用于非法,仅供学习参考