水泽-信息收集自动化工具
郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担。
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
python3 ShuiZe.py -h
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 效果展示
备案反查顶级域名
不是泛解析,调用ksubdomain爆破子域名
theHarvest获取邮箱
第三方数据接口 -> 获取子域名
github -> 从github获取子域名,并把查询结果保存到txt,并匹配关键字获取敏感信息
百度和必应爬虫
证书
子域名友链
解析子域名A记录,检测是否CDN和整理C段的IP
网络空间搜索引擎:Fofa和Shodan
IP反查域名
存活探测
漏洞检测
扫描结果保存在excel文件里
excel的内容如下
备案反查顶级域名
邮箱
Github敏感信息
爬虫
证书
子域名A记录和CDN
动态链接和后台地址
网络空间搜索引擎
ip反查域名
存活网站标题
指纹和漏洞
相关域名和C段
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 实现原理
备案反查顶级域名 -> 获取目标域名相关的其他根域名 -> 接口:http://icp.chinaz.com
判断是否是泛解析
泛解析-> 不爆破子域名
不是泛解析 -> 调用ksubdomain爆破子域名(脚本里我用的是linux版本的ksubdomain,文件地址:./Plugins/infoGather/subdomain/ksubdomain/ksubdomain_linux,如果是其他系统请自行替换)
调用theHarvester -> 获取子域名和邮箱列表
第三方数据接口 -> 获取子域名
virustotal -> https://www.virustotal.com -> 需要api
ce.baidu.com -> http://ce.baidu.com
url.fht.im -> https://url.fht.im/
qianxun -> https://www.dnsscan.cn/
sublist3r -> https://api.sublist3r.com
crt.sh -> https://crt.sh
certspotter -> https://api.certspotter.com
bufferover -> http://dns.bufferover.run
threatcrowd -> https://threatcrowd.org
hackertarget -> https://api.hackertarget.com
chaziyu -> https://chaziyu.com/hbu.cn/
rapiddns -> https://rapiddns.io
sitedossier -> http://www.sitedossier.com
ximcx -> http://sbd.ximcx.cn
github -> 从github获取子域名,并把查询结果保存到txt-获取敏感信息
敏感信息关键字匹配,可在iniFile/config.ini自定义关键字内容,内置如下关键字('jdbc:', 'password', 'username', 'database', 'smtp', 'vpn', 'pwd', 'passwd', 'connect')
百度和必应爬虫 -> 获取目标后台等地址('inurl:admin', 'inurl:login', 'inurl:system', 'inurl:register', 'inurl:upload', '后台', '系统', '登录')
证书 -> 获取目标关联域名
子域名友链 -> 获取未爆破出的子域名,未被收录的深层域名
整理上面所有的子域名
对所有子域名判断是否是CDN并解析出A记录
统计每个c段出现IP的个数
调用网络空间搜索引擎
fofa -> 需要API
shodan -> 需要API
前面获得的ip反查域名得到相关资产的子域名,整理出所有的子域名和IP
整理所有资产探测漏洞
其他功能
结果展示:
完整流程图:
暂无评论
发表评论