Shodan在渗透测试及漏洞挖掘中的一些用法

渗透测试中,第一阶段就是信息搜集,这一阶段完成的如何决定了你之后的进行是否顺利,是否更容易。而关于信息收集的文章网上也是有太多,但是你真的会用吗?今天我们来通过一些例子来讲解如何正确使用Shodan这一利器。

想要利用好这一利器,首先得知道他是什么,Shodan是一款网络空间搜索引擎,和我们常见的百度谷歌不同,他主要搜索的是存在于互联网中的设备,服务器、摄像头、工控设备、智能家居等,都是他的目标。Shodan不仅可以发现这些设备,并且可以识别出其版本,位置,端口,服务等一些信息,并且进行了一些相应分类。

Shodan分免费账户和会员账户,免费账户对一些标签的搜索和多标签关联搜索有限制,而会员的话就可以任意进行一些搜索,所以想要搜到自己想要的结果最好还是有一个会员比较方便,Shodan在每个黑色星期五的时候会进行打折,平时需要49美元的会员活动时只需要5美元,正好就是这两天,需要的小伙伴可以关注下。

下面开始正式来讲一下如何在平时的渗透测试中利用好Shodan。

一个系统的受攻击面越多,被入侵的风险也就越大,Shodan可以很好的帮你找到其他攻击面。

场景1:想搜索美国所有的elasticsearch服务器

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。为什么要搜索他,因为他有多个漏洞,未授权访问、目录遍历、任意命令执行等,搜索wooyun镜像也可以看到有不少结果。

要实现这个场景,首先要了解一些关于elasticsearch服务器的基本知识,首先是百度。

我们可以了解到elasticsearch的默认端口是9200,这时我们可以先在Shodan进行相应搜索,看会返回什么。在Shodan中输入“port:9200”来进行搜索,

可以看到返回,共搜索到215669个结果,重点在左边这个分类统计,

我们想要的是美国的elasticsearch服务器,可以看到左边的统计中已经对一些常用字段进行了分类统计,有国家、组织、操作系统及产品,这里已经看到了我们所需要的字段,只需要点击相应的标签,即可进行进一步的细化搜索。

注意观察每一次点击标签后搜索语句的变化,到这里我们可以看到已经实现了我们的目的,找到了美国的elasticsearch服务器。当搜索结果细化到一定程度时,左边的统计也会有相应的变化,现在可以看到已经变成了对城市、组织、操作系统、和elasticsearch版本的一个统计。至此我们已经学会一些基本语法:

“port:” 按照指定端口进行搜索

“product:” 对某一产品进行搜索

“country:” 指定国家,

当我们需要多个词同时搜索时,只需要在每个关键词间加空格隔开就行,当不需要某个词时,可以用”-”加上关键词来进行去除,比如不想要Amazon的elasticsearch服务器,就可以”-org:amazon”,如何知道org这个关键词的?同样是左边的统计,当我们鼠标移动到Amazon时,可以看到他相应的链接,已经给出了关键词。

以上是根据某个服务或软件来搜寻需要的主机,下面我们来看另一个场景。

场景2:搜索所有的搭建了Supervisor的服务器

Supervisor是一个用Python写的进程管理工具,可以很方便的用来启动、重启、关闭进程。我们为什么要搜索这个东西呢,当然是因为他有问题。今年9月份的时候Supervisor爆出了一个远程代码执行漏洞CVE-2017-11610,我们想要复现一下漏洞(滑稽)。按照上一个场景的经验,当我们想要通过端口来搜索Supervisor时,我们发现他并没有默认端口,所以就需要用的另一种更常用的方法。

首先在Shodan中搜索supervisor,看返回什么。

可以看到返回了1363条结果,但是根据右边的返回信息来看,好像有些并不是我们需要的东西,这时候就需要进一步细化搜索结果,来找一个能够精确定位的关键词。这里我们打开一个结果。

打开后发现这个就是我们需要的Supervisor服务器,那么我们用什么来定位这类服务器呢,这里就要用到一些新的语法:

“http.title:” 根据网站title搜索

很明显我们可以看到supervisor服务器有个很明显的特征,就是他的title位置是“Supervisor Status”,那我们是不是可以用http.title:"SupervisorStatus"来精确定位所有的supervisor服务器?来看返回结果

可以看到返回了44个结果,而且右边的预览相应的也都只剩下下了title为Supervisor Status的服务器,至此我们已经大致找到了我们需要的结果,当然Shodan作为一款搜索引擎,也不一定就能够收录所有的设备,所以有一些遗漏也是正常的。

接下来讲一下我们白帽子最喜欢的东西。

场景3:搜索一个公司相关的服务器

首先我们都知道,一般的网站有自己icon,比如百度、阿里、腾讯等,而一般公司会对其所有网站的title中都加上这个icon,来增加统一性,也方便用户识别,如下如所示:

