为什么你的企业邮箱总是收到钓鱼邮件?Google Hacking揭秘背后真相

admin 2024年12月5日16:59:50评论12 views字数 3064阅读10分12秒阅读模式

引言

今天,我要和大家分享一个有趣但需要谨慎对待的话题:如何利用Google Hacking和简单的Bash脚本批量收集邮箱地址。这个技术既可用于合法的市场营销和数据分析,也可能被恶意利用于垃圾邮件和钓鱼攻击。本文仅供安全研究和防御目的,请勿用于非法用途。

为什么你的企业邮箱总是收到钓鱼邮件?Google Hacking揭秘背后真相

Google Hacking简介

Google Hacking(也称为Google Dorking)是一种高级搜索技术,通过特定的搜索语法找出Google索引的敏感信息。

基本语法示例

intext:@"yahoo|gmail|hotmail".com filetype:txt site:.us

这个搜索语句可以找到:

  • 包含特定邮箱域名的文本
  • 限定文件类型为txt
  • 限定网站域名为.us

Google Custom Search API使用

1. 获取API访问凭证

  1. 访问Google Cloud Console
  2. 创建新项目
  3. 启用Custom Search API
  4. 生成API密钥

2. 配置搜索引擎

  1. 访问https://programmablesearchengine.google.com/
  2. 创建新的搜索引擎
  3. 获取搜索引擎ID (cx)

3. API调用示例

# 基本API调用
curl "https://www.googleapis.com/customsearch/v1?key=YOUR_API_KEY&cx=YOUR_CX&q=YOUR_QUERY"

# 带参数的API调用
curl "https://www.googleapis.com/customsearch/v1?key=YOUR_API_KEY&cx=YOUR_CX&q=YOUR_QUERY&num=10&start=1"

4. 重要参数说明

  • key: API密钥
  • cx: 搜索引擎ID
  • q: 搜索查询
  • num: 每页结果数(最大10)
  • start: 起始结果索引
  • fileType: 文件类型过滤
  • siteSearch: 站点限制

自动化收集脚本

基础版本脚本

#!/bin/bash 

# 设置搜索字符串
SEARCH="intext:@"yahoo|gmail|hotmail".com filetype:txt site:.us"

# 获取结果页数
PAGECNT=$(curl -s "https://www.googleapis.com/customsearch/v1?q=$SEARCH&key=[API_KEY]&cx=[CX]&start=1" | jq -r '.queries.nextPage[0].startIndex')

echo"总页数: $PAGECOUNT"

# 遍历所有页面收集URL
for i in $(seq 1 $PAGECNT)
do
   curl -s "https://www.googleapis.com/customsearch/v1?q=$SEARCH&num=10&key=[API_KEY]&cx=[CX]&start=$i" |
   jq -r '.items[].link' >> links.txt
done

# 从URL中提取邮箱
for link in $(cat links.txt)
do
   curl -s $link | grep -E -o '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}' >> emails.txt
done

增强版功能

#!/bin/bash

# 添加多线程支持
MAX_THREADS=10

# 添加邮箱验证函数
verify_email() {
local email=$1
# 基本格式验证
if [[ $email =~ ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,}$ ]]
then
echo"[+] 有效邮箱: $email"
echo$email >> valid_emails.txt
fi
}

# 主函数
main() {
# 代码实现
}

main "$@"

防御策略

1. 邮箱保护措施

2. 网站管理员防御

# Apache配置示例 # 阻止直接访问敏感文件 <FilesMatch ".(txt|log|csv)$"> Order deny,allow Deny from all </FilesMatch>

3. 安全最佳实践

  • 定期检查信息泄露
  • 实施robots.txt控制
  • 使用验证码防止自动化收集
  • 对外显示邮箱进行混淆

实战技巧

1. Google Hacking高级语法

# 基础搜索 intext:@domain.com filetype:txt # 高级搜索示例 site:target.com filetype:xls | filetype:xlsx | filetype:csv intext:"email" intitle:"index of" intext:"@gmail.com" inurl:admin filetype:txt intext:"@"

2. API 调用优化

#!/bin/bash

# API配置
API_KEY="YOUR_API_KEY"
CX="YOUR_CX"
DELAY=2  # 延迟秒数,避免超过配额

# 函数:处理API响应
handle_response() {
local response=$1
if [[ $response =~ "error" ]]; then
echo"[-] API错误: $response"
return 1
fi
return 0
}

# 函数:API调用
make_api_call() {
local query=$1
local start=$2

# URL编码查询字符串
   encoded_query=$(echo$query | jq -sRr @uri)

# 发起API请求
   response=$(curl -s "https://www.googleapis.com/customsearch/v1?key=$API_KEY&cx=$CX&q=$encoded_query&start=$start")

# 处理响应
   handle_response "$response"

# 提取链接
echo$response | jq -r '.items[].link'

# 延迟避免超限
   sleep $DELAY
}

3. 结果分析和过滤

# 提取特定域名邮箱
grep -E '@specific-domain.com' emails.txt

# 统计域名分布
cat emails.txt | cut -d@ -f2 | sort | uniq -c | sort -nr

# 检查邮箱格式
grep -E '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,}$' emails.txt

API使用注意事项

  1. 配额限制
  • 免费版每天100次查询
  • 付费版可提升限额
  • 建议实现请求延迟
  1. 错误处理
# API错误检查
if [[ $(echo$response | jq -r '.error.code') == "403" ]]; then
echo"配额超限或认证错误"
exit 1
fi
  1. 最佳实践
  • 实现请求重试机制
  • 保存中间结果
  • 做好异常处理
  • 遵守API使用条款

总结

本文介绍的技术展示了Google Hacking和Google API的强大功能,但也暴露了企业信息安全的潜在风险。建议:

  • 及时检查信息泄露
  • 实施有效的防御措施
  • 培训员工安全意识
  • 定期进行安全审计
  • 合理使用API资源

我是V浪,欢迎关注"HW安全之路",我们下期再见!

特别提醒:

  1. 文中技术仅供学习研究,切勿用于非法用途
  2. 使用API时请遵守Google服务条款
  3. 注意保护收集到的数据,防止二次泄露

原文始发于微信公众号(HW安全之路):为什么你的企业邮箱总是收到钓鱼邮件?Google Hacking揭秘背后真相

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月5日16:59:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   为什么你的企业邮箱总是收到钓鱼邮件?Google Hacking揭秘背后真相http://cn-sec.com/archives/3471086.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息