XRAY~漏洞扫描工具

有人说:“所有的漏扫工具都是人写出来的,既然是工具,肯定没有人厉害,但是,漏扫可以大大减少你的工作量”

4、⭐ XRAY

xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:

  • 检测速度快。发包速度快; 漏洞检测算法效率高。
  • 支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。
  • 代码质量高。编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码可靠性。
  • 高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可以客制化功能。
  • 安全无威胁。xray 定位为一款安全辅助评估工具,而不是攻击工具,内置的所有 payload 和 poc均为无害化检查。

下载:https://github.com/chaitin/xray

官方使用文档:https://docs.xray.cool/Introduction#/README

在这里插入图片描述

4.1 生成ca证书

# 这里本机显示已经安装
.\xray.exe genca

image-20240819150635511

会生成ca.key,ca.crt两个文件

计算机安装证书:
双击ca.crt --> 安装证书 --> 当前用户 --> 证书存储(浏览) --> 受信任的根证书办法机构 --> 完成
浏览器安装证书:

4.2 ⭐被动扫描(Passive scanning)

# 代理模式扫描
xray.exe webscan --listen 127.0.0.1:7777 --html-output sis1.html

image-20240819145602658

浏览器设置代理:

image-20240819145529400

测试网站:http://testphp.vulnweb.com/

image-20240819145507114

在根目录下寻找刚才命名的报告即可

image-20240819150757531

4.3 ⭐主动扫描(Active scanning)

xray.exe webscan --basic-crawler http://testphp.vulnweb.com/ --html-output sis2.html

image-20240819150555473

4.4 ⭐登录后的网站扫描

如果用的是代理模式,只要浏览器是登录状态,那么漏洞扫描收到的请求也都是登录状态的请求。但对于普通爬虫而言,就没有这么“自动化”了, 但是可以通过配置 Cookie 的方式实现登录后的扫描。

打开配置文件,修改 http 配置部分的 Headers 项:
http:
 headers:
  Cookie: key=value

4.5 服务扫描

参数配置目前比较简单,支持单个扫描与批量扫描:

# 快速检测单个目标
./xray servicescan --target 127.0.0.1:8009

# 批量检查的 1.txt 中的目标, 一行一个目标,带端口
./xray servicescan --target-file test.txt
#其中 test.txt 的格式为一个行一个 service,如:
10.3.0.203:8009
127.0.0.1:8009

# 将结果输出到报告中,支持多种格式:
./xray servicescan --target 127.0.0.1:8009 --html-output service.html
./xray servicescan --target-file test.file --html-output service.html

# 将检测结果输出到 json 文件中
./xray servicescan --target 127.0.0.1:8099 --json-output service.json

4.6 COMMANDS

命令说明
webscanxray核心功能,用来发现探测web漏洞
servicescan服务扫描功能 用来探测服务漏洞
poclint检测poc是否符合规范
reverse启动单独的盲打平台服务
genca用于快速生成一个根证书,主要用于被动代理扫描HTTPS流量时用到
upgrade检查新版本并自动升级
version版本信息
help显示命令列表或一个命令的帮助
subdomain子域名扫描 高级本才有命令

4.7 subdomain (慎用)

扫描 baidu.com,并将结果输出到 baidu.txt

xray.exe subdomain --target baidu.com --text-output baidu.txt

4.8 ⭐自己指定插件扫描 webscan

扫描插件

–plugins: 指定要运行的插件,使用,分隔:

--plugins xss
--plugins xss,sqldet,phantasm

https://docs.xray.cool/Introduction#/configration/plugins详细使用文档

–poc:配置本次扫描启用哪些POC,使用,分隔:

