参考:
Shodan新手入坑指南 http://www.freebuf.com/sectool/121339.html
shodan手册 http://b404.xyz/2018/02/08/Shodan-Manual/
Shodan 通过扫描全网设备并抓取解析各个设备返回的 banner 信息。
banner其实就是这个:
HTTP/1.1 200 OK |
|
除了获取banner,Shodan还可以获取相关设备的元数据,例如地理位置、主机名、操作系统等信息
~从网站的探索界面为例,搜索摄像头:
一个标准的搜索结果:
点下面details可以看到细节数据
点开IP可以进入摄像头的认证界面
到了这一步可以用各种方式攻击了(漏洞发掘,穷举等)
过滤器的格式是 filtername : value
排除结果:在过滤器前加-,例如-hash:0
~搜索合肥的apache服务器:
apache city:"Hefei"
~搜索美国 的服务器在8080端口上运行8.0版本IIS服务的服务器:
port:8080 product:"Microsoft-IIS" country:"US" version:"8.0"
~搜索可能受到DOUBLEPULSAR攻击的机器:
port:445 "SMB Version: 1" os:Windows !product:Samba
使用每个网页的收藏夹图标来搜索同样图标的网页。
具体看参考:
http://b404.xyz/2018/02/08/Shodan-Manual/#%E5%9B%BE%E6%A0%87%E6%90%9C%E7%B4%A2
在结果界面点击downlaod data,可以选择下载csv, json, xml格式的结果。
每次用完之后,Exploits:每次查询完后,点击页面上的 “Exploits” 按钮,就能看到可以利用的漏洞。
每次查询完后,点击页面上的 “Create Report” 按钮,Shodan 就会帮我们生成一份报表。
这个报表不能立刻生成,而是通过电子邮件发送。不过用不了几分钟。
~之前webcam生成的报表:https://www.shodan.io/report/FTi5loCb
shodan是使用python编写的,clone的地址https://github.com/achillean/shodan-python
或者使用pip安装pip install shodan
返回搜索的结果数(只有一个数字)
下载搜索结果。
默认下载1000条json结果,要换格式或者结果数目通过参数调整。
查看有关主机的信息,例如它位于何处,哪些端口是开放的以及哪个组织拥有其IP。
使用parse来分析使用导出的搜索结果。它可以让过滤出感兴趣的字段,也可以将JSON转换为CSV。这样,对于导入到其他脚本比较友好。
~输出之前下载的Microsoft-IIS数据,并且将JSON文件转换为的CSV格式的文件。其中包括IP地址,端口和归属组织:
shodan parse --fields ip_str,port,org --separator , microsoft-data.json.gz
scan命令提供了一些子命令。最重要的一个是submit命令,这个命令可以使用shodan执行网络扫描。
shodan scan submit 198.20.99.0/24
默认情况下,它将显示IP,端口,主机名和数据。可以使用--fields来打印感兴趣的任何banner字段。
官方例子
https://asciinema.org/~Shodan
Shodan最常见的使用案例是使用它来更好地了解公共网络范围内的运行情况。
~查看78.13.0.0/16段在网上暴露了多少服务。
shodan count net:78.13/16
count命令提供了关于78.13.0.0/16段暴露了4960个服务
~统计出该网段暴露的最多端口数的top10:
shodan stats --facets port net:78.13/16
~有时候也需要详尽的端口暴露数分配报告,因此指定最大的端口,返回此端口范围的暴露数统计情况:
shodan stats --facets port:100000 net:78.13/16
该网络上有955个端口被发现暴露,并统计出各自端口暴露数。最多的是7547端口,这个端口是调制解调器的端口,这个端口也有很多的安全问题可以关注。在统计中也有一些非常见的标准端口,这些端口大多是为了掩盖自己真实的Web服务。
~统计该网段的80、443端口上的服务情况:
shodan stats --facets product "HTTP net:78.13/16 -port:80,443"
这里应将端口号放在引号中,防止bash认为该port是shodan的命令参数。
若要了解整个网络的SSL使用情况,可按照以下来查询
shodan stats --facets ssl.version HTTP net:78.13/16
可以看出大多运行的是TLS1.0及其以上的版本,不过还有一些古老的设备在使用sslv2。
mkdir telnet-data
shodan stream --ports 23,1023,2323 --datadir telnet-data / --limit 10000
创建一个名为telnet-data的目录来存储telnet数据,然后从实时数据流中导出10000条记录,存储在telnet-data文件夹中