适用人群
挖洞新手小白
提及工具
ENScan_GO
ShuiZe
ENScan_GO
1、安装 :https://github.com/wgpsec/ENScan_GO
下载对应环境版本 (下文例子为 mac m1环境)
2、配置:登录各资源搜索平台
https://aiqicha.baidu.com/ cookie
https://www.tianyancha.com/ cookie、tycid
https://tool.chinaz.com/ cookie ——ICP备案
https://www.qimai.cn/ cookie ——APP
http://veryvp.com/ cookie ? ——
https://www.aldwx.com/ cookie ?——小程序
6F917307EC2F6BB90CBF4E8F59718195
3、对象:
查询对象为单一公司时,使用 -n 公司名
查询对象为批量公司时,公司名称列表保存成txt文件,使用 -f x.txt
4、批量查询及输出
% ./enscan-0.0.15-darwin-arm64 -is-merge -field icp,app,wx_app,copyright -invest 70 -is-show -f enscanfile.txt
5、效果
6F917307EC2F6BB90CBF4E8F59718195
ShuiZe
https://github.com/0x727/ShuiZe_0x727
1、安装
可以安装到本地,但需要确认环境版本是否兼容 Python环境必须是3.7以上,以及各种依赖的版本。安装一直报错的可以考虑用容器方式
拉取python3.8的容器,再git clone水泽后,运行docker_build.sh即可。
$brew install podman
$podman machine init
#启动虚拟机并进入
$podman machine start
$podman machine ssh
#搜索并拉取镜像
$podman search yankovg
$podman pull docker.io/yankovg/python3.8.2-ubuntu18.04
#启动容器
$podman run --tty --interactive yankovg/python3.8.2-ubuntu18.04
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
#退出容器
#exit
#如果容器内退出失败 可在本地执行以下命令停止容器
podman stop <容器ID或名称>
#使用时连接容器
$podman ps -a
$podman start (container id)
$podman attach(container id)
2、配置
代扫描的域名列表保存为domain.txt
/ShuiZe_0x727#touch domain.txt
在配置文件iniFile/config.ini里加入api(fofa、shodan、github、virustotal)
https://fofa.info/userInfo 账号邮箱、apikey
https://account.shodan.io/ apikey
https://github.com/settings/tokens Personal access tokens
https://hunter.qianxin.com/home/userInfo API-KEY
https://www.virustotal.com/gui/user/用户名/apikey
支持配置转发代理,可避免被封,记得switch开关打开。代理配置不限制是否为快代理,其他代理也可以生效。
快代理的配置,使用快代理时,根据自己购买的配置设置线程数目,switch是开关,on为使用快代理,off为不使用
[kuaidaili]
tunnel = ForOneSec_Ice.md5.net:110
username = 53xxxx
password = 6BFFxxxx
thread_num = 5
switch = on
支持配置github搜索的关键字,搜索到的信息泄漏会保存到result目录下带github后缀。
['jdbc:', 'password', 'username', 'database', 'smtp', 'vpn', 'pwd', 'passwd', 'connect','apikey','secret','SecretKey','AccessKey','AppSecret','session_key','secretAccessKey']
6F917307EC2F6BB90CBF4E8F59718195
3、确认网络环境:
(1)设置待机网络不休眠,不中断扫描
若中途仍出现异常中断,可查看最后生成的文件情况
date查看系统时间,utc需要+8
(2)确认代理是否生效 查看系统ip地址
ifconfig | grep inet | grep -v inet6 | grep -v 127.0.0.1 | awk '{print $2}'
4、开始扫描
/ShuiZe_0x727# python3 ShuiZe.py --domainFile domain.txt
5、结果汇总
先备份长时间扫描获得的原始数据,再进行其他处理,避免操作失误,浪费扫描资源
(1)项目根目录下会 按domain.txt域名逐个生成txt文件,展示搜索到的子域名。需要汇总
#合并原文件
/ShuiZe_0x727# cat *.txt | grep -vE 'versionFlag.txt|requirements.txt|domain.txt' > merge.txt
#合并原文件并删除旧文件
/ShuiZe_0x727# find . -type f -name "*.txt" ! -name "merge.txt" ! -name "versionFlag.txt" ! -name "requirements.txt" ! -name "domain.txt" -exec cat {} >> merge.txt \; -exec rm {} \;
(2)result目录下会 domain.txt域名逐个生成xlsc文件,其中包含多个表格。有些存在github.txt后缀的信息泄漏文件。需要汇总
#递归地列出当前目录及其子目录下的所有文件和子目录
/ShuiZe_0x727/result# ls -R
#列举将各个子目录下的txt文件,迁移到新目录githubcheck下
mkdir githubcheck
f/ShuiZe_0x727/result#find . -type f -name "*.txt" -exec mv {} githubcheck/ \;
#列举将各个子目录下的xlsx文件,迁移到新目录excel下
find . -type f -name "*.xlsx" -exec mv {} excel/ \;
a、可以先讲文件从容器复制到本地
#先从容器中退出 检查没有正在运行的容器即可开始复制
podman ps
#在本地创建一个接受文件的文件夹 例如hw并授权读写权限
mkdir /hw
chmod +rw /hw
podman cp <容器ID或名称>:<容器内文件或目录路径> <本地目标路径>
podman cp 6F917307EC2F6BB90CBF4E8F59718195:/ShuiZe_0x727 hw
存在多子文件的可使用wps文档合并功能
b、使用python脚本
from openpyxl import load_workbook
from openpyxl import Workbook
# 创建一个新的工作簿
merged_workbook = Workbook()
# 遍历每个要合并的xlsx文件
files = ["file1.xlsx", "file2.xlsx", "file3.xlsx"]
for file in files:
# 加载要合并的xlsx文件
workbook = load_workbook(file)
# 遍历每个Sheet
for sheet in workbook.sheetnames:
# 获取Sheet对象
worksheet = workbook[sheet]
# 创建一个新的Sheet
merged_sheet = merged_workbook.create_sheet(title=sheet)
# 将原始Sheet的数据复制到新的Sheet
for row in worksheet.iter_rows(values_only=True):
merged_sheet.append(row)
# 删除默认创建的Sheet
merged_workbook.remove(merged_workbook["Sheet"])
# 保存合并后的xlsx文件
merged_workbook.save("merged.xlsx")
import os
from openpyxl import load_workbook, Workbook
# 定义要搜索的文件扩展名
file_extension = ".xlsx"
# 定义要汇总的Sheet名称
target_sheets = ["Sheet1", "Sheet2", "Sheet3"]
# 创建一个新的工作簿用于汇总
merged_workbook = Workbook()
# 遍历当前目录及其子目录下的所有文件
for root, dirs, files in os.walk("."):
for file in files:
if file.endswith(file_extension):
file_path = os.path.join(root, file)
workbook = load_workbook(file_path)
for sheet_name in target_sheets:
if sheet_name in workbook.sheetnames:
sheet = workbook[sheet_name]
merged_sheet = merged_workbook.create_sheet(title=sheet_name)
for row in sheet.iter_rows():
merged_sheet.append([cell.value for cell in row])
workbook.close()
# 删除默认创建的Sheet
merged_workbook.remove(merged_workbook["Sheet"])
# 保存汇总结果到新的xlsx文件
merged_workbook.save("merged.xlsx")
merged_workbook.close()
6、异常处理
#查看项目根目录文件 留意文件大小为0的异常文件 可能由于网络或程序异常导致的崩溃而没有收集到有效信息
ls -lt
/ShuiZe_0x727# find . -type f -name "*.txt" -size 0 -delete
#查看文件 留意文件大小为10377c或小于10377c的异常文件 可能由于网络或程序异常导致的崩溃而没有收集到有效信息
/ShuiZe_0x727/result/idxxxx# find . -type f -name "*.xlsx" -size 10377c -delete
#若所有扫描结果都不需要了 可以保留配置文件 并删除/ShuiZe_0x727目录 重新拉项目代码重置domain.txt
/ShuiZe_0x727#rm -rf *
评论区