# 只加载一个 POC, 精准匹配
--plugins phantasm --poc poc-yaml-thinkphp5-controller-rce
# 加载内置的所有带 `thinkphp` 的 POC
--plugins phantasm --poc "*thinkphp*"
# 加载本地 `/home/test/pocs/` 目录所有的 POC:
--plugins phantasm --poc "/home/test/pocs/*"
# 加载 `/home/test/pocs/` 下包含 thinkphp 的 POC
--plugins phantasm --poc "/home/test/pocs/*thinkphp*"
输入来源
--listen: 启动一个被动代理服务器作为输入,如 --listen 127.0.0.1:7777
--basic-crawler: 启用一个基础爬虫作为输入, 如 --basic-crawler http://example.com
--url-file: 批量从文件中读取URL
--url: 用于快速测试单个URL,不带爬虫,默认为GET请求
--data:指定 data,同时变为POST请求
--raw-request: 加载一个原始的 HTTP 请求并用于扫描,类似于sqlmap -r
输出格式
--json-output: 将结果输出到一个 json 文件中,输出是JSON格式的结构化数据
--html-output: 将结果输出为 html 报告
--webhook-output: 将结果发送到一个地址,输出是JSON格式的结构化数据,需要自己搭建一个Web服务器,接收到xray发送的漏洞信息
组合使用

将上面说的一些结合起来使用,就可以满足多种场景下的使用需求了:

# 使用xss模块 启用1111端口的代理服务器进行web漏洞扫描,输出漏洞报告到1.html中
./xray.exe webscan --plugins xss --listen 127.0.0.1:1111 --html-output 1.html

# 将日志级别设置为debug 然后使用xss和命令执行插件 使用内置的爬虫来扫描,输出漏洞报告到1.json中
./xray.exe --log_level debug webscan --plugins xss,cmd_injection --basic-crawler http://example.com --json-output 1.json

# 对目标资产进行POST方式漏洞检测,data为 x=y 并输出漏洞报告到1.json中
./xray.exe webscan --url http://example.com --data "username=admin&passwd=123456" --html-output 2.html --json-output 1.json

# 对目标资产进行单个URL检测,报告输出到指定的接受服务器中
./xray.exe webscan --url http://example.com/ --webhook-output http://host:port/path

4.9 ⭐ xray 与 Burpsuite 联动

# 参考
https://docs.xray.cool/tools/xray/advanced/burp

首先 xray 建立起 webscan 的监听:

xray.exe webscan --listen 127.0.0.1:7777 --html-output xx.html

进入 Burp 后,打开 NetWork->Connections 标签页,然后找到 Upstream Proxy Servers 设置。点击 Add 添加上游代理以及作用域,Destination host处可以使用*匹配多个任意字符串,?匹配单一任意字符串,而上游代理的地址则填写 xray 的监听地址。
image-20240819105659999
接下来 BP 正常抓包,与此同时 BP 也会将我们截取到的一些流量包发到 xray 中进行漏洞检测。
image-20240819160046630

4.10 ⭐ xray 与 AWVS 联动

# 参考
https://docs.xray.cool/tools/xray/advanced/awvs

首先 xray 建立起 websc
an 的监听:
如果你的AWVS不是安装在物理机上话,那么你的xray应该填写你AWVS可以访问的地址;

./xray.exe webscan --listen 192.168.0.20:7777 --html-output awvs.html //本机
ip,不要填127.0.0.1

登入管理页后,点击 Targets, 然后点击 Add Target 添加扫描目标:
测试靶场:http://testphp.vulnweb.com/

image-20240819110257388

下滑到HTTP部分,填写Proxy Server为对应的xray代理:image-20240819110313311

扫描类型,仅爬取:image-20240819110328689

此时 AWVS 的爬虫会把请求都转发给 xray 检测漏洞了,此时awvs.html里面就躺好了漏洞:image-20240819110344113

4.11 ⭐ xray 和 rad连用

xray.exe webscan --listen 127.0.0.1:8888 --html-output xiehe.html
rad.exe -t http://testphp.vulnweb.com --http-proxy 127.0.0.1:8888

image-20240819161117308

image-20240819161139636

