Shodan搜索引擎允许用户查找带有网络地址的特定类型计算机、SCADA(管理控制与数据获取系统)硬件和应用程序。
Shodan搜索引擎可以看作是一种面向网络专业人员的现代漏洞评估工具。Shodan可以扫描互联网和解析各种设备返回的标识及其他信息。
利用这些数据,Shodan计算机搜索引擎就可以确定哪一些数据库和版本是最流行的,一个特定的位置有多少个网络摄像头,以及这些设备的制造商和型号。虽然有认认为Shodan等网站可能会给黑客攻击漏洞提供方便,但是实际上网络与安全人员有必要知道与攻击者一样多的信息,这样才能建立有效的防御。因此,学习如何使用Shodan查找漏洞,也一样能够让他们受益。
如何在Shodan中进行简单搜索?
在学习如何使用Shodan进行漏洞评估之前,我们先学习如何进行一个简单的搜索。首先打开Shodan网站,然后在搜索框中输入一个值。例如,你可能在使用Mongo数据库,然后希望了解有什么搜索结果。
在搜索结束之后,页面左侧将显示汇总数据:
搜索总数:2,861
数量最多国家:美国
服务总数:2,205
这里也可以搜索软件的特定版本(如Mongo 3.4)、位置或其他特殊属性。页面下拉将会显示更多的搜索结果。下面我们花一些时间详细了解一些主要内容。
注意页面主区域的每一项都包含关于具体项目的更详细信息。其中包括:
IP地址;
主机名;
互联网服务提供商(ISP);
条目添加到数据库的时间;
条目所在的国家;
广告。
现在,我们再回到上面的例子,注意数据库名称为DB_H4CK3D。这个数据库似乎已经被黑客攻击。黑客搜索了可攻击的MongoDB服务器,复制和删除了数据库之后,留下一个信息:要求用比特币赎回数据库。从2017年初以来,这种手段已经重复出现上百次。同样,这种手段已经被用于攻击和偷取820,000多个帐号的2百万条记录。
虽然MongoDB默认支持连接互联网的数据库,但是老版本并未启用任何的身份验证。这是很可怕的,因为MongoDB软件有超过2千万的下载量,是现在运营数据增加最快的数据库之一。
单击Shodan搜索结果中的IP地址,就可以查看更多的明细。当选中一个主机时,就可以看到像已发现端口列表、各个端口明细、标识、服务器位置、ISP等信息,同时还会显示一张标记其位置的地图。下图是一个例子:
如何在Shodan进行高级搜索?
前面介绍了Shodan计算机搜索引擎的简单用法。在此之后,现在我们来学习如何使用Shodan进行高级搜索。它的高级搜索功能确实有过人之处。注意:用户在使用高级搜索前需要注册一个帐号。在登录之后,用户就要吧使用下面的搜索选项:
标题:搜索HTML标题标签(<title>)中的内容。
HTML:搜索所返回页面中全部HTML内容。
产品:搜索网站标识中注明的软件或产品的名称。
网段:搜索指定的网段——如,4.2.2.2/8。
版本:搜索产品的版本号。
端口:搜索指定的一个或多个端口。
国家:搜索指定国家的结果。
城市:搜索指定城市的结果。
例如,假设一个组织在休斯顿的多个办公点,那么我们关心的是一些可能仍在运行未安装补丁、有漏洞存在的网络服务的位置。这时,我会在高级搜索中输入:jboss 5.0 country:"US" city:"houston"。
这个搜索在休斯顿发现了48个运行JBoss 5.0的结果。我之所以选择这个例子,是因为去年有320万台服务器被发现安装了可能遭受SamSam勒索缵的旧版本JBoss。
这个例子可以让我们很好地了解应该如何使用Shodan及其所能搜索的信息类型。你可能想知道其他人在搜索什么内容,现在我们来看一些流行的搜索关键词。
注意,上面的最近搜索列表包含了这样一些词汇:网络摄像头、摄像头、SCADA、FTP和服务器。SCADA搜索应该会让人引起注意。SCADA设备是工业控制产品,它们可以管理电网、水力发电厂、石油与燃气管道、废水处理厂和石油泵站。SCADA设备也是潜在的网络攻击目标,国外黑客可能会企图切断电力或破坏其他的重要基础设施。我建议所有人都来学习如何使用Shodan查看自己网络的状况。