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反连搭建
首先准备好一个域名和vps(匿名),vps这里不多说,域名选择下面厂商使用虚拟币进行购买
在域名供应商中配置相关解析信息
添加ns1、ns2的a记录
创建新的域名服务器
将dns修改为自定义的dns服务器
启动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 服务器的地址启动xray反连平台
./xray reverse