在探讨如何利用 Google 进行安全漏洞扫描时,我们实际上是在进行一项颇具双面性的操作:一方面,Google 是高效的信息检索工具;另一方面,它也可能被不法分子用作“望远镜”,窥探那些本不应公开的敏感数据。此前我曾分享过如何在 Google 上搜索服务器信息——包括 Windows、IIS、Apache 甚至 SQL Server 的配置,以及如何发现隐藏的登录页面、日志文件等。而本篇将重点介绍 Google 自带的一些工具与基础查询技巧,帮助你察觉那些可能已暴露在公众视野但尚未引起注意的敏感信息。
本系列将涵盖以下内容:
- 为何选择 Google 进行安全漏洞扫描
- 利用 Google 工具自动执行黑客测试
- 通过 Google 查询手动执行黑客测试
- 四个步骤保护 Windows 数据免受 Google 黑客攻击
为何选择 Google 进行安全漏洞扫描
如果你正在从事信息安全评估工作——例如渗透测试、漏洞评估或更广义的黑客测试——那么手头缺少合适的测试工具将寸步难行。针对网站的安全评估工具通常价格不菲,但 Google 本身就是一个极为强大且免费的测试平台。其功能与覆盖范围若被攻击者利用,后果会非常严重。因此,在恶意攻击者行动之前,先借助 Google 摸清自身系统漏洞,并采取防范措施,才是明智之举。
除了功能强大,Google 最大的优势之一就是零成本。它常被称为“穷人的安全评估工具”,尤其适合 IT 预算有限的安全管理员。我个人非常推崇商业安全评估工具,它们能提供更细致的测试项和更优秀的报告能力,让评估工作事半功倍。但话说回来,很多时候“花多少钱办多少事”并不绝对,而 Google 却能以黑客的视角,做到一些你意想不到的事情——甚至比许多商业、免费或开源的安全测试工具做得更好,而且完全免费。
与许多外部测试工具类似,Google 能够观察到当前你为网络世界提供的服务,还能搜集、缓存、查找并挖掘那些你可能很久以前就上传到互联网、甚至自己都遗忘的内容。在执行安全评估查询时,你有几种选择:直接在 Google 首页搜索,使用高级搜索页面,甚至通过 Google API 编写自己的 Web 应用。
当你在自己的系统上进行信息安全测试时,核心目标就是像黑客一样去审视——而 Google 正是这方面的专家。以下是一些黑客测试中 Google 能找到的信息示例:
- 信用卡信息、社会安全号码以及其他通过 Web 应用和数据库泄露的机密数据。
- 网络摄像头画面。
- 文字处理文档、电子表格和演示文稿文件。
- Outlook Web Access 相关文件。
- 默认的(通常不安全的)IIS 文件和自定义的 IIS 错误信息。
- 本应隐藏的 Web 登录页面。
- 不属于你网络的主机欺诈行为。
- 包含敏感信息的新闻组帖子。
就以最后一个例子来说:在 Google Groups 中执行一个简单查询时,我看到了一个电信供应商的支持组帖子,由该供应商的网络管理员发布。那个帖子泄露了供应商内部网络的详细配置,包括网络布局、内网 IP 地址和主机名。看到这么多信息,我的第一反应是:这家公司不值得信任,不应该把企业的敏感信息交给他们。仅仅用公司名称和几个关键词就找到了这些信息,如果使用高级搜索,还不知道能挖出多少呢。
在今天高价漏洞评估工具盛行的环境下,Google 就像一阵清新的空气。它的安全测试查询能力无可匹敌。作为安全漏洞检测的资深人士,你不仅需要像黑客一样思考,还需要具备创新的测试方法。Google 正是允许你进行这种创新的工具。在不久的将来,我会继续讲解如何用真实的 Google 查询来测试你的 Windows 系统安全,帮你判断自己的系统是否足够健壮。
利用 Google 工具自动执行黑客测试
目前已有多种 Google 工具能够自动执行黑客测试,或者增强 Google 黑客测试的能力,包括:
- Johnny Long 的 Google Hacking Database (GHDB) —— 提供大量查询样例,你可以根据自身站点或域名进行调整。
- Foundstone 公司的 SiteDigger —— 利用其个性化的 Google 查询,像 GHDB 一样执行自动搜索。注意:Google 每天最多允许运行 1,000 条查询,对于这类工具来说很快就能用完。
- Johnny Long 的 Gooscan for Linux —— 可以在 Linux 下执行命令行方式的 Google 查询。
- Google Toolbar for Internet Explorer —— 让你在不进入 Google 首页的情况下,直接在 IE 浏览器中输入关键词进行查询。如果你不是 IE 的拥护者,还可以使用 Netscape 或 Mozilla Firefox 下的开源 Googlebar。
- GooDelete —— 清理使用 Google Toolbar 留下的缓存,避免敏感信息残留。
此外,如果你对 Google 黑客行为非常热衷,Johnny Long 撰写的《Google Hacking for Penetration Testers》一书值得一读。
通过 Google 查询手动执行黑客测试
除了自动查询工具,你也可以进行手动 Google 查询。以下是一些可以在服务器上运行的测试,作为入门参考。注意,这些只是冰山一角,结合你的想象力和前述工具,你可以进行无限多的查询。
- site:你的主机或域名 需要找的关键字 —— 测试搜索特定主机或域名下的任意关键字,比如 SSN、confidential、finance、student 等。
- filetype:需要找的文件扩展名 site:你的主机或域名 —— 搜索系统中的特定文件类型,如 doc、pdf、ppt、db、dbf 等。除非你确定信息已泄漏到其他网站,否则始终使用“site:”操作符限定结果。使用“link:”操作符可以搜索连接到该页面的超链接。如果 Google 返回的结果是死链,可以点击搜索结果下方的“快照”链接,查看 Google 缓存中可能保存的信息。
- 此外,别忘了在 Google Groups(网上论坛)中搜索敏感信息。我曾经利用这种方法找到很多有用的信息。还可以查看 Interesting Google Queries 网页,找到针对 Microsoft 的特殊 Google 搜索技巧。
四个步骤保护 Windows 数据免受 Google 黑客攻击
采取适当对策,可以帮助你将高度机密的信息远离 Google,不被 Google 黑客搜索到。以下是四个可尝试的步骤:
1. 巩固你的服务器,并将其与外部环境隔离
一个不幸的事实是,许多关键服务器仍然完全暴露在互联网上。现在请收紧服务器的存取控制,并将其放在防火墙之后。
2. 设置 robots.txt 文件,禁止 Google 索引你的网页
通过设置“googlebot”的“User-agent:”参数,并在“Disallow:”部分列出你想保密的信息,可以保护网络服务器的文件和目录免受 Google 索引。如果你想禁止所有 Web 机器人访问你的网站,可以将“User-agent:”设置为“*”。但要记住,怀有恶意的人可以从你的 Web 服务器上获取这个文件,看到你不想公开的内容。如果这看起来像互联网的弱点,那它确实就是。你可以选择不使用 robots.txt 文件,但应该允许机器人只索引那些具体的公开页面,或者通过输入“Disallow /”禁止它们索引任何以根目录开始的信息。访问 The Web Robots Pages 可以获取配置 robots.txt 的更多细节,以及执行反机器人欺骗的方法。Google 也有关于 Googlebot 操作的 FAQ。
3. 将高度机密的信息从公众服务器上去除
制定一项组织策略,确保密码、机密文件等高度敏感信息远离公众可访问的服务器。如果必须在服务器上存放,请使用任何可能的存取控制措施来保护它们,并确保策略被强制执行,管理违规者。
4. 保证你的服务器是安全的
为了维护服务器安全,请使用本系列技巧中讨论过的 Google 测试工具和查询进行黑客测试。强烈推荐使用自动化测试工具,如 SiteDigger 和 Gooscan,手工执行多个查询既缓慢又枯燥,且不易管理。记住,这些测试只是通过 Google 进行的挖掘测试,并不能代表所有的黑客攻击和互联网安全,也不是测试所有系统漏洞的最佳工具。作为替代,你必须使用“多层”测试手段:同时使用 Google、其他免费工具、开源工具,以及——在我看来最全面、最可靠的——商业工具。推荐的商业工具包括:SPI Dynamics 的 WebInspect(用于 Web 应用)、Application Security 的 AppDetective(用于 Web 数据库)和 Qualys 的 QualysGuard(用于操作系统和网络漏洞)。如果模拟黑客、渗透测试和普通网络安全审计是你工作的一部分,这些 Google 黑客技术和相应工具将成为你安全工具箱中的重要组成部分。为了安全起见,请现在就开始执行,并且以后也要经常执行。
