xray 漏洞扫描利器 使用教程

xray目前支持检测的漏洞:

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)
XStream 系列漏洞检测 (key: xstream)
POC 框架 (key: phantasm)

基本使用

初始化

xray属于命令行执行的工具,并未提供图形化界面。所以,在我们下载好程序之后,将其解压到一个目录,然后通过cmd或者powershell进入这个目录

在正式运行之前,我们需要执行一次命令,用于初始化配置文件:

执行完成之后,回到目录就能发现先他有了最初的配置文件

在修改配置文件的情况下,我们就已经能够简单的使用xray来扫描一部分的网站了。

xray存在两种运行方式:

  1. 主动扫描
  2. 被动扫描
主动扫描

主动扫描类似于SQLmap工具,用户通过指令设置需要扫描的功能、提供需要扫描的目标、设定结果保存的格式即可完成一次攻击

xray_windows_amd64.exe ws --url "http://testphp.vulnweb.com" --html-output 1.html

我们在cmd中执行命令之后,xray就会列出可攻击的poc和会测试的点:

当探测到漏洞之后,会在终端以红色内容来输出漏洞信息:

比如上面就发现了目标站点存在 .idea配置文件信息泄露漏洞,此时我们就可以通过它同的poc去验证这个漏洞是否真实存在:

通过在终端里面看,并不是非常的方便,当xray扫描完成之后,xray会根据用户设定的保存格式,将所有检测到的漏洞都输出到对应的文件里面,比如我们在最开始使用的 —html-output 指令,就是让xray将结果以html形式输出:

这样我们就可以通过访问这个文件来获取漏洞的详细信息

然后我们就可以通过这样在网页上查看到它具体的漏洞信息。在xray的返回结果里面,有两个比较重要的字段:target和 pluginname/vulntype
target : 保存了存在漏洞的url地址
pluginname/vulntype: 则记录了url中存在的漏洞。
当然,这个知识记录了简单的信息。当我们想要看某个漏洞的具体细节时:可以通过点击 ID 列前面的加号,来展开这个漏洞:

然后就可以查看到对应漏洞的细节:URL、payload和请求包。

通过这个演示之后,我想大家应该都掌握了xray的基本用法,接下来就是去查看他的一些具体的功能和使用参数了。
xray_windows_amd64.exe -h 查看xray的帮助信息:

在我当前使用的这个xray工具,能够实现一下攻击:

webscan      ws    web扫描任务
servicescan  ss    服务扫描
subdomain    sd    子域名扫描
poclint      pl,lint  检测poc的规范情况
burp-gamma   btg   将bp的poc转换成xray的poc格式
transform          将其他与语言的脚本转化成gamma脚本
reverse            运行独立的反向连接服务器
convert            扫描结果之间的转换(html -> json, json -> html)
genca              初始化ca证书
upgrade            更新xray
version            版本信息
x                  查看说有poc的可用性

对于安全测试人员来说,主要使用的是webscan、servicescansubdomain

webscan

xray_windows_amd64.exe ws -h 通过这条命令,就可以查看到当前webscan的帮助信息:

--list    -l                           列出所有的plugin
--plugins value, --plugin value        检测指定的plugin
--poc value, -p value                  检测指定的poc
--level value                          指定poc的危害等级,只使用某个级别的poc(low,medium,high,critical),需要要使用多个级别时,用逗号分隔
--tags value                           指定运行某个标签的poc
--listen value                         监听一个地址,进行被动扫描
--basic-crawler value, --basic value   爬虫模式扫描,自动探测网站的所有url连接,并且进行扫描
--url-file value, -uf value            从文件中读取url,并对这些url进行测试
--burp-file value, --bf value          读取bp的请求包,进行测试
--url value, -u value                  指定单条url进行测试
--data value, -d value                 指定测试post传参点(username=admin)
--raw-request file, --rr file          加载原生http请求
--force-ssl, --fs                      配置访问https网站
--json-output file, --jo file          以json格式保存扫描结果
--html-output file, --ho file          以html格式保存扫描结果
--webhook-output value, --wo value     根据xray的格式保存结果

列出所有可用的plugin

xray_windows_amd64.exe ws -l 列出所有的可用plugin

指定plugin模块

xray_windows_amd64.exe ws --plugins xss,dirscan -u "http://testphp.vulnweb.com" --ho 2.html指定扫描模块进行扫描

指定poc进行扫描

xray_windows_amd64.exe ws --poc poc-yaml-manageengine-servicedesk-cve-2017-11512-lfi -u "http://testphp.vulnweb.com" --ho 5.html 指定poc进行扫描,需要将poc写在xray的可执行目录下

使用网页爬虫进行漏洞测试

xray_windows_amd64.exe ws --basic-crawler "http://testphp.vulnweb.com" --ho 6.html 使用网页爬虫,爬取网站上所有的链接,并将链接加入到测试队列中

在使用爬虫模式时,只能对单个url链接进行爬虫模式扫描

批量网站扫描

xray_windows_amd64.exe ws --uf target.txt --ho 5.html 将目标站点放入文件中,实现批量目标扫描

在实际工作中,可以通过选择一种扫描方式,然后利用 —poc和—plugins的组合,来控制扫描使用的poc

servicescan

xray 中最常见的是 web 扫描,但是 xray 将会逐渐开放服务扫描的相关能力,目前主要是服务扫描相关的 poc。同样的,通过一个案例来进行演示:

很显然,内置的 servicescan的poc相对来说量还是有点少的,不过也有肯能是我的操作不对,那就查看一手帮助信息:

xray_windows_amd64.exe ss -h 查看帮助信息

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 输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值