水泽-信息收集自动化工具

图片.png

郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担。

0x01 介绍

作者:Ske

团队:0x727,未来一段时间将陆续开源工具,地址:https://github.com/0x727

定位:协助红队人员快速的信息收集,测绘目标资产,寻找薄弱点

语言:python3开发

功能:一条龙服务,只需要输入根域名即可全方位收集相关资产,并检测漏洞。也可以输入多个域名、C段IP等,具体案例见下文。

调用:脚本借用了ksubdomain爆破子域名和theHarvester收集邮箱,感谢ksubdomain和theHarvester作者

0x02 安装

为了避免踩坑,建议安装在如下环境中

  • 当前用户对该目录有写权限,不然扫描结果无法生成。root权限即可

  • Python环境必须是3.7以上,因为使用了异步。建议VPS环境是ubuntu20,默认是python3.8。安装模块的时候切记不要走豆瓣的源

  • 在配置文件iniFile/config.ini里加入api(fofa、shodan、github、virustotal)

chmod 777 build.sh
./build.sh

image-20210728153419131

python3 ShuiZe.py -h

image-20210728154929084

docker运行ShuiZe

较多人反馈安装的时候会出现各种报错,新增通过docker运行ShuiZe

通过下面的命令安装docker,然后拉取python3.8的容器,再git clone水泽后,运行docker_build.sh即可。

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

也可参考 @1itt1eB0y 提供的Dockerfile和docker-compose.yml构建镜像并运行

链接:https://github.com/1itt1eB0y/MyCollection/tree/master/docker/shuize

请自行评估安全性

脚本自带Linux版本的Nuclei和ksubdomain,如果是windows或者mac,需要自行更换版本。

0x03 效果展示

备案反查顶级域名

image-20210728155358378

不是泛解析,调用ksubdomain爆破子域名

image-20210728155541501

theHarvest获取邮箱

image-20210728161507035

image-20210728163216047

第三方数据接口 -> 获取子域名

image-20210728160705706

github -> 从github获取子域名,并把查询结果保存到txt,并匹配关键字获取敏感信息

image-20210728161022348

百度和必应爬虫

image-20210728161117459

证书

image-20210728161711534

子域名友链

image-20210728161339208

解析子域名A记录,检测是否CDN和整理C段的IP

image-20210728162655684

image-20210728162049962

网络空间搜索引擎:Fofa和Shodan

image-20210728162119531

IP反查域名

image-20210728162303312

存活探测

image-20210728162441132

漏洞检测

image-20210728165612314

扫描结果保存在excel文件里

image-20210728170303756

excel的内容如下

备案反查顶级域名

image-20210728163926763

image-20210728163940918

邮箱

image-20210728164010063

Github敏感信息

image-20210728164040649

爬虫

image-20210728164146630

证书

image-20210728164211552

子域名A记录和CDN

image-20210728164316747

动态链接和后台地址

image-20210728164555141

网络空间搜索引擎

image-20210728164745820

ip反查域名

image-20210728164811422

存活网站标题

image-20210728164933353

指纹和漏洞

image-20210728165004202

相关域名和C段

image-20210728165052361

0x04 POC编写

POC的模板文件例子:Plugins/Vul/Web/__template__.py

只需要在run_detect方法里调用POC的利用方法即可。

0x05 使用方法

语法功能
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爆破子域名

0x06 实现原理

image-20210728132752381

整理上面所有的子域名

  • 对所有子域名判断是否是CDN并解析出A记录

  • 统计每个c段出现IP的个数

  • 调用网络空间搜索引擎

    • fofa -> 需要API

    • shodan -> 需要API

  • 前面获得的ip反查域名得到相关资产的子域名,整理出所有的子域名和IP

image-20210728133047590

  • 整理所有资产探测漏洞

    image-20210728134212279

    • 获取标题

    • 漏洞检测 -> Plugins/Vul/Web

    • 自动跑后台路径(['admin', 'login', 'system', 'manager', 'admin.jsp', 'login.jsp', 'admin.php', 'login.php','admin.aspx', 'login.aspx', 'admin.asp', 'login.asp'])

    • 如果URL是IP则查询IP的归属地

    • Web -> 存活探测

      image-20210728134051049

      image-20210728134115608

      image-20210728134131076

    • 非Web服务 --> 未授权和弱口令

其他功能

image-20210728134304533

结果展示:

image-20210728132105833

完整流程图:

转载自:https://github.com/0x727/ShuiZe_0x727

分享:

支付宝

微信