SSL谷歌钓鱼攻击:ɢoogle.news并非google.news | 信息安全技术分析
2016年,我曾遇到一篇关于有人购买ɢoogle.com域名的帖子(注意首字母G的差异)。该域名被用于钓鱼目的——同形异义字符外观类似ASCII字母,但编码方式不同,通常难以被肉眼察觉。
网络钓鱼是通过电子通信伪装成可信实体,骗取用户名、密码和信用卡详情等敏感信息的欺诈行为。常见手段包括邮件伪造或即时消息,诱导用户在与正版网站外观相似的虚假网站输入个人信息。
技术实验动机
基于与谷歌的交流,我萌生了以下技术探索:
- 每年都有新顶级域名推出,世界是否从ɢoogle.com事件中吸取教训?
- 从零构建谷歌钓鱼网站的难度如何?
- 能否为此类域名获取SSL证书?
- 谷歌是否监控“ɢoogle”同形异义域名注册?
- 能否通过谷歌域名服务购买?注册商是否会提示风险?
- 能否在谷歌用户与服务器间实现中间人攻击?
声明:本文仅用于教育目的。
域名获取与配置
通过谷歌域名、NameCheap和GoDaddy等注册商搜索“ɢoogle”,我购入了以下域名:
- ɢoogle.company(类似company.google.com)
- ɢoogle.email(类似mail.google.com)
- ɢoogle.tv(类似tv.google.com)
- ɢoogle.life(类似life.google.com)
- ɢoogle.live(类似live.google.com)
- ɢoogle.news(类似news.google.com)
- ɢoogletranslate.com(类似translate.google.com)
这些域名由注册商自动推荐,无需额外创意。注册时使用虚假身份,组织名称为“Not Google :)”。
钓鱼网站与SSL证书部署
- 云端服务器部署:在AWS、谷歌云或Azure启动VPS。
- DNS解析配置:将域名指向该服务器。
- Web服务器安装:部署Nginx/Apache HTTP服务器。
- SSL证书申请:通过LetsEncrypt获取证书(成功为同形异义域名签发)。
1sudo certbot —nginx certonly —dry-run -d “xn—oogletranslate-u5f.com” - Nginx代理配置:
通过添加自定义HTTP头(NOT-GOOGLE-HEADER OK)标记响应。
1 2 3 4 5 6server { location / { proxy_pass https://translate.google.com/; add_header NOT-GOOGLE-HEADER OK; } }
攻击效果与流量获取
- 链接预览欺骗:在各平台(如WhatsApp)中,链接预览显示为谷歌翻译的官方描述,实际指向钓鱼域名。
- 浏览器信任标识:Chrome显示“安全”(锁图标),移动设备显示“ɢ”为标准“G”。
- JavaScript执行:谷歌的JS在钓鱼域名下正常运行,无需模仿服务逻辑。
- 社交工程引流:通过在安全论坛发布链接,即使安全意识较高的用户也可能被误导。最终获得数百名真实访问者(排除机器人和扫描器)。
中间人攻击实施
作为代理服务器,可拦截用户与谷歌间的流量:
- 登录凭证窃取:修改HTML中的
<a>标签,将accounts.google.com重定向至accounts.ɢoogletranslate.com,诱骗用户输入凭据。 - 恶意脚本注入:在HTTP响应体中插入
<script>标签,在客户端浏览器执行代码。访问日志显示多数用户代理为长期未更新的旧浏览器,存在1日漏洞攻击风险(包括沙箱逃逸)。
防御建议
- 用户端警惕:注意域名中的大写/怪异字符。
- 注册商责任:应禁止包含“ɢoogle”或“oogle”的域名注册,而非仅黑名单ɢoogle.com。
- 证书颁发机构:LetsEncrypt需加强对同形异义域名的审核。
- 服务端检测:谷歌JS应校验
window.location的合法性,或通过Referrer验证请求来源(本例中Referrer为https://xn–oogletranslate-u5f.com/)。 - 系统管理员:在IDS/IPS中部署静态流量分析规则(如Snort、Zeek、Suricata),及时更新恶意主机黑名单。
谷歌的回应
谷歌认真对待此安全报告,认可同形异义攻击在社交工程中的有效性,但指出基础设施欺骗更具挑战性。目前仍在讨论解决方案。
结论
此类攻击复现步骤简单,仅需基础Linux和网络知识。在彻底解决方案出现前,各大公司需投入大量资金保护相似域名资产。本文成功展示了POC,更多细节可联系作者探讨。
关键词:同形异义攻击、SSL证书、Nginx代理、中间人攻击、域名安全