通过下述一些简单的步骤,就能将物联网搜索引擎Shodan转变为安全专业人士的强大武器。
什么是Shodan?
Shodan是一个搜索引擎,但它与Google这种搜索网址的搜索引擎不同,Shodan是用来搜索网络空间中在线设备的,你可以通过Shodan搜索引擎查找带有网络地址的特定类型计算机、SCADA(管理控制与数据获取系统)硬件和应用程序等。
Shodan搜索引擎可以看作是一种面向网络专业人员的现代漏洞评估工具,它可以扫描互联网和解析各种设备返回的标识(Banners)及其他信息。利用这些数据,Shodan计算机搜索引擎就可以确定哪一些数据库和版本是最流行的,一个特定的位置有多少个网络摄像头,以及这些设备的制造商和型号,或是网络中到底存在多少可匿名登录的FTP服务器等。
虽然有人认为Shodan等网站可能会给黑客攻击漏洞提供方便,但是实际上IT与安全人员有必要知道与攻击者一样多的信息,这样才能建立有效的防御。因此,学习如何使用Shodan查找漏洞,也一样能够让他们受益。
当然,使用Shodan的方式有很多种,但是为了让您少走弯路,我们总结了7点建议来帮助您更好、更有效地运用Shodan搜索网络漏洞:
有效使用Shodan的7点建议
1. 了解什么是“系统旗标信息”(Banners)
Shodan不像Google等传统的搜索引擎,利用Web爬虫去遍历你整个网站,而是直接进入互联网的背后通道,审计设备的各类端口,一刻不停的寻找着所有和互联网关联的服务器、摄像头、打印机、路由器等等。
Shodan的工作原理是对各类设备的端口产生的系统旗标信息(banners)进行审计而产生搜索结果,所以当你使用它的时候,需要懂一点“系统旗标信息”的知识。
所谓Banners,实际上就是服务在查询时返回的信息块。根据响应的服务不同,Banners可以包含软件名称和版本、安装日期以及其他不同的信息块。当然,Banners也可能会被更复杂的所有者欺骗,因此要知道Shodan看到的是服务返回的内容,而不一定是它实际包含的内容。
重要的是要意识到banners来自服务,而不是服务器或主机。这也就意味着,具有多种服务的单个设备(例如HTTP服务、FTP服务或SNMP服务)可以返回各种不同的banners以响应不同的查询。
这些不同的服务也可以返回包含大量不同类型和数量信息的banners,这一点在构建复杂查询时非常重要。了解返回标头的格式意味着您将能够更好地解释Shodan提供的数据。
2. 求助专业书籍
开发Shodan(于2009年发布)的John Matherly也写了一本关于它的电子书——《Shodan指导手册》(The Complete Guide to Shodan)。通过这本书,用户能够更好、更充分地理解并运用Shodan搜索引擎。例如,Matherly在书中详尽地解释了Shodan爬虫的工作内容以及运行原理。这对于那些想要了解Shodan搜索引擎能够做什么,以及如何做的人士来说非常重要。
除此之外,这本书还解释了如何构建多部分(multipart)查询,并在附录中列出了可用于搜索的所有过滤器。在Shodan中,过滤功能非常强大,用户可以使用各种过滤器查找连接到互联网的特定类型的计算机(网络摄像头、路由器、服务器等)。
书中的大部分内容也可以从其他来源处获取,而低成本的电子出版物显然更方便易用。
3. 获取合适的账号
Shodan有许多不同的服务等级,价格从免费到每月数百美元不等。了解每个等级为您提供的内容以及如何使用它是问题的关键。
对于新手来说,Shodan上至少有6个单独的项目可供选择。任何人都可以访问该搜索引擎并输入查询,但返回的结果数量将受到限制。注册网站能够增加您获得的结果数量。而当你选择付费服务时,返回的结果数量以及可用的过滤器数量都会大大增加。
最基础的付费项目是49美元的一次性付款,该项目允许您使用大多数过滤器,并返回大型数据集。价格更高的项目会返回更多查询结果,并提供更多过滤器,这对安全专业人员来说非常重要。因为像“vuln”过滤器允许通过CVE进行搜索,并返回易受特定CVE攻击的设备。但是,这种过滤器并非所有人都能够使用,您必须至少具备小型企业开发者会员资格(每月299美元)或学术会员资源才能使用该过滤器。
4. 使用API
毫无疑问,能够访问shodan.ai网站,输入搜索条目并最终获得结果,这是一个很愉快的过程。但是,出于许多安全目的,通过API调用将Shodan绑定为安全基础架构的一部分,将极大的提高搜索引擎的功效和实用性。
借助API,Shodan结果可以直接提供给安全信息和事件管理系统以及其他安全分析引擎,以支持用于网络防御的数据集。此外,搜索结果也可以以各种不同的格式输入系统——从.XLS到持续流式(constantly streamed)实时数据的“firehose”。
Shodan提供了许多不同语言和框架的API调用。此外,Github和在线论坛中也提供了许多不同的API使用示例,这些示例可作为将Shodan与其他产品相关联的应用程序和粘合应用程序的基础。您可以使用Bishop Fox的一系列工具作为入门基础,其中包括组成SearchDiggity工具包一部分的ShodanDiggity。
5. 越具体越有效
广泛的查询可能很有趣(例如“向我展示网络摄像头”),但真正有用的情报往往存在于高度针对性的搜索之中。学习如何尽可能具体地进行查询,可能是使用Shodan数据进行有效防御的关键所在。
在Shodan中,您能够获取到的具体程度将取决于您所拥有的会员资格,如果您已经至少达到49美元的终身会员资格,那么您将能够使用许多现有的过滤器。关于如何更好的实现这一点还有许多其他资源,包括Github和许多其他平台上的基础项目等。
与大多数搜索引擎一样,想要获取特定内容的关键是通过堆叠术语。如此一来,您就可以在特定IP地址范围内查找网络摄像头,在特定城市中查找特定类型的路由器,或查找具有特定国家/地区特定配置详细信息的特定工业控制器。如果您试图找出您认为已部署的内容与用户实际放在网络上的内容之间存在差异,那么这些信息可能很有价值。
6. 引入另一个浏览器
虽然Shodan很强大,但它与标准搜索引擎(例如Bing或Google)不同。例如,如果您正在寻找来自一位19世纪作者的一个“举证”(quote),那么Shodan并不能帮到您什么忙。这也就解释了为什么Shodan和另一个浏览器组合可以发挥更强大的功效。
那么如何同时使用两个浏览器呢?如果你是一名渗透测试人员,你可能会这么做:你先使用Shodan搜索特定设备。假设您已经具体搜索了特定的制造商和型号,并且您已将物理位置和IP范围缩小到目标系统。那么接下来,您会使用Google搜索该设备的默认用户名和密码。找到相关信息后,你会看目标设备是否通过了“Basic Security 101”。
我们在此要强调的重点是,关于物联网设备有很多不同类型的信息,而Shodan并不能搜索到所有这些信息。不可否认,Shodan是一个功能强大的工具,但它并不是工具包中唯一的可用工具。
7. 图像结果同样重要
当我们分析搜索结果时(特别是有关物联网的结果),我们更倾向于分析文本,但是有时候长文本列表的复杂性可能会带给分析人员巨大的工作负担,甚至可能这些文本别表根本是无意义的。这就是Shodan提供图像信息的原因所在,其目的就是为了更为直观地显示该搜索引擎发现的结果。
Shodan搜索引擎的两个基于图像的结果页面分别是Shodan Maps和Shodan Images。当您尝试围绕事件爆发、漏洞和设备分布设置某种全局环境/上下文时,这种图像结果是非常有用的。当然,图像页面也可用于其他目的,例如研究人员可以查看以前未遇到过的设备的登录和管理屏幕示例。有趣的是,它也再次证实了计算机UI设计师喜欢蓝色的程度。