# Shodan搜索引擎介绍

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2014-06-30T07:35:00Z
Canonical: https://wepostx.com/topics/511

> 乌云历史资料归档
>
> **原始作者：** 修码的马修
> **原始编号：** superkieran-wooyundrops:290
> **原始发布时间：** 2014-06-30 15:35
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

from:http://www.exploit-db.com/wp-content/themes/exploit/docs/33859.pdf

## 0x00 概要

这篇文章可以作为渗透测试人员和安全工作者运用Shodan搜索引擎的指南，同时有助于理解其工作原理和达到安全审计目的。文章也列举出找到大量有风险的互联网服务及其设备的步骤和方法。同时介绍了Shodan能用初级筛选语法以及Shodan和其他工具的联合运用。主要适用于渗透测试的数据收集阶段。

## 0x01 介绍

Shoudan是一个用于帮助发现主要的互联网系统漏洞（包括路由器，交换机，工控系统等）的搜索引擎。它在圈子里就像google一样出名。它主要拦截从服务器到客户端的元数据来工作，目前提供超过50个端口的相关搜索。
Shodan能找到的设备：

```text
1.服务器 2.路由器 3.交换机 4.公共ip的打印机 5.网络摄像头 6.加油站的泵 7.Voip电话和所有数据采集监控系统
```
Shodan能做的：

```text
1.用户搜索制定的项目 2.Shodan寻找端口并拦截数据 3.Shodan为拦截的数据设置索引 4.显示结果
```
Shodan和google的区别：

```text
Google的爬虫/蜘蛛 抓取网页数据并为网页内容创建索引，然后更具page rank显示结果。Shoudan主要寻找端口并抓取拦截到的信息，然后为它们建立索引，最后显示结果。Shoudan并不像google那样为网页内容建立索引，因此它是一个基于拦截器的搜索引擎。
```

## 0x02 基础用法

City：用于寻找位于指定城市的设备。例：

```text
iis city:New York
```
County：用于寻找位于指定国家的设备。例：

```text
iis country: United States
```
Port：限定指定的端口。例：

```text
https port:443
```
Os：用于寻找特定的操作系统。例：

```text
microsoft-iis os:"windows 2003"
```
Geo：根据经纬度和指定的半径来返回结果。只能有2个或3个参数，第三个参数是半径，默认数值之5km。例：

```text
apache geo:42.9693,-74.1224
```
Net：用于寻找指定ip地址和子网掩码的设备。例：

```text
iis net:216.0.0.0/16
```
Hostname：用于搜索包含指定域名的主机。例：

```text
Akamai hostname:.com
```
After and Before: 帮助找到指定日期范围的设备。格式：dd/mm/yyyy dd-mm-yy 例：

```text
apache before:1/01/2014 nginx after:1/01/2014
```
注意：登陆后大多数参数都能运作。

## 0x03 Shodan和其他工具的结合