好小子,离成功又近一步!!!

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 并运行。 设计理念 发最少的包做效果最好的探测。 如果一个请求可以确信漏洞存在,那就发一个请求。如果两种漏洞环境可以用同一个 payload 探测出来,那就 不要拆成两个。 允许一定程度上的误报来换取扫描速度的提升 漏洞检测工具无法面面俱到,在漏报和误报的选择上必然要选择误报。如果在使用中发现误报比较严重,可以进行反馈。 尽量不用时间盲注等机制检测漏洞。 时间检测受影响因素太多且不可控,而且可能会影响其他插件的运行。因此除非必要(如 sql)请尽量使用与时间无关的 payload。 尽量不使用盲打平台 如果一个漏洞能用回显检测就用回显检测,因为盲打平台增加了漏洞检测过程的不确定性和复杂性。 耗时操作谨慎处理 全局使用 Context 做管理,不会因为某个请求而导致全局卡死。 简易架构 了解 xray 的整体架构可以更好的理解 cli 和配置文件的设置,方便大家更好的使用。 整体来看,扫描器这类工具大致都是由三部分组成: 来源处理 漏洞检测 结果输出 来源处理 这一部分的功能是整个漏洞检测的入口,在 xray 中我们定义了四个入口,分别是 HTTP 被动代理 简易爬虫 单个 URL URL列表的文件 单个原始 HTTP 请求文件 漏洞检测 这一部分是引擎的核心功能,用于处理前面 来源处理 部分产生的标准化的请求。用户可以针对性的启用插件,配置扫描插件的参数,配置 HTTP 相关参数等。 结果输出 漏洞扫描和运行时的状态统称为结果输出,xray 定义了如下几种输出方式: Stdout (屏幕输出, 默认开启) JSON 文件输出 HTML 报告输出 Webhook 输出 使用教程见: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 并运行。 设计理念 发最少的包做效果最好的探测。 如果一个请求可以确信漏洞存在,那就发一个请求。如果两种漏洞环境可以用同一个 payload 探测出来,那就 不要拆成两个。 允许一定程度上的误报来换取扫描速度的提升 漏洞检测工具无法面面俱到,在漏报和误报的选择上必然要选择误报。如果在使用中发现误报比较严重,可以进行反馈。 尽量不用时间盲注等机制检测漏洞。 时间检测受影响因素太多且不可控,而且可能会影响其他插件的运行。因此除非必要(如 sql)请尽量使用与时间无关的 payload。 尽量不使用盲打平台 如果一个漏洞能用回显检测就用回显检测,因为盲打平台增加了漏洞检测过程的不确定性和复杂性。 耗时操作谨慎处理 全局使用 Context 做管理,不会因为某个请求而导致全局卡死。 简易架构 了解 xray 的整体架构可以更好的理解 cli 和配置文件的设置,方便大家更好的使用。 整体来看,扫描器这类工具大致都是由三部分组成: 来源处理 漏洞检测 结果输出 来源处理 这一部分的功能是整个漏洞检测的入口,在 xray 中我们定义了四个入口,分别是 HTTP 被动代理 简易爬虫 单个 URL URL列表的文件 单个原始 HTTP 请求文件 漏洞检测 这一部分是引擎的核心功能,用于处理前面 来源处理 部分产生的标准化的请求。用户可以针对性的启用插件,配置扫描插件的参数,配置 HTTP 相关参数等。 结果输出 漏洞扫描和运行时的状态统称为结果输出,xray 定义了如下几种输出方式: Stdout (屏幕输出, 默认开启) JSON 文件输出 HTML 报告输出 Webhook 输出
目前,Xray只有命令行版本,并且需要通过config.yaml配置文件来启动。对于新手来说,可能不太容易上手。但是根据引用的信息,Xray正在规划中开发一款真正完善的GUI版本的工具,称为XrayPro。所以,我们可以期待将来会有一个图形化的Xray漏洞扫描工具可用。另外,引用提到了Full-Scanner,它是一个多功能扫描工具,支持被动和主动信息收集,还可以与漏洞扫描工具联动,并且可以导入POC和EXP。所以,如果你需要一个图形化的漏洞扫描工具,可以考虑使用Full-Scanner。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [神兵利器 | Xray图形化漏洞扫描工具v1.6](https://blog.csdn.net/qq_34839026/article/details/130397849)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Full-Scanner是一个多功能扫描工具,支持被动/主动信息收集,漏洞扫描工具联动,可导入POC和EXP](https://blog.csdn.net/qq_41860876/article/details/130907259)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值