跳到主要内容

xray

xray扫描配置

社区版

xray开启监听:./xray webscan --listen 127.0.0.1:7777 --html-output report__datetime__.html

运行以下rad+xray.py脚本

#!/usr/bin/python3
# coding: utf-8
import subprocess
import platform
import os
import time

def main(data1):
target = data1
print(target + " Start Crawling")
cmd = ["./rad","-t",target,"--auto-index", "--http-proxy", "127.0.0.1:7777", "--no-banner"]
try:
output = subprocess.check_output(cmd, timeout=3600)
print(output.decode("utf-8"))
except Exception as e:
#print(e)
return

if __name__=='__main__':
sysstr = platform.system()
file = open("url.txt")
for text in file.readlines():
data1=text.strip('\n')
main(data1)
print(data1 + " Finish")
time.sleep(10)
#清除多余浏览器进程
try:
if(sysstr =="Windows"):
os.system("taskkill /f /IM chrome*")
elif(sysstr =="Linux"):
os.system("ps aux | awk '/chrome/ { print $2 } ' | xargs kill -9")
except:
pass

高级版

xray:https://github.com/chaitin/xray/releases/

rad:https://github.com/chaitin/rad/releases/

将目标一行行放到url.txt中,运行以下rad+xray.py主动批量扫描脚本

#!/usr/bin/python3
# coding: utf-8
import subprocess

def main(data1):
target = data1
cmd = ["./xray","webscan","--browser-crawler",target,"--html-output" ,"report__datetime__.html"]
rsp=subprocess.Popen(cmd)
output, error = rsp.communicate()
print(output)

if __name__=='__main__':
file = open("url.txt")
for text in file.readlines():
data1=text.strip('\n')
main(data1)

xray反连搭建

  1. 首先准备好一个域名和vps(匿名),vps这里不多说,域名选择下面厂商使用虚拟币进行购买

    https://www.hostinger.com/domain-name-search

  2. 在域名供应商中配置相关解析信息

    添加ns1、ns2的a记录

    image-20240419120853857

    创建新的域名服务器

    image-20240419120759892

    将dns修改为自定义的dns服务器

    image-20240419120825665

  3. 启动xray,得到config.yaml文件,服务端反连配置如下:

    # 反连平台配置,更多解释见 https://docs.xray.cool/#/configration/reverse
    # 注意: 默认配置为禁用反连平台,这是无法扫描出依赖反连平台的漏洞,这些漏洞包括 fastjson,ssrf 以及 poc 中依赖反连的情况等
    reverse:
    db_file_path: "reverse.db" # 反连平台数据库文件位置, 这是一个 KV 数据库
    token: "xxxxx" # 反连平台认证的 Token, 独立部署时不能为空
    http:
    enabled: true
    listen_ip: 0.0.0.0
    listen_port: "13699"
    ip_header: "" # 在哪个 http header 中取 ip,为空代表从 REMOTE_ADDR 中取
    dns:
    enabled: true
    listen_ip: 0.0.0.0
    domain: "xxx.com" # DNS 域名配置
    is_domain_name_server: true # 是否修改了域名的 ns 为反连平台,如果是,那 nslookup 等就不需要指定 dns 了
    resolve: # DNS 静态解析规则
    - type: A # A, AAAA, TXT 三种
    record: localhost
    value: 127.0.0.1
    ttl: 60
    client:
    remote_server: false # 是否是独立的远程 server,如果是要在下面配置好远程的服务端地址
    http_base_url: "http://192.168.1.1:xxx" # 默认将根据 ListenIP 和 ListenPort 生成,该地址是存在漏洞的目标反连回来的地址, 当反连平台前面有反代、绑定域名、端口映射时需要自行配置
    dns_server_ip: "192.168.1.1" # 和 http_base_url 类似,实际用来访问 dns 服务器的地址

    客户端反连配置如下:

    # 反连平台配置,更多解释见 https://docs.xray.cool/#/configration/reverse
    # 注意: 默认配置为禁用反连平台,这是无法扫描出依赖反连平台的漏洞,这些漏洞包括 fastjson,ssrf 以及 poc 中依赖反连的情况等
    reverse:
    db_file_path: "" # 反连平台数据库文件位置, 这是一个 KV 数据库
    token: "xxxxx" # 反连平台认证的 Token, 独立部署时不能为空
    http:
    enabled: false
    listen_ip: 0.0.0.0
    listen_port: ""
    ip_header: "" # 在哪个 http header 中取 ip,为空代表从 REMOTE_ADDR 中取
    dns:
    enabled: false
    listen_ip: 0.0.0.0
    domain: "" # DNS 域名配置
    is_domain_name_server: false # 是否修改了域名的 ns 为反连平台,如果是,那 nslookup 等就不需要指定 dns 了
    resolve: # DNS 静态解析规则
    - type: A # A, AAAA, TXT 三种
    record: localhost
    value: 127.0.0.1
    ttl: 60
    client:
    remote_server: true # 是否是独立的远程 server,如果是要在下面配置好远程的服务端地址
    http_base_url: "http://192.168.1.1:xxx" # 默认将根据 ListenIP 和 ListenPort 生成,该地址是存在漏洞的目标反连回来的地址, 当反连平台前面有反代、绑定域名、端口映射时需要自行配置
    dns_server_ip: "192.168.1.1" # 和 http_base_url 类似,实际用来访问 dns 服务器的地址
  4. 启动xray反连平台

    ./xray reverse

    image-20230916161525546