### 1.和Maltego的结合
需要：[从http://www.paterva.com/web6/products/download.php](http://%E4%BB%8Ehttp://www.paterva.com/web6/products/download.php)下载Matlego。
从 [https://static.Shodan.io/downloads/Shodan-maltego-entities.mtz](https://static.Shodan.io/downloads/Shodan-maltego-entities.mtz)
下载Shodan的matlego目录
用法：

```text
1.安装maltego之后，选择‘Manage tab’里的 ‘Manage Entities’ ，然后选择‘import’。 2.选择 ‘transforms’ 然后是‘advanced’
```

![原文图片](/media/2016/06/e60fb4a6ea31643a9732a67b83863eba)

```text
3.现在可以添加Shodan的链接https://cetas.paterva.com/TDS/runner/showseed/Shodan
```

![原文图片](/media/2016/06/8360324924da9d64e2df4c7b2dc56c53)

```text
4.最后我们可以看到安装成功的窗口
```

![原文图片](/media/2016/06/2389b3b87c1f4b2f7fe7f645685fe054)

注意：需要你有Shodan的API keys，可以在maltgo进行Shodan的使用，API keys在你登陆Shodan账户时候是可以获得的。

### 2.和metasploit的结合
用法：

```text
1.在Kail/Backtrack Box中打开Metasploit framework
```

![原文图片](/media/2016/06/ae781523be3e92f432e0ca1d15b7a5df)

```text
2.在命令行中输入show auxiliary
```

![原文图片](/media/2016/06/d4759fe9416143075e67bd927b63f133)

```text
3.使用 auxiliary/gather/Shodansearch 模块
```

![原文图片](/media/2016/06/6d4aa2f5669936d187c18fd4e69edef5)

```text
4.现在，你可以用show options命令来查看模块需要的参数
```

![原文图片](/media/2016/06/255057f1295504122078bdd173b9fd89)

```text
5.我们需要指定iis来搜索iis服务器，还需要登陆Shodan账户后得到的API key。现在我们可以用Run command 来执行命令。
```

![原文图片](/media/2016/06/6a44f13bc8b490961bcbafb15ba8d1c9)

![原文图片](/media/2016/06/58b56af3feb09792a1acad795c6c87f5)

一般来说 auxiliary/gather/Shodan_search模块通过API向数据库查询前50个ip 地址。50个ip地址的限制可以通过购买无限制API key来扩大到查询10000个ip地址

## 0x04 Shodan的组件

1.Exploits：Shodan Exploits 能够用于在ExploitDB 或Metasploit寻找针对不同系统、服务器、平台、应用的的exploits。

![原文图片](/media/2016/06/e812fabc260beedfdf3eda64e3dd51a8)

2.Maps：这是个付费功能，我们能在地图上直观地看到Shodan提供的结果。提供三种视图：卫星，街景（浅），街景（深）。可以同时在屏幕展示超过1000个结果。

![原文图片](/media/2016/06/8c7b5f69897575644d6973dbf5078b97)

3.)Scanhub：Shodan Scanhubs可以用于创建陌生网络的搜索，它支持Nmap 和 Masscan类似的工具。要使用Scanhub，我们首先要设置好工具，输出一个XML格式的文件并上传到Scanhub的库里以获得结果。不幸的是这也是一个付费功能。

## 0x05 一些测试的例子

### 1. Netgear设备

![原文图片](/media/2016/06/e5c25f38437665d5a67d5b5b8a2b462d)

### 2. 网络摄像头

![原文图片](/media/2016/06/7c499e1e3feff772729301b8877011ae)

### 3. 比特币服务器

![原文图片](/media/2016/06/c121134160d0e9fa57f265a638612799)

### 4. Ruby on Rails Vulnerable Server(CVE-2013-0156 and CVE-2013-0155)

![原文图片](/media/2016/06/aee81196e12527cabdb9294624a830f8)

### 5. Windfarms:

![原文图片](/media/2016/06/278f22d9cd3850aa2dc66afcb835718e)

### 6. DNS 服务:

![原文图片](/media/2016/06/6dbfcdeddc4dd5e7abe17088ddfbf352)

## 0x06 一些另外的cheat sheet 链接

http://www.Shodanhq.com/?q=bitcoin-mining-proxy (Bitcoin proxy mining) http://www.Shodanhq.com/search?q=port%3A11 (Systat) http://www.Shodanhq.com/search?q=port%3A8089+splunkd (Splunk servers on tcp/8089) http://www.Shodanhq.com/search?q=port%3A17(Search for quote of the day) http://www.Shodanhq.com/search?q=port%3A123(Ntp monlist) http://www.Shodanhq.com/search?q=port%3A5632 (Vnc) http://www.Shodanhq.com/search?q=port%3A1434 ((MS-SQL (1434)) http://www.Shodanhq.com/search?q=OpenSSL%2F1.0.1 (Servers running OpenSSL/1.0.1) http://www.Shodanhq.com/search?q=port%3A79 (Finger protocol) http://www.Shodanhq.com/search?q=port%3A15 (Netstat) http://www.Shodanhq.com/?q=telemetry+gateway (Telemetry gateway)
http://www.Shodanhq.com/?q=port:161+country:US+simatic (Simatic automation system o 161 running in US)

## Replies
