Xray-反连平台搭建

N 人看过

一、简介

xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:
检测速度快。 发包速度快; 漏洞检测算法高效。
支持范围广。 大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。

代码质量高。 编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码可靠性。
高级可定制。 通过配置文件暴露了引擎的各种参数,通过修改配置文件可以极大的客制化功能。
安全无威胁。 xray 定位为一款安全辅助评估工具,而不是攻击工具,内置的所有 payload 和 poc 均为无害化检查。

二、下载安装

参考:Repo: https://docs.xray.cool/#/tutorial/prepare
安装:
Github: https://github.com/chaitin/xray/releases (国外速度快)
网盘: https://yunpan.360.cn/surl_y3Gu6cugi8u (国内速度快)

三、反连平台搭建

3.1 前期准备

1、需要一个可以自定义DNS host的域名,example.com。
2、需要一个可以运行xray的服务器 106.52.X.X。

3.2 VPS配置

1、放通端口UDP 53、TCP 8001

3.3 域名配置

1、解析记录配置
增加ns1、ns2的A记录(ns1/2可以是别的名称,可自定义),其记录值为VPS的公网地址。
在这里插入图片描述

2、自定义DNS host
上述3.3.1 A记录值即为DNS服务器的解析设置,自定义DNS才能收到DNSlog的解析请求。配置如下:
在这里插入图片描述

3、 DNS 修改
创建自定义的DNShost 之后将Dns修改为自定义的DNS服务器。
在这里插入图片描述

3.4 Xray 配置

1、生成配置文件config.yaml,修改配置,没有的就加上

reverse:
  db_file_path: "reverse.db"   # 反连平台数据库文件位置, 这是一个 KV 数据库
  token: "你的密码" # 反连平台认证的 Token, 独立部署时不能为空
  http:
    enabled: true
    listen_ip: 0.0.0.0 
    listen_port: "8001"
    ip_header: ""                       
  dns:
    enabled: true
    listen_ip: 0.0.0.0 
    domain: "example.com"  # DNS 域名配置
    is_domain_name_server: false    
    resolve:                            # DNS 静态解析规则
    - type: A                           # A, AAAA, TXT 三种
      record: ns1
      value: 106.52.X.X
      ttl: 60
    - type: A                           # A, AAAA, TXT 三种
      record: ns2
      value: 106.52.X.X
      ttl: 60

2、执行命令:Xray.exe reverse

四、踩坑总结

1、防火墙开放端口一定得是UDP 不是TCP,安全组新增默认的是TCP。
2、Xray 的反连平台相当于是C/S构造的,默认配置文件config.yaml里就已经包含了DNS A记录值,不用新建DNS服务器。

五、Fastjson漏洞测试

1、搭建环境:

下载文件:https://github.com/vulhub/vulhub/blob/master/fastjson/1.2.24-rce/docker-compose.yml

启动:[root@localhost fastjson]# docker-compose up -d

2、xray客户端配置如下

image.png

3、漏洞验证

Burpsuite开启代理抓包,并开启流量转发至127.0.0.1:7001

xray.exe webscan --listen 127.0.0.1:7001 --html-output 22222.html

查看扫描结果,存在反序列化漏洞,不过有意思的是xray的POC进行了Unicode编码以及hex编码,不过服务端还能识别,确实没想到,一定程度上可以绕过防护。\x 代表空格,hex 编码的40表示@,2E表示一个点,4A表示大写J,其余如下图所示
image.png
image.png

image.png

查看DNSlog平台,存在RMI记录,RMI测试需要结合的是IP+PORT格式的payload,如上图payload所示,如果用域名测试,需要换为LDAP。

image.png

在这里插入图片描述

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。