网上有不少ShuiZe的安装教程,但都大同小异,最初我是跟着在kali上安装,但在最后一步赋权执行的时候一直报错,原因大概就是要安装的软件太多,需要配置对应的版本,版本太新不行,太旧也不行,非常难伺候。本人菜鸟,弄了两天,解决完一个报错又会有新的报错出现,最后心态崩了放弃了,选择用docker运行ShuiZe
一、安装命令
apt install docker.io
docker pull yankovg/python3.8.2-ubuntu18.04
docker run -itd yankovg/python3.8.2-ubuntu18.04 bash
docker exec -it docker的ID /bin/bash
apt-get update
apt install git --fix-missing
apt install vim
rm /usr/bin/python3
ln -s /usr/local/bin/python3.8 /usr/bin/python3
python3 -m pip install --upgrade pip
git clone https://github.com/0x727/ShuiZe_0x727.git
chmod 777 docker_build.sh
./docker_build.sh
二、安装过程(附截图)
1.拉取python3.8的容器
docker --version #检查安装好的docker版本
docker pull #从镜像仓库docker hub中拉取或者更新指定镜像
docker run #创建一个新的容器并运行一个命令
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
使用镜像yankovg/python3.8.2-ubuntu18.04以交互模式启动一个容器,在容器内执行bash命令。
得到容器的ID号
docker exec #在运行的容器中执行命令
在ID容器中以交互模式执行容器内 /bin/bash 脚本
此时进入容器中的终端交互模式,开始各种安装
- ln(英文全拼:link files):为某一个文件在另外一个位置建立一个同步的链接。
当我们需要在不同的目录用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
- Linux rm(英文全拼:remove):删除一个文件或者目录。
2.git clone水泽
3.赋权执行 ./build这一步需要等待一段时间
我装过两次ShuiZe,第一次直接成功,第二次出现了下面这个情况的报错。
去stack overflow上查了一下,估计又是版本不对的问题
GitHub有讨论一些解决办法,找到了一个使用我的解决办法
pip install "cython<3.0.0" && pip install --no-build-isolation pyyaml==6.0
再执行./build命令试一下,成功(WARNING可以忽略,只要不报错error就行)
三、ShuiZe的使用
备案反查顶级域名
最后跑出来的结果会保存到excel文件里
四、Shuize的用法
语法 | 功能 |
---|---|
python3 ShuiZe.py -d domain.com | 收集单一的根域名资产 |
python3 ShuiZe.py --domainFile domain.txt | 批量跑根域名列表 |
python3 ShuiZe.py -c 192.168.1.0,192.168.2.0,192.168.3.0 | 收集C段资产 |
python3 ShuiZe.py -f url.txt | 对url里的网站漏洞检测 |
python3 ShuiZe.py --fofaTitle XXX大学 | 从fofa里收集标题为XXX大学的资产,然后漏洞检测 |
python3 ShuiZe.py -d domain.com --justInfoGather 1 | 仅信息收集,不检测漏洞 |
python3 ShuiZe.py -d domain.com --ksubdomain 0 | 不调用ksubdomain爆破子域名 |
五、将镜像中的文件下载到本地
使用命令下载镜像中的文件到本地磁盘。
docker cp 207c111c0358:/ShuiZe_0x727/result/2ba0a55e9eb0/xxx.xlsx /home/yoomay/桌面/Test/
207c111c0358:容器id
/ShuiZe_0x727/result/2ba0a55e9eb0/xxx.xlsx:镜像中的文件路径
/home/yoomay/桌面/Test/:本地磁盘文件路径(你想保存的地方)
补充:实现原理可以参考这篇博客