高级运算符辅助开源调查:巧用搜索引擎挖掘情报 #OSINT

  • Google 涵盖的数据量之大往往超乎你的想象,随着这个世界的数字化程度越来越高,对于开源调查来说已经是一种极其强大的工具。如果你还找不到自己想要的信息,很可能只是你没有用*对*搜索引擎。

高级运算符是 Google 黑客军械库中真正的武器。今天我们来简单演示一下它在开源调查中的作用。以及大多数可用的运算符的使用方法。

仅在几年前,为了搜索诸如 VIN(车辆识别号码)或所有者详细信息之类的车辆信息,还需要你有权访问高级数据库。而如今,我们正在慢慢开始看到这种类型的数据泄露到免费的公共资源中。

比如一个这样的工具,汽车所有者(carsowners.net)。该网站没有太多的搜索功能。相反,您必须用类型、年份、最终的个人详细信息来导航。所以你不如考虑自定义 Google 搜索。

比如你想要寻找“John Smith”拥有的任何车辆,就在 Google 中输入以下内容:

site:carsowners.net“john smith”

这能产生了许多结果。如果你知道目标人的车子是马自达,那么就可以进行以下搜索:

site:carsowners.net“john smith”“mazda”“tx”

这就能将你引导至 https://carsowners.net/mazda/mazda3/2007/tx/page8的直接 URL 了 。在此页面上,以下是应该期望的详细信息类型的示例:

还可以搜索个人详细信息,例如电话号码,地址或 VIN。以下搜索示例非常有效:

site:carsowners.net“(618)463–4164”

site:carsowners.net“4900 Ridgewood Ln”

site:carsowners.net“1G4GE5GD0BF256768”

试试看,很棒吧。不论你想要找的是什么,以此类推就行啦。

服务器的地址(或域名)作为 URL 的一部分,最好使用 site 运算符对其进行搜索。site 允许你搜索仅仅位于一个特定服务器上的或在一个特定域名里面的页面。

尽管看起来非常简明易懂,但还是要花点时间来习惯于如何恰当地使用 site 运算符,因为Google 是从右往左读取 Web 服务器的名字,和大多数人类的习惯相反。考虑一个普通的 Web 服务器名字, www.blackhat.com,为了找到位于 blackhat.com 上的页面,一个简单的查询 site:blackhat.com 就够了。

看到没,前几个结果都来自于 www.blackhat.com。服务器都是以 blackhat.com 结尾的,都是你要查询的有效结果。很棒吧。

就像很多 Google 的高级运算符一样,site 也能够以有趣的方式被使用。举个例子比如,查询 site:r,得到以下结果:

仔细地看一下查询结果,你会发现第一个返回结果的 URL 看起来有点怪异。事实上就是怪异的。Google(也可以说整个因特网)都是从右往左读取服务器名字的,而非从左往右。所以 Google 对 site:r 的查询永远不可能返回有效结果,因为没有 .r 这样的域名。那么为什么 Google 返回结果呢?不好说,但有一件事是确定的:这些古怪的搜索和它们相关联的响应能让高级搜索引擎用户感兴趣,也点燃了他们进一步探索的激情。

site 运算符还能很容易与其他运算符结合使用,比如 daterange。

daterange

daterange 这个运算符能找到在特定日期范围内被 Google 索引过的页面,能让你更精准地挖到信息。Google 每次抓取一个网页,这个日期就会改变。如果 Google 找到了某个很冷门的页面,它可能只抓取了该页面一次,而没有对它进行再次索引。如果你发现搜索中被塞满了这种冷门页面,那么你就可以通过有效地使用 daterange 运算符把没用的东西从搜索中移除(然后得到刷新的结果)。

这个运算符的参数必需总是被表达成一个范围,即 被连字符分隔的两个日期。如果你只想找到在某个特定日期被索引过的网页,你必须提供两次相同的日期,由连字符分隔。如果你觉得这似乎简单到不真实的程度了,那就对了。它就是简单得像骗人一样。

两个传递给这个运算符的日期都必须符合 Julian dates 格式。Julian dates 就是自公元前 4713 年 1 月 1 日起经过的天数。比如日期 2001 年9月11日,表示成 Julian 格式就是 2452164。所以,如果要搜索被 Google 在 2001 年9月11日索引过的并包含 Osama Bin Laden 的网页,那么这个查询就应该是这样: daterang:2452164–2452164 “osama bin laden”。

Google 官方没有正式支持 daterange 运算符,正因此你可能觉得有点不便。Google 似乎更喜欢高级搜索表格中使用的日期限制,其位于 https://www.google.com/advanced_search 。这个表格通过创建 URL 字符串中的域值来执行特别的功能。Google 设计了 as_qdr 域来帮助你找到在某个时间框架内已经被更新过的网页。比如找到在过去三个月内已经被更新同时包含单词 Google 的网页,那么使用查询 https://www.google.com/search?q=google&as_qdr=m3 。

datesrange 看起来笨拙,相比下这样可能是个限制日期的好办法。只需将其理解为不同的功能就好啦。daterange 不是等同于 as_qdr 的高级运算符,根本就没有相同的运算符这种事。如果你想要找到过去一年或更短的时间内被更新过的网页,你必须要么使用 Google 高级搜索页面或者把 &as_qdr=/y(或类似的)粘贴在你的 URL 最后。

