长亭xray

下载地址:

特色

  • 使用 go 语言编写,跨平台、纯异步、无阻塞,并发能力强,扫描速度刚刚的
  • 提供多种使用方式,调用姿势方便,输入输出非常标准化,极具可集成性
  • 使用 YAML 配置文件非常方便地定义 POC,可以快速扩展扫描能力
  • 全程使用无害 POC 进行探测,在确保能发现漏洞的基础上不会给业务带来严重影响,非常适用于企业内部安全建设
  • 命令行式的免费被动扫描工具,不多见
  • 自备盲打平台,可检测需要反连才能触发的漏洞,如:存储型 XSS、无回显的 SSRF、XXE、命令注入等
  • 更新速度快,用着不爽可以在 github 提需求,很快就能解决(我试过了,是真的)

适用人群

  • 白帽子。挖 SRC 必备,打开浏览器挂上代理,然后上网冲浪等漏洞就对了,还不够的话就把代理给你爸妈、给你妹子、给你家猫都挂上
  • 甲方安全建设者。工具在手,天下我有,细粒度配置,高精度扫描,可作为定期巡检、常规扫描的辅助神器
  • 乙方工具开发者。在编写渗透框架或者漏洞扫描框架时,作为扫描探针进行集成,简直是大平台中的小尖刀

快速使用

最简单的方式是直接调用,扫描一个指定的站点,如:

./xray webscan --basic-crawler http://example.com/
 
 

这可能是最简单最常用的一个功能,就是太长了,体验不太友好,建议常用的同学可以

alias xray="/path/xray webscan --basic-crawler"
 
 

指定扫描输出

不指定输出时,默认输出到控制台的标准输出中,可以做管道处理,也可以选择输出为文件,如:

./xray webscan --url http://example.com/ --json-output report.json
 
 

不同参数对应不同的输出方式:


 
 
  1. 无参数:输出到控制台的标准输出
  2. -- `text-output`:输出到文本文件中
  3. -- `json-output`:输出到 JSON 文件中
  4. -- `html-output`:输出到 HTML 文件中

基于代理的被动扫描

xray 可以通过类似 Burp 的方式启动,利用 HTTP 代理来抓包扫描,如:

./xray webscan --listen 127.0.0.1:7777
 
 

如果运行没报任何错就可以设置浏览器 HTTP 代理为 127.0.0.1:7777 了,关于如何设置浏览器代理,请打开百度搜索 “浏览器设置代理”。

代理设置 OK 以后就可以启动代理扫描了,这时候我们打来浏览器尽情冲浪吧,理论上我们的鼠标点到哪 xray 就能扫到哪。

需要注意一下的是,很多时候还会扫到 HTTPS 站点,可能会因为有代理而导致无法访问,或者需要手动确认安全风险。这时候需要我们导入 xray 运行目录下的ca.crt证书,关于如何导入 CA 证书,请打开百度搜索 “安装CA证书”。


 
 
  1. ls
  2. ca .crt ca .key config .yaml xray

高级姿势

指定扫描插件

使用 --plugins 参数可以选择仅启用部分扫描插件,多个插件之间可使用逗号分隔,如:

./xray webscan --plugins cmd_injection --url http://example.com/
 
 

目前提供的插件列表如下:


 
 
  1. SQL 注入检测 ( key: sqldet): 支持报错注入、布尔注入和时间盲注等
  2. XSS 检测( key: xss): 支持扫描反射型、存储型 XSS
  3. 命令/代码注入检测 ( key: cmd_injection): 支持 shell 命令注入、 PHP 代码执行、模板注入等
  4. 目录枚举 ( key: dirscan): 检测备份文件、临时文件、 debug 页面、配置文件等 10余类敏感路径和文件
  5. 路径穿越检测 ( key: path_traversal): 支持常见平台和编码
  6. XML 实体注入检测 ( key: xxe): 支持有回显和反连平台检测
  7. POC 管理 ( key: phantasm): 默认内置部分常用的 POC,用户可以根据需要自行构建 POC 并运行。可参考: POC 编写文档( https: //chaitin.github.io/xray/#/guide/poc)
  8. 文件上传检测 ( key: upload): 支持检测常见的后端服务器语言的上传漏洞
  9. 弱口令检测 ( key: brute_force): 支持检测 HTTP 基础认证和简易表单弱口令,内置常见用户名和密码字典
  10. JSONP 检测 ( key: jsonp): 检测包含敏感信息可以被跨域读取的 jsonp 接口
  11. SSRF 检测 ( key: ssrf): ssrf 检测模块,支持常见的绕过技术和反连平台检测
  12. 基线检查 ( key: baseline): 检测低 SSL 版本、缺失的或错误添加的 http 头等
  13. 任意跳转检测 ( key: redirect): 支持 HTML meta 跳转、 30x 跳转等
  14. CRLF 注入 ( key: crlf_injection): 检测 HTTP 头注入,支持 querybody 等位置的参数

只扫描一个 URL

xray 还提供了方便的只扫描一个 URL 的方式,如:

./xray webscan --url http://example.com/ --json-output out.json
 
 

配置文件

xray 还提供了友好配置文件,可以方便地将常用的命令行参数写到配置文件中,避免了每次都要输入一大串参数的痛苦。

xray 默认会读取运行目录下的 config.yaml 文件作为配置危机,也可以使用 —config 参数指定其他配置文件。

关于命令行的详细配置可以参考 xray 官方文档((https://chaitin.github.io/xray/#/guide/config)。

反连平台

xray 在运行时会自动启动反连平台来辅助盲打扫描,可以在配置文件中修改反连平台的配置。目前支持 http 和 dns 两种反连机制,当服务端触发 payload 时 xray 会根据反连平台的状态判断漏洞是否存在。

dns 反连需要启用 root 权限监听 53 端口,并且将域名的 ns 记录指向反连平台的监听地址

自定义 POC

xray 支持用户使用 YAML 编写 POC。YAML 是 JSON 的超集,也就是说我们甚至可以用 JSON 编写 POC,但这里还是建议大家使用 YAML 来编写,原因如下:


 
 
  1. YAML 格式的 “值” 无需使用双引号包裹,特殊字符无需转义
  2. YAML 格式使内容更加可读
  3. YAML 中可以使用注释

我们可以编写以下的 yaml 来测试 tomcat put 上传任意文件漏洞:


 
 
  1. name: poc-yaml-tomcat_put
  2. rules:
  3. - method: PUT
  4. path: /hello.jsp
  5. body: world
  6. - method: GET
  7. path: /hello.jsp
  8. search: world

这里还要感谢 phith0n 贡献的 xray PoC 生成器 (https://phith0n.github.io/xray-poc-generation/) ,虽然丑陋,但不失文雅。

将 POC 保存到 YAML 文件后使用 --poc参数可以方便地调用,如:

./xray webscan --plugins phantasm --poc /home/test/poc.yaml --url http://example.com/
 
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值