上面是根据已有关键字可以搜到的内容(port)来进行搜索的一个例子,下面我们来看另一个场景。
场景2:搜索所有的搭建了Supervisor的服务器
Supervisor是一个用Python写的进程管理工具,可以很方便的用来启动、重启、关闭进程。我们为什么要搜索这个东西呢,当然是因为他有问题。今年9月份的时候Supervisor爆出了一个远程代码执行漏洞CVE-2017-11610,我们想要复现一下漏洞(滑稽)。按照上一个场景的经验,当我们想要通过端口来搜索Supervisor时,我们百度发现他并没有默认端口,所以就需要用的另一种更常用的方法。来看我是怎么找的:
首先在Shodan中搜索supervisor,看返回什么。
可以看到返回了1363条结果,但是根据右边的返回信息来看,好像有些并不是我们需要的东西,这时候就需要进一步细化搜索结果,来找一个能够精确定位的关键词。这里我们多打开一些服务器,来寻找我们需要的supervisor服务器,这里有一个是我们需要的:
打开后发现这个就是我们需要的Supervisor服务器,那么我们用什么来定位这类服务器呢,这里就要用到一些新的语法:
“http.title” 根据网站banner搜索
很明显我们可以看到supervisor服务器有个很明显的特征,就是他的title位置是”Supervisor Status”,那我们是不是可以用http.title:"Supervisor Status"来精确定位所有的supervisor服务器?来看返回结果:
可以看到返回了44个结果,而且右边的预览相应的也都只剩下下了title为Supervisor Status的服务器,至此我们已经大致找到了我们需要的结果,当然Shodan作为一款搜索引擎,也不一定就能够收录所有的设备,所以有一些遗漏也是正常的。
接下来讲一下我们白帽子最喜欢的东西,搜索一个公司相关的服务器。
首先我们都知道,一般的网站有自己icon,比如百度、阿里、腾讯等,而一般公司会对其所有网站的title中都加上这个icon,来增加统一性,也方便用户识别,如下如所示:
Shodan针对网站的icon也有自己的搜索关键词,可以搜索到所有带有统一icon的服务器,一般都会是公司自己的资产了,然后大家就可以对这些服务器进行端口扫描等进一步的漏洞挖掘。这里用到的关键字为:”http.favicon.hash”,hash后面为一串独有的数字,因为并不知道Shodan是如何给每个icon分配hash的,所以这里我来说一下我自己的方法。
首先要知道在Shodan结果中在哪里寻找这个标记,如下如所示,箭头位置就是这个网页的icon:
因为这个icon只能算是对公司资产的一种标识,所以有些网站可能并没有带有icon,但是有些常用手段收集的服务器可能会漏掉这些,所以这个方法还是有一定的用途,这里拿支付宝举例。
我们尝试性的输入一些与支付宝相关的内容来进行搜索,如Alipay,支付宝,等,当我们搜索到时,可以看到结果内已经有携带支付宝icon的网站了: