声明
学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
关于shodan的那些事儿-1
- 一、shodan1
- 什么是shodan?
- shodan有哪些功能?
- kail安装流程
- search参数示例:
- host参数示例:
- 实践是检验真理的唯一标准
一、shodan1
什么是shodan?
shodan官网
shodan 是一个知名的互联网搜索引擎,专门用于搜索网络设备、服务和开放的端口。它被广泛用于网络安全和研究领域,因为它能够提供全球范围内的网络资产信息。当然是收费哈,具体费用官网可以查看。
shodan有哪些功能?
互联网连接设备搜索:
Shodan 能够搜索到各种连接到互联网的设备,包括服务器、路由器、摄像头、打印机等。
开放端口和协议:
它可以识别开放的端口以及运行在这些端口上的服务和协议,如 HTTP、HTTPS、SSH、Telnet 等。
地理定位:
Shodan 提供了基于地理位置的搜索功能,可以按国家、城市或经纬度进行搜索。
数据丰富:
Shodan 的数据库包含了大量的网络资产信息,这些信息来自于其爬虫定期扫描的互联网。
实时搜索:
用户可以执行实时搜索,获取最新的网络资产数据。
API 接口:
Shodan 提供了 API 接口,允许开发者将其搜索功能集成到自己的应用和服务中。
Shodan 的用途:
网络安全审计:
网络安全专家使用 Shodan 来识别暴露在互联网上的敏感资产,进行安全审计和漏洞扫描。
威胁情报:
通过 Shodan 收集的信息,可以用于威胁情报分析,识别潜在的安全威胁。
研究和教育:
研究人员和学生可以使用 Shodan 来研究互联网的架构和网络安全趋势。
合规性和政策评估:
企业可以使用 Shodan 来确保他们的资产符合特定的合规性和安全政策。
物联网安全:
随着物联网设备的增加,Shodan 被用来评估这些设备的安全性和隐私问题。
网络测绘:
Shodan 可以用来绘制互联网的地图,了解不同服务和设备的分布情况。
那么有什么缺点呢?唯一的缺点可能就是不够实时性,毕竟shodan是一直在24小时扫描的,但是这不太好说,大部分情况下西信息搜索都挺准确的。其次使用shodan测试容易测出错,尤其是参数命令需要十分谨慎的使用。道德第一。
然后shodan是有gui界面的,当然一般在kail中我们都是使用的terminal形式的
kail安装流程
1、克隆shodan
git clone https://github.com/achillean/shodan-python.git
2、切换到shodan-python文件夹中
cd shodan-python
3、安装shodan
python setup.py install
4、初始化shodan
shodan init api key
#这里的key需要购买后在官网中的account中进行查看才行,毕竟是收费软件,而且无法破解
6、查看帮助文档
shodan -h
这些都是基础命令就不再演示了,后续命令主要还是记笔记,一般不会截图。理解命令即可
现在我们就先熟悉下search参数和host参数,这两个参数已经足够寻找到部分洞洞
search参数示例:
shodan search --limit 10 country:jp
这条命令是什么意思呢?功能:搜索属于jp的10条ip
shodan search --limit 10 --fields ip,port 80 country:jp
这条命令是什么意思呢?功能:搜索属于jp的10条端口号为80的ip
以上命令有个缺点,就是返回的都是整数形式的ip地址,但是一般人们都习惯使用十进制数字表示ip,那么我们就可以加入ip_str参数转换成ipv4显示形式
shodan search --limit 10 --fields ip_str,port 80 country:jp
这条命令是什么意思呢?功能:**搜索属于jp的10条端口号为80的ip,并且返回的ip以ipv4形式展示
shodan search --color --limit 10 --fields ip_str port:3389 country:jp city:tokyo
这条命令是什么意思呢?功能:**搜索属于jp且城市为tokyo的10条端口号为3389的ip,并且返回的ip以ipv4形式展示
shodan search --color --limit 10 --fields ip_str,port:3389 country:jp city:Nagoya
这条命令是什么意思呢?功能:**搜索属于jp且城市为Nagoya的10条端口号为3389的ip,并且返回的ip以ipv4形式展示
**这里相信大家肯定有疑问对吧?为什么ip_ste 和port有时候用半角逗号隔开,有时候不隔开呢?**其次是很有区别的
有逗号的如下:
shodan search --color --limit 10 --fields ip_str,port "country:jp city:Nagoya port:3389"
,这才是正确的搜索,逗号主要是用来区分字段,如果有多个字段的时候需要逗号隔开,具体多看文档和问gpt
那么不用逗号的是什么情况呢?
在Shodan命令行工具中,使用–fields选项来指定要显示的字段时,字段之间可以用逗号,分隔,也可以不用逗号分隔,这取决于Shodan CLI工具的版本和具体实现。在某些版本的Shodan CLI中,字段之间可以不用逗号分隔,Shodan依然能够正确解析字段。例如:shodan search --limit 10 --fields ip_str port "country:jp city:Nagoya port:3389"
这个命令中,ip_str和port之间没有用逗号隔开,但是Shodan CLI依然能够识别这两个字段,因为它们是由空格分隔的。这表明在该版本的Shodan CLI中,字段名之间可以通过空格来分隔,而不一定需要逗号
。因此,即使没有使用逗号分隔,命令依然可以成功执行。
shodan search --limit 10 --fields ip_str,port "country:jp city:Nagoya port:2289 os:windows7"
这条命令是什么意思呢?功能:搜索属于jp且城市为Nagoya的10条端口号为3389且操作系统未windows7的ip地址,并且返回的ip以ipv4形式展示以及展示端口号
关于逗号的问题:
所以这里不是纠结逗号的问题,--fields
是个过滤器的作用,后面的字段都是需要过滤的字段,这里的ip_str,port
本质就是过滤显示字段,而引号中的就是过滤的条件。故不需要纠结是否有逗号,但是标准的用法是用逗号分隔字段的。
host参数示例:
shodan host xxx.xxx.xxx.xxx(ip地址)
这条命令是什么意思呢?功能:搜索xxxip地址的详细信息
那么一般会返回什么信息呢?
地理位置信息:包括gj、city和经纬度等。
开放端口和服务:例如HTTP、FTP、SSH等开放的端口和服务。
服务的Banner信息:这可能包含服务的版本信息。
可能存在的漏洞信息:例如CVE编号。
组织信息:如ISP(互联网服务提供商)或组织名称。
端口:3389,这个端口的背景有什么?3389端口可能存在什么洞洞?
这个嘛,自行百度了解,这个端口很重要,3389的洞洞都是超高危的洞洞。
has_vuln:True
这个参数为true则开启扫描洞洞,false则关闭扫描洞洞
当然这个是需要shodan高级会员才有的权限功能。
但是我们可以去cve官方查找cve的十六进制特征码,然后转换成十进制即可进行查找。
shodan search has_vuln:True --limit 10 --fidleds ip_str port:3389 country:jp city:Nagoya
这条命令是什么意思呢?功能:搜索属于jp且城市为Nagoya的10条端口号为3389且操作系统为windows7的ip地址且扫描是否存在洞洞,并且返回的ip以ipv4形式展示以及展示端口号
shodan search --limit 10 --fields ip_str port:3389 country:jp city:Nagoya devicce:router
这条命令是什么意思呢?功能:搜索属于jp且城市为Nagoya且设备为路由器的10条端口号为3389的ip地址,并且返回的ip以ipv4形式展示以及展示端口号
相信看到这里,应该懂shodan的强大了吧,懂得都懂。
那么我们都写一条详细得全面得shodan命令,具体意思就留给大家,我相信大家都能看懂
shodan search --limit 10 --fields ip_str,port "port:3389 country:jp city:Nagoya device:route \"\\x03\\x00\\x00\\x0b\\x06\\xd0\\x00\\x00\\x124\\x00\""
shodan search:这是Shodan的搜索命令。
–limit 10:限制搜索结果的数量为10条。
–fields ip_str,port:指定返回的字段,这里返回IP地址(ip_str)和端口(port)。
"port:3389 country:jp city:Nagoya device:route “\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"”:搜索开启3389端口,位于日本名古屋,设备类型为路由器,并且响应包中包含CVE-2019-0708漏洞特征字符串的设备。
好好好,shodan真强大,请做一个好人好吧,只是学习,别搭进去,又到了该说不说的时候了