注意,daterange 运算符必须和其他搜索项或高级运算符一起使用,如果单独使用它不会返回任何结果

filetype

filetype 运算符可以用来搜索特定类型的文件。在调查中也是很好用的。

Google 可以搜索很多不同类型的文件,这就是 filetype 派上用场的时候。更确切地说,filetype 搜索以一个特别的文件扩展名结尾的页面。文件扩展名是 URL 的一部分,它跟在文件名最后一个休止符之后,在参数列表的起始问号之前。因为文件扩展名能够显示用哪种类型的软件来打开一个文件,通过搜索一个特别的文件扩展名,filetype 运算符就能够用来搜索特定类型的文件。

Google 会把它搜索到的每一个文档转换成 HTML 格式或者可以在线看的文本文件。例如这样 filetype:doc pirate。第一个搜索结果在文档标题前列出了[DOS],表示该文件为微软 word 格式。这就表示 Google 识别出了这个文件就是一个微软 word 文档。另外 Google 也提供了 HTML 链接,点击后将会显示该文件的 HTML 网页快照。

当你点击一个已经被 Google 转换的文档链接时,在页面顶部会出现一个页眉,就像上面这样,表明你正在浏览该页面的 HTML 版本。当然也提供了原始文件的链接。如果你觉得这看起来很像网页快照,那就对了。这是原始文件的缓存版本被转换成了 HTML。

尽管上述看起来很棒,但 Google 也是不完美的,记住:

  • Google 并非总是为一个页面转换后的版本提供链接;
  • Google 并非总是能准确识别出哪怕是最普通文件格式的类型;
  • 当 Google 抓取一个以特别文件扩展名结尾的页面但它又是个空白文件时,Google 有时会提供一个有效的文件类型和转换后页面的链接。即使一个空白 word 文档的 HTML 版本依然是空白的。

有很多高级运算符可以帮助你更精准地找到你想要的开源信息。其中 site,filetype 都是非常强大的,其他的也很有效,而且很容易记住,比如 stocks 运算符返回某个特定代码的股票信息,define 运算符返回一个单词或简单短语的定义。

下面简单总结一下,就看你需要什么啦。

intitle

在页面的标题里查找字符串

与其他运算符混合使用效果很好

最好在网页、网上论坛、图片和新闻搜索中使用

例:intitle:”index of””backup files”

allintitle

在一个页面的标题里查找所有搜索项

其他运算符或搜索项混合使用效果不好

最好在网页、网上论坛、图片和新闻搜索中使用

例:allintitle:”index of””backup files”(和上面那个返回不一样的结果)

inurl

在一个页面的 URL 里查找字符串

与其他运算符混合使用效果很好

最好在网页和图片搜索中使用

例:inurl:admin index

allinurl

在一个页面的 URL 里查找所有搜索项

其他运算符和搜索项混合使用效果不好

最好在网页、网上论坛和图片搜索中使用

例:allinurl:admin index

filetype

基于文件扩展名搜索特殊文件类型

与 ext 同义

需要一个额外的搜索项

其他运算符或搜索项混合使用效果不好

最好在网页和网上论坛搜索中使用

(这个例子上面有)

site

把一个搜索限定在一个特别的网站或域中

与其他运算符混合使用效果好

能够单独使用

最好在网页、网上论坛和图片搜索中使用

(这个例子上面有)

link

搜索一个网站的链接或者 URL

无法和其他运算符或搜索项混合使用

最好在网页搜索中使用

例:link:www.defcon.org 或者 link:linux

inanchor

在链接的描述性文字中查找文本

其他运算符或搜索项混合使用效果好

最好在网页、图片和新闻搜索中使用

例:inanchor:click

daterange

寻找在一个特定日期范围内索引过的页面

需要一个搜索项

混合使用效果好

可能会让位于 as_qdr 而被淘汰

(这个例子上面有)

numrange

在特定范围内查找一个数字

混合使用效果好

与 ext 同义

例:numrange:12344–12346 (返回 12345)

cache

显示 Google 缓存的页面拷贝

无法与其他运算符或搜索项混合使用

最好在网页搜索中使用

例:cache:linux(与“cache:linux” 加引号返回的结果数量一致)

info

显示关于一个页面的总结信息

无法与其他运算符或搜索项混合使用

最好在网页搜索中使用

例:info:www.csc.com

related

显示与所有网站或 URL 相关的站点

无法与其他运算符或搜索项混合使用

最好在网页搜索中使用

例:related:linux (注意 其返回的结果与加引号的“related:linux”完全不一样)

stocks

为一个股票代码显示 Yahoo 财经的股票列表

无法与其他运算符或搜索项混合使用

最好在网页搜索中使用

就不用举例子了,参数必须是一个有效的股票缩写

define

显示单词或短语的不同含义

无法与其他运算符或搜索项混合使用

最好在网页搜索中使用

例:define:ironic

filext.com/ 这个网站能帮你找到与某个特定的扩展名相关联的程序。

你也许已经意识到了,本文不仅仅是为 #OSINT 开源调查提供的工具,它在社交工程攻击和防御中也非常好用,完全正确!社交工程攻击的基础就是信息收集,需要很多类似开源调查的收集和分析能力,所以它俩是“相关”的。

后面文章还有机会专门介绍用于社交工程学的信息收集方法及其好用的工具。下次见。

广告

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据