Shodan针对网站的icon也有自己的搜索关键词,可以搜索到所有带有统一icon的服务器,一般都会是公司自己的资产了,然后再对这些服务器进行端口扫描等进一步的漏洞挖掘,其语法关键字为:”http.favicon.hash:”,hash后面为一串独有的数字,因为并不知道Shodan是如何给每个icon分配hash的,所以这里我来说一下我自己的方法。

首先要知道在Shodan结果中在哪里寻找这个标记,如下如所示,

Shodan搜索icon时会出现在箭头所示的位置。

因为这个icon只能算是对公司资产的一种标识,所以有些网站可能并没有带有icon,但是有些常用手段收集的服务器可能会漏掉这些,所以这个方法还是有一定的用途,这里拿支付宝举例。

我们尝试性的输入一些与支付宝相关的内容来进行搜索,如Alipay,支付宝,www.alipay.com等,当我们搜索到www.alipay.com时,可以看到结果内已经有携带支付宝icon的网站了。

这个时候需要做的就是,点击这个icon图标,然后将刚才的www.alipay.com删掉,就可以得到所有携带该icon的网站了。

当然对于公司资产的收集,除了上面的方法,还有其他。一般大型的公司都会购买一个或几个网段来使用,那么这里就可以用到我们刚才提到过的”org”语法来进行搜索,这里拿阿里巴巴进行举例。

直接在Shodan中搜索阿里巴巴,看返回什么。

注意我框起来的地方,这个位置显示的就是他的所属组织,那么根据我们上面讲的,这里我们点击Alibaba,然后将我们刚才输入的alibaba删掉,然后只看中国的服务器,再次搜索,看会得到什么。

这样就得到了所有阿里巴巴集团网段的服务器,但由于阿里业务巨大,再加上有阿里云业务,所以结果中并不都是阿里自家的东西,这里只是讲一个大致思路,具体怎么进一步利用,还需要自己思考。

最后在列举一些比较常用的搜索语句来供大家参考,什么时候用什么样的语句,完全取决于你怎么去想。

asn 区域自治编号

port 端口

org ip所属组织机构

os 操作系统类型

http.html 网页内容

html.title 网页标题

http.server http请求返回中server的类型

http.status http请求返回响应码的状态

city 城市

country 国家

product 所使用的软件或产品

vuln CVE漏洞编号

其实Shodan的关键词还有很多,经纬度、ssl信息、smb版本号、区号、返回码状态等等,只要发挥你的想象力,从结果中寻找结果,就总能得到你想要的。

以上就是我使用Shodan过程中的一点心得,分享给大家。安全的路还很长,学习的路还很远,不忘初心,方得始终。

原文发布于微信公众号 - ChaMd5安全团队(chamd5sec)

原文发表时间:2017-11-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏做全栈攻城狮

用Android最火的快速开发框架XUtils,进行文件下载

更多原创教程,关注微信公众平台:做全栈攻城狮。及做全栈攻城狮官网:www.8z5.net

2793
来自专栏木子昭的博客

"杀手级"抓包软件wireshark入门wireshark是什么最基本的过滤规则

wireshark是什么 ? wireshark_logo wireshark是一款抓取数据包的软件,通过它可以看到局域网内的通讯信息 在使用交换机组建局域网的...

3957
来自专栏大数据文摘

看我如何发现Uber合作方网站XXE 0day漏洞并获得9000美元赏金

1683
来自专栏杨逸轩 ' sBlog

如何建立个人博客?

8389
来自专栏FreeBuf

五大安全研究者必用的搜索引擎

CNN 曾在 2013 年 4 月 8 日 的新闻报道中称 Shodan 是“互联网上最可怕的搜索引擎”。 甚至光是听它的名字,就让人觉得不寒而栗! 那只是三年...

2497
来自专栏ytkah

微信图文消息添加音乐一招搞定 只需修改背景音乐地址

  最近经常听网友问微信图文消息加音乐怎么弄,其实微信公众号添加音乐很简单,复制几行代码到公众平台图文素材中就能实现,只需修改一下背景音乐地址就可以了。   2...

3723
来自专栏ytkah

微信公众平台数据接口正式对所有认证公众号开放

  经过10多天的微信公众平台数据接口内测,现在正式对所有认证公众号开放了。微信公众平台数据接口正式向所有已微信认证(通过资质认证即可)的服务号和订阅号开放。通...

4503
来自专栏花叔的专栏

解读一下一次性订阅消息

话说,微信的消息触达功能又“多”一项了---一次性订阅消息,也可以称她为“被动触达消息”,“被动”指的是开发者是被动的,因为这个消息必须由用户主动触发,而昨晚的...

1.3K12
来自专栏吴伟祥

Linux kernel Overview 原

Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

1126
来自专栏向治洪

OSGi简介

这两天在研究Kotlin时,看到Kotlin和和OSGi的完美融合,就有必要介绍下OSGi。 OSGi是什么 OSGi是Open Services Gatewa...

3405

扫码关注云+社区

领取腾讯云代金券