Shodan搜索引擎的相关学习资料


原文地址:http://drops.wooyun.org/tips/2469

https://www.exploit-db.com/docs/33859.pdf

0x00 概要

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

0x01 介绍

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

Shodan能找到的设备:
    1. 服务器
    2. 路由器
    3. 交换机
    4. 公共ip的打印机
    5. 网络摄像头
    6. 加油站的泵
    7. Voip电话和所有数据采集监控系统
Shodan能做的:
    1. 用户搜索制定的项目
    2. Shodan寻找端口并拦截数据
    3. Shodan为拦截的数据设置索引
    4. 显示结果
Shodan和Google的区别:

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

0x02 基础用法

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

iis city:New York

County:用于寻找位于指定国家的设备。例:

iis country: United States

Port:限定指定的端口。例:

https port:443

Os:用于寻找特定的操作系统。例:

microsoft-iis os:"windows 2003"

Geo:根据经纬度和指定的半径来返回结果。只能有2个或3个参数,第三个参数是半径,默认数值之5km。例:

apache geo:42.9693,-74.1224

Net:用于寻找指定ip地址和子网掩码的设备。例:

iis net:216.0.0.0/16

Hostname:用于搜索包含指定域名的主机。例:

Akamai  hostname:.com

After and Before: 帮助找到指定日期范围的设备。格式:dd/mm/yyyy dd-mm-yy 例:

apache before:1/01/2014

nginx after:1/01/2014

注意:登录后大多数参数都能运作。

0x03 Shodan和其他工具的结合

1.和Maltego的结合

之前使用过Maltego但效果一般,可能和国情有关(还有可能就是G·F·W的原因),所以就没再继续了,而且也确实比较大(装在VPS上的话又有可能吃不消),装配起来比较麻烦o(╯□╰)o

2.和metasploit的结合

用法:

    1. 在Kail/Backtrack Box中打开Metasploit framework
    2. 在命令行中输入show auxiliary
    3. 使用 auxiliary/gather/Shodansearch 模块
    4. 现在,你可以用show options命令来查看模块需要的参数
    5. 我们需要指定iis来搜索iis服务器,还需要登陆Shodan账户后得到的API key。现在我们可以用Run command 来执行命令。

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

0x04 Shodan的组件

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

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

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

0x05 一些测试的例子

1. Netgear设备

netgear port:80

2. 网络摄像头

Android Webcam Server-Authenticate

3. 比特币服务器

port:8333

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

Server:Thin -3.2.11 -3.1.10 -3.0 -2.3.15

5. Windfarms

Jetty 3.1.8 (Windows 2000 5.0 x86) "200 OK"

6. DNS 服务

port:5353

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)

之前用过Shodan搜索和路由器相关的漏洞,效果还不错。


还有一个从园长MM那里学来的技巧{http://p2j.cn/?p=1348}:

在登录状态下,切换到Chrome控制台:

var url = "http://www.shodanhq.com/search?q=关键字&page=";
for(var i=1;i<101;i++){
    var request = null;
    if (window.ActiveXObject) {
        request = new ActiveXObject("Microsoft.XMLHTTP");
    }else {
        request = new XMLHttpRequest();
    }
    request.open("GET",url+i, false);
    request.setRequestHeader('If-Modified-Since', '0');
    request.send(null);
    var str = request.responseText;
    str = str.replace(/r/g,"");
    str = str.replace(/n/g,"");
    var urls = [];
    str.replace(/<div class='ip'>.*?<a href=".*?">(.*?)</a>.*?</div>/ig, function(a,b) {
        urls.push(b);
    });
    console.info(urls.join('n'));
}

主要是为了批量获取URL,但是其实循环中的101有些多了,默认也就返回个前50的结果,如果想要更多搜索结果的话,就需要money了。

,

《“Shodan搜索引擎的相关学习资料”》 有 17 条评论

  1. Datasploit允许你根据 (域名, 邮箱, 用户名 和 手机号) 执行 OSINT
    https://www.blackhat.com/us-16/arsenal.html#datasploit
    https://github.com/pereval-team/datasploit
    https://github.com/yamakira/datasploit
    `
    domainOsint.py
    domain_GooglePDF.py
    domain_censys.py
    domain_checkpunkspider.py
    domain_dnsrecords.py
    domain_emailhunter.py
    domain_forumsearch.py
    domain_github.py
    domain_history.py
    domain_pagelinks.py
    domain_pastes.py
    domain_shodan.py
    domain_subdomains.py
    domain_wappalyzer.py
    domain_whois.py
    domain_wikileaks.py
    domain_zoomeye.py
    emailOsint.py
    email_basic_checks.py
    email_fullcontact.py
    email_pastes.py
    generate_passwords.py
    ipOsint.py
    ip_shodan.py
    ip_whois.py
    `

  2. Shodan的又一种玩法-实时资产监控
    https://paper.tuisec.win/detail/8d34bc42d884b1c
    https://mp.weixin.qq.com/s/_EViw4ovD27Mzjpb4mpU4g
    `
    shodan 配置(安装、初始化、设置API Key)
    设置监控
    使用到shodan的alert功能:
    alert 示例
    取回数据
    资产ICS监控
    手机捷径

    捷径还可以设置siri之类的,有很多东西可以用python做,不过pythonista需要收钱,就没有搞。
    还有很多东西可以优化,每隔5分钟获取一次最新资产,和后台数据库对比然之类的。手机提醒分分钟挖到新上线业务的。
    `

回复 hi 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注