原文地址:http://drops.wooyun.org/tips/2469
https://www.exploit-db.com/docs/33859.pdf
0x00 概要
这篇文章可以作为渗透测试人员和安全工作者运用Shodan搜索引擎的指南,同时有助于理解其工作原理和达到安全审计目的。文章也列举出找到大量有风险的互联网服务及其设备的步骤和方法。同时介绍了Shodan能用初级筛选语法以及Shodan和其他工具的联合运用。主要适用于渗透测试的数据收集阶段。
0x01 介绍
Shoudan是一个用于帮助发现主要的互联网系统漏洞(包括路由器,交换机,工控系统等)的搜索引擎。它在圈子里就像google一样出名。它主要通过拦截从服务器到客户端的元数据来工作,目前提供超过50个端口的相关搜索。
Shodan能找到的设备:
- 服务器
- 路由器
- 交换机
- 公共ip的打印机
- 网络摄像头
- 加油站的泵
- Voip电话和所有数据采集监控系统
Shodan能做的:
- 用户搜索制定的项目
- Shodan寻找端口并拦截数据
- Shodan为拦截的数据设置索引
- 显示结果
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的结合
用法:
- 在Kail/Backtrack Box中打开Metasploit framework
- 在命令行中输入show auxiliary
- 使用 auxiliary/gather/Shodansearch 模块
- 现在,你可以用show options命令来查看模块需要的参数
- 我们需要指定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 条评论
通过Shodan api提供的数据进行漏洞检测
http://www.mottoin.com/95525.html
http://datasploit.readthedocs.io/
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
`
用 Python、Pastebin 和 Searx 构建关键字监控工具(Building a Keyword Monitoring Pipeline with Python, Pastebin and Searx)
http://www.automatingosint.com/blog/2017/04/building-a-keyword-monitoring-pipeline-with-python-pastebin-and-searx/
https://github.com/asciimoo/searx
https://github.com/s-rah/onionscan
https://searx.me/
http://cngoogle.net/
https://share.whuboy.com/share.html
A curated list of amazingly awesome OSINT
https://github.com/jivoi/awesome-osint
https://github.com/search?q=topic%3Aosint&type=Repositories
利用 PasteHunter 从 Pastebin 中挖掘信息
https://techanarchy.net/2017/09/hunting-pastebin-with-pastehunter/
https://github.com/kevthehermit/PasteHunter
一个监控 pastebin 的敏感内容,并发微博的 bot
https://github.com/fate0/pastebot
一款分布式爬虫平台
https://github.com/2young2simple/yispider
Memcrashed-DDoS-Exploit – 上周爆发的 Memcached DDoS PoC 工具,从 Shodan API 搜索到存在漏洞的 Memcached 服务器然后发起伪造的 UDP 包
https://github.com/649/Memcrashed-DDoS-Exploit/
https://www.cyberscoop.com/ddos-attack-code-posted-memcrashed/
工控安全资料
https://github.com/Gh05ter/Bank/blob/master/%E5%AE%89%E5%85%A8%E7%BD%91%E5%9D%80%E7%B4%A2%E5%BC%95.md
Shodan的http.favicon.hash语法详解与使用技巧
https://www.cnblogs.com/miaodaren/p/9177379.html
`
在Shodan搜索中有一个关于网站icon图标的搜索语法,http.favicon.hash,我们可以使用这个语法来搜索出使用了同一icon图标的网站。
`
Shodan在渗透测试及漏洞挖掘中的一些用法
https://www.cnblogs.com/miaodaren/p/7904484.html
Shodan手册
https://b404.gitbooks.io/shodan-manual/
工业移动物联网恶意软件威胁和检测
https://mp.weixin.qq.com/s/XS1igbmVxCW6KokSaOS3ew
工控安全现场实施经验谈之工控系统如何加强主机防护
http://www.freebuf.com/articles/network/178251.html
OSINT 公开资源情报收集工具及资源整理
https://medium.com/@micallst/osint-resources-for-2019-b15d55187c3f
LeakLooker – 使用 Shodan 快速寻找可公开访问数据库的工具
https://medium.com/@woj_ciech/leaklooker-find-open-databases-in-a-second-9da4249c8472
https://github.com/woj-ciech/LeakLooker
2019 版 OSINT 开源情报收集指南
https://www.randhome.io/blog/2019/01/05/2019-osint-guide/
Harpoon: an OSINT / Threat Intelligence tool
https://www.randhome.io/blog/2018/02/23/harpoon-an-osint-threat-intelligence-tool/
Sn0int – 半自动 OSINT 框架和包管理器
https://github.com/kpcyrd/sn0int
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分钟获取一次最新资产,和后台数据库对比然之类的。手机提醒分分钟挖到新上线业务的。
`