关于 google-dorks-catalog
google-dorks-catalog 是用于被动安全侦察的搜索查询目录,面向安全研究人员。它按配置文件、凭据和特定服务整理 Google Dorks,并提供 GitHub 代码搜索与结果验证示例。
主要功能
- 01按类型整理敏感文件查询
- 02提供服务专用搜索语句
- 03包含 GitHub 代码搜索模式
- 04展示证书 SAN 发现命令
- 05提供结果验证示例
适用场景
- 01被动侦察时查找暴露配置
- 02搜索可能泄露的服务凭据
- 03从证书中发现相关域名
- 04手动核实搜索结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ uphiago/ recon-skills --skill google-dorks-catalog安装后在 Claude Code 中输入/google-dorks-catalog确认已加载。
详细介绍
Google Dorks 目录——暴露的配置与机密
何时使用
- 在每个目标的被动侦察(阶段 1)期间
- 完成 crt.sh 子域名枚举后
- 进行任何主动扫描前
- 已在 100 多个真实目标上验证
高精度 Dorks
暴露的关键文件
site:$target "APP_KEY"
site:$target "DB_PASSWORD"
site:$target "-----BEGIN RSA PRIVATE KEY-----"
site:$target filetype:env
site:$target inurl:git/config
site:$target intitle:"index of" ".env"
site:$target "api_key" OR "apikey" OR "secret_key"
site:$target "firebase" "apiKey"
site:$target "supabase" "anon" "key"
site:$target inurl:"/.env" "DB_PASSWORD"
site:$target "client_secret" "redirect_uris" extension:json
site:$target "private_key" "client_email" extension:json
暴露的配置文件(所有扩展名)
site:$target ext:log | ext:txt | ext:conf | ext:cnf | ext:ini | ext:env | ext:sh | ext:bak | ext:backup | ext:swp | ext:old | ext:~ | ext:git | ext:svn | ext:htpasswd | ext:htaccess | ext:json
涵盖以下内容:
- logs——纯文本中的令牌、SQL 查询、电子邮件
- txt/conf/cnf/ini——服务器配置、数据库主机
- env——包含凭据的环境变量
- sh——包含硬编码密码的脚本
- bak/backup/swp/old/~——包含旧版本的备份文件
- git/svn——暴露的版本控制仓库
- htpasswd/htaccess——包含哈希值的访问控制文件
- json——服务账号、Firebase 配置、Supabase 配置
特定服务的 Dorks
Supabase
site:$target "supabase.co" "anon_key" OR "SUPABASE_ANON_KEY"
Firebase
site:$target "firebase-adminsdk" "private_key_id" extension:json
AWS
site:$target "AKIA" filetype:env NOT example NOT test
SendGrid
site:$target "SG." filetype:env NOT example
MongoDB
site:$target "mongodb+srv://" "password"
PostgreSQL
site:$target "postgresql://" "password" ext:env
JWT 机密
site:$target "JWT_SECRET" OR "jwt_secret" filetype:env
OpenAI API 密钥
site:$target "sk-" filetype:env OR filetype:txt
GitHub 令牌
site:$target "ghp_" OR "gho_" OR "ghu_"
GitHub 代码搜索模式
使用 GitHub 个人令牌(效果好得多):
headers = {"Authorization": "token GH_TOKEN"}
base = "https://api.github.com/search/code"
# SA Keys (Firebase/GCP) -- ~1 in 30 is valid
params = {"q": '"type": "service_account" "private_key" "project_id"'}
# .env with real credentials
params = {"q": 'DB_PASSWORD+DB_HOST+APP_KEY+filename:.env+NOT+example+NOT+your+NOT+test'}
# Supabase URLs + keys
params = {"q": 'supabase.co+SUPABASE_URL+SUPABASE_ANON_KEY+NOT+example+NOT+your'}
# AWS Keys
params = {"q": 'AKIA+filename:.env+NOT+example+NOT+your'}
# SendGrid keys
params = {"q": 'SG.+filename:.env+NOT+example'}
# MongoDB connection strings
params = {"q": 'mongodb+srv://+password+filename:.env'}
证书 SAN 发现
# Extract SANs directly from the certificate
openssl s_client -connect $TARGET:443 -servername $TARGET </dev/null 2>/dev/null | \
openssl x509 -noout -ext subjectAltName | grep -Eo 'DNS:[^,]+' | cut -d: -f2 | sort -u
真实案例
真实案例(已脱敏):SSO 证书揭示了 ORG_DOMAIN_1、ORG_DOMAIN_2、ORG_DOMAIN_3,这些域名未出现在常规 CT 搜索结果中。
注意事项
| 问题 | 解决方案 |
|---|---|
| Google 频率限制 | 间隔进行搜索、使用无痕模式、更换 IP |
| GitHub API 限制 | 使用个人令牌(每小时 5000 次请求) |
| 示例仓库导致的误报 | 添加 NOT example NOT test NOT your |
验证
# Test dork results manually
curl --max-time 30 --connect-timeout 10 -sk "https://$TARGET/.env" | head -5
# Verify GitHub found secrets
python3 -c "import json; print(json.loads(open('result.json').read()))"
评论
支持 Markdown