Python3部署rad+xray自动化

写在前面

跑自动化通常都是挖洞的一个选择之一,所以拿漏扫工具来扫肯定是必不可少的一环,但是工具肯定不能放在本地跑,第一是防止发包量过大导致IP被Ban,第二是你要睡觉,总不能,一个跑完了,你自己手动选择下一个目标跑

说起来,之前还“魔改”过别人的一个项目,但之所以打了个双引号是我后来发现其实我根本没改什么东西。。

这个脚本针对的是xray高级版,社区版日后再说吧,我是懒狗

正文

环境

  • Ubuntu
  • Python3.x

首先安装rad

rad github:
https://github.com/chaitin/rad
下载地址:
https://github.com/chaitin/rad/releases

在服务器中执行命令

wget https://github.com/chaitin/rad/releases/download/0.2/rad_linux_386.zip && unzip rad_linux_386.zip && mv rad_linux_386 rad && chmod 777 rad

如果你的服务器没有unzip的话,还需要单独

apt install unzip -y

接着安装xray

xray github:
https://github.com/chaitin/xray
下载地址:
https://github.com/chaitin/xray/releases

执行下面命令下载xray并给权限

wget https://github.com/chaitin/xray/releases/download/1.3.3/xray_linux_386.zip && unzip xray_linux_386.zip && mv xray_linux_386 xray && chmod 777 xray

接着把xray-license.lic文件放入同目录即可(高级版的lic文件)

我的脚本是从result-1.txt中读取域名,也就是说,你把你需要批量扫的域名放入这个文件,然后运行即可

将此脚本和xray、rad放在一起

import subprocess
sub_list=open("result-1.txt",'r',encoding='utf-8')
num=1
for i in sub_list:
    result_save_filename="result-"+str(num)+".html"
    i=i.replace('\n','')
    dd="xray webscan --browser-crawler "+str(i)+" --html-output "+result_save_filename
    cmd=[dd] #dd是我家的猫,他很可爱,所以我拿来命名了
    rsp = subprocess.Popen(cmd ,shell=True)
    rsp.wait()
    print("Subdomain: "+str(i)+" is Done!")
    num+=1

跑的时候记得进入screen中运行,如果不弄,那么你只要断开ssh,那么会话结束,你运行的东西也会一起结束,这个玩意不多细讲,百度比我更详细,只说关键

screen -S <session_name> # 创建一个名为xxx的会话
screen -r <session_name> # 回到名为xxx的会话

如果-r发现进不去,可以考虑

screen -d -r <session_name>

运行的时候,如果你不想看着满屏幕的刷,可以考虑

python3 elapse.py > shell.txt &

然后

tail -n 10 shell.txt

即可

最后来一个大整合

mkdir xray && cd xray && wget https://github.com/chaitin/rad/releases/download/0.2/rad_linux_386.zip && unzip rad_linux_386.zip && mv rad_linux_386 rad && chmod 777 rad && wget https://github.com/chaitin/xray/releases/download/1.3.3/xray_linux_386.zip && unzip xray_linux_386.zip && mv xray_linux_386 xray && chmod 777 xray