Xray扫描器使用联动 burp,以及结合 fofa 批量自动化挖洞「建议收藏」

Xray扫描器使用联动 burp,以及结合 fofa 批量自动化挖洞「建议收藏」xray简介xray(https://github.com/chaitin/xray)是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器,支持主动、被动多种扫描方式,自备盲打平台、可以灵活定义POC,功能丰富,调用简单,支持Windows/macOS/Linux多种操作系统,可以满足广大安全从业者的自动化Web漏洞探测需求。特点xray为单文件二进制文件,无依赖,也无需安装,下载后直接使用使用go语言编写,跨平台、纯异步、无阻塞,并发能力强,扫描速度刚刚的提供多种使用

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

xray简介

xray (https://github.com/chaitin/xray) 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器,支持主动、被动多种扫描方式,自备盲打平台、可以灵活定义 POC,功能丰富,调用简单,支持 Windows / macOS / Linux 多种操作系统,可以满足广大安全从业者的自动化 Web 漏洞探测需求。

img

特点

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

使用

高级版激活

把激活 license 文件放到根目录即可

快速使用

扫描一个站点

 .\xray.exe webscan --basic-crawler http://www.ocean888.cn/ --html-output xray-crawler-testphp.html
 

PS D:\悬剑单兵武器工具包\综合扫描\xray> .\xray.exe webscan --basic-crawler http://www.ocean888.cn/ --html-output xray-crawler-testphp.html

____  ___.________.    ____.   _____.___.
\   \/  /\_   __   \  /  _  \  \__  |   |
 \     /  |    _  _/ /  /_\  \  /   |   |
 /     \  |    |   \/    |    \ \____   |
\___/\  \ |____|   /\____|_   / / _____/
      \_/       \_/        \_/  \/

Version: 1.7.1/f725e41e/COMMUNITY-ADVANCED
Licensed to 翻滚吧蛋炒饭, license is valid until 2021-09-04 08:00:00

[INFO] 2021-04-01 21:12:29 [default:entry.go:198] Loading config file from config.yaml
[INFO] 2021-04-01 21:12:30 [basic-crawler:basic_crawler.go:138] allowed domains: [www.ocean888.cn *.www.ocean888.cn]
[INFO] 2021-04-01 21:12:30 [basic-crawler:basic_crawler.go:139] disallowed domains: [*google* *github* *.gov.cn *.edu.cn *chaitin* *.xray.cool]

linux 简单化命令替换

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

扫描输出

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

./xray webscan --url http://example.com/ --json-output report.json
  • 无参数:输出到控制台的标准输出
  • –text-output:输出到文本文件中
  • –json-output:输出到 JSON 文件中
  • –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证书”。

➜ lsca.crt ca.key config.yaml xray

帮助文档

[root@izbp1i7e0dqxcb89vkdgc3z xray]# ./xray_linux_amd64 webscan -h

____  ___.________.    ____.   _____.___.
\   \/  /\_   __   \  /  _  \  \__  |   |
 \     /  |    _  _/ /  /_\  \  /   |   |
 /     \  |    |   \/    |    \ \____   |
\___/\  \ |____|   /\____|_   / / _____/
      \_/       \_/        \_/  \/

Version: 1.7.1/f725e41e/COMMUNITY-ADVANCED
Licensed to 翻滚吧蛋炒饭, license is valid until 2021-09-04 08:00:00

NAME:
    webscan - Run a webscan task

USAGE:
    webscan [command options] [arguments...]

OPTIONS:
   --list, -l                                     list plugins
   --plugins value, --plugin value, --plug value  specify the plugins to run, separated by ','
   --poc value, -p value                          specify the poc to run, separated by ','

   --listen value                                 use proxy resource collector, value is proxy addr, (example: 127.0.0.1:1111)
   --basic-crawler value, --basic value           use a basic spider to crawl the target and scan the requests
   --browser-crawler value, --browser value       use a browser spider to crawl the target and scan the requests
   --url-file value, --uf value                   read urls from a local file and scan these urls, one url per line
   --burp-file value, --bf value                  read requests from burpsuite exported file as targets
   --url value, -u value                          scan a **single** url
   --data value, -d value                         data string to be sent through POST (e.g. 'username=admin')
   --raw-request FILE, --rr FILE                  load http raw request from a FILE
   --force-ssl, --fs                              force usage of SSL/HTTPS for raw-request

   --json-output FILE, --jo FILE                  output xray results to FILE in json format
   --html-output FILE, --ho FILE                  output xray result to FILE in HTML format
   --webhook-output value, --wo value             post xray result to url in json format

高级姿势

指定扫描插件

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

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

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

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 等位置的参数
…

只扫描一个 URL

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

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

反连平台

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

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

自定义 POC

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

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

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

name: poc-yaml-tomcat_put`
`rules:`
`- method: PUTpath: /hello.jsp`
`body: world`
`- method: GET`
`path: /hello.jsp`
`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/

结合搜索引擎批量扫描

将 fofa、shodan 的结果放到 xray_url.txt 文档中

image-20210401230702864

运行脚本

# python3 bat.py

import os
import hashlib
import re

# 扫描
def get_url():
    f = open("xray_url.txt")
    lines = f.readlines()
    # 匹配http | https请求头
    pattern = re.compile(r'^(https|http)://')
    for line in lines:
        try:
            if not pattern.match(line.strip()):
                targeturl="http://"+line.strip()
            else:
                targeturl=line.strip()
            # print(targeturl.strip())
            outputfilename=hashlib.md5(targeturl.encode("utf-8"))
            do_scan(targeturl.strip(), outputfilename.hexdigest())
        except Exception as e:
            print(e)
            pass
    f.close()
    print("Xray Scan End~")
    return

# 报告
def do_scan(targeturl,outputfilename="test"):
    scan_command="./xray_linux_amd64 webscan --basic-crawler {} --html-output ./result/{}.html".format(targeturl,outputfilename)
    # scan_command = "ping 943ogg.dnslog.cn"
    # print(scan_command)
    os.system(scan_command)
    return

if __name__ == '__main__':
    get_url()

扫描完毕会自动生成文档,保存至 result 文件夹下

没有发现漏洞,不会生成报告

nohup 命令保证程序在退出 ssh 后继续运行 nohup python3 bat.py,并将程序日志输出到 nohup.out 文件中

# tail nohup.out

退出程序使用

ps -aux 找到对应 python bat.py 的 pid

使用命令 kill -9 对应 pid

从云服务器上打包下载

tar 
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName

与burp联动

浏览器开启代理

image-20210414200453048

xray 使用 监听模式

PS D:\悬剑单兵武器工具包\综合扫描\xray> .\xray.exe webscan --listen 127.0.0.1:8080

image-20210414200531022

浏览器访问什么网站 xray 就扫

也可以在中间加一个 burp

设置burp

image-20210414201049743

注意:浏览器代理到 burp,burp 再将数据发给 xray

image-20210414201307363

参考文章:

https://www.anquanke.com/post/id/184204#h3-10

解除限制

初始化完会出现config.yaml的配置文件

xray默认是不扫描edu.cn的,想挖教育src的需要手动更改

图片

image-20210504133405799

一共有两处,直接删除就可以

fofa+xray

爬下来的所有补天的列表文件:butian.xlsx,大部分的站点是有权重的站点,去除gov站点,并把域名放到单独的xlsx文件中,利用excel的功能生成fofa查询语句

image-20210427172510732

利用fofa收集工具,批量收集数据

image-20210427172354926

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webmin纯web界面管理linux系统「建议收藏」

    webmin纯web界面管理linux系统「建议收藏」关键字:摘要:从Windows环境的管理转到Linux环境的管理时所面临的挑战之一是,您需要去学习利用新的工具。作为一个管理员,您希望理解操作系统的细节以发挥它的最大功效。但是,当您还处在学习阶段时

    2022年8月5日
  • 2w元教学课程,免费分享,教你搞定selenium自动化框架封装!

    2w元教学课程,免费分享,教你搞定selenium自动化框架封装!

    2021年7月14日
  • 可视化报表开发_可视化数据报表

    可视化报表开发_可视化数据报表当今时代,传统的报表工具已经很难满足人们对于数据可视化的期望了,而大数据处理工具却可以为人们提供了更多的选择。微金时代的RDP报表工具操作简便,可直接上手使用,无需编码,就可以制作各种复杂、炫酷的报表。RDP报表工具表格式报表功能和亮点根据中国特色的报表需求,研发出的轻量级的企业级Web报表工具。仅需简单拖拽式配置,即可制作出各种复杂、炫酷的报表。支持中国式复杂报表的处理,例如:Excel清单报表、交叉报表、分组报表、多源分片式报表、分块报表、表单报表、图形报表、回写报表、假设分析报表、二次.

    2022年10月2日
  • mvc3_bootstrap和数据库交互

    mvc3_bootstrap和数据库交互对于MVC的编程,主要应该先了解M(模型)-V(视图)-C(控制器)的相关概念,并进而理解相关的框架类别及操作方法.

    2022年9月29日
  • Lamp架构_10个人公司的架构图

    Lamp架构_10个人公司的架构图一:LAMP架构简介LAMP是目前成熟的一种企业网站应用模式之一,指的是协同工作的一套系统和相关软件的整合,可提供PHP动态web站点应用及开发环境,LAMP经过十年的完善各个组件间的兼容性,协作能力,稳定等方面也不断增强(注:Apache服务是一个静态网站,它里面的测试页都是以HTML的格式结尾,以HTML写出的网站都是静态的,没有什么功能,没有办法去关联后台的数据库,所以说他只能做一个展示的页面,LAMP构建出来就是一个动态网页的一个后台,PHP是一种动态网站开发语言,…

    2022年10月16日
  • spring的aop注解(java自定义注解)

    这个AOP使用分享里,结合用到的还有自定义注解做切点、环绕增强拦截方法、请求参的截取。我们先了解下AOP,已经知道的,直接往后拖。AOP,面向切面编程。OOP,面向对象编程。个人鄙见:在OOP模式编程的时候,有时候很多的对象都需要添加一些公共的行为的时候,也许你会想到继承啊、提抽象啊、实现接口啊等等。没错,这是给很多对象添加公共行为的一个表现,其实就是多态嘛。但是这种…

    2022年4月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号