Shodan是互联网上最强大的一个搜索引擎工具。
该工具不是在网上搜索网址,而是直接搜索服务器。
Shodan可以说是一款“黑暗”谷歌,一直不停的在寻找着所有和互联网连接的服务器、摄像头、打印机和路由器等。
每个月都会在大约5亿个服务器上日夜不停的搜集信息。
Shodan的官网网址是www.shodanhq.com。打开该网址界面,如图所示。
如果要搜索一些东西时,在Shodan对应的文本框中输入搜索的内容。然后,单击Search按钮开始搜索。
例如,用户想要搜索思科路由器,则在搜索框中输入Cisco,并单击Search按钮。
搜索到结果后,显示界面如图所示。
从该界面可以看到搜索到全球三百多万的Cisco路由器。在该界面用户可以单击任何IP地址,直接找到该设备。
在使用Shodan搜索引擎中,可以使用过滤器通过缩示搜索范围快速的查询需要的东西。
如查找运行在美国IS8.0的所有IIS服务,可以使用以下搜索方法,如图所示。
在该界面显示了搜索到的一个ⅡS 8.0服务器。从搜索到的设备中,可以看到关于该服务器的标题信息、所在的国家、主机名和文本信息。
在Shodan搜索时,需要注意一些过滤器命令的语法。常见的几种情况如下所示。
使用City和Country命令可以缩小搜索的地理位置。如下所示。
country:US 表示从美国进行搜索。
city:Memphis 表示从孟斐斯城市搜索。
City和Country命令也可以结合使用。如下所示。
country:US city:Memphis。
HOSTNAME命令通过指定主机名来扫描整个域名。
hostname:google 表示搜索google主机。
使用NET命令扫描单个IP或一个网络范围。如下所示。
net:192.168.1.10:扫描主机192.168.1.10。
net:192.168.1.0/24:扫描192.168.1.0/24网络内所有主机。
使用Title命令可以搜索项目。如下所示。
title:“Server Room” 表示搜索服务器机房信息。
Shodan使用一个关键字搜索是最受欢迎的方式。如果知道目标系统使用的服务器类型或嵌入式服务器名,来搜索一个Web页面是很容易的。如下所示。
apache/2.2.8200 ok:表示搜索所有Apache服务正在运行的2.2.8版本,并且仅搜索打开的站点。
apache/2.2.8-401-302:表示跳过显示401的非法页或302删除页。
IIS/7.0hostmame:YourCompany.com city:Boston表示搜索在波士顿所有正在运行IⅡS/7.0的Microsoft服务器。
IIS/5.0hostmame:YourCompany.com country:FR表示搜索在法国所有运行IS/5.0的系统。
Title:camera hostname:YourCompany.com表示在某台主机中标题为camera的信息。
geo:33.5,36.3 os:Linux表示使用坐标轴(经度33.5,纬度36.3)的形式搜索Linux操作系统。
Port:通过端口号搜索。
OS:通过操作系统搜索。
After或Before:使用时间搜索服务。
(1)在Shodanhq.com网站注册一个免费的账户。
(2)从http://www.shodanhq.com/api_doc网站获取API key。
(3)启动PostgreSQL服务。执行命令如下所示:
service postgresql start
(4)启动Metasploit服务。执行命令如下所示:
service metasploit start
(5)启动MSF终端,执行命令如下所示:
msfconsole
msf>
(6)选择auxiliary/gather/shodan_search模块,并查看该模块下可配置的选项参数。执行命令如下所示:
use auxiliary/gather/shodan_search
从以上输出信息中,可以看到有四个必须配置选项参数。
其中有两个选项已经配置,QUERY和SHODAN_APIKEY还没有配置。
(7)配置QUERY和SHODAN_APIKEY选项参数。执行命令如下所示:
msf auxiliary(shodan_search)>set SHODAN_APIKEY duV9wgCmo0oDfWqfWafax8sj0ZUa5BU
SHODAN_APIKEY =>duV9wgCmo0oDfWqfWafax8sj0ZUa5BU
msf auxiliary(shodan_search)>set QUERY iomega
QUERY =>iomega
(8)启动搜索引擎。执行命令如下所示:
以上输出的信息显示了匹配iomega关键字的所有信息。
搜索的结果显示了四列,分别表示IP地址、城市、国家和主机名。
如果想要使用过滤关键字或得到更多的响应页,用户必须要购买一个收费的APIkey。
参考书籍:《Kali Linux渗透测试技术详解》