侧边栏壁纸
博主头像
fragment博主等级

最真实的失望 去感受它 慢慢变成营养

  • 累计撰写 47 篇文章
  • 累计创建 13 个标签
  • 累计收到 4 条评论

【步骤详解】信息收集提效工具_ForOneSec_Ice

fragment
2024-01-04 / 0 评论 / 1 点赞 / 1,732 阅读 / 4,979 字

适用人群
挖洞新手小白
提及工具
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、效果
image.png
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 *
0

评论区