声明:学习素材来自b站up【泷羽Sec】,侵删,若阅读过程中有相关方面的不足,还请指正,本文只做相关技术分享,切莫从事违法等相关行为,本人一律不承担一切后果
引言:
1.Shodan 是一个专门用于搜索连接到互联网的设备的搜索引擎。与传统搜索引擎(如 Google)不同,Shodan 的焦点不在于网页内容,而是寻找物联网设备、服务器和其他网络设备的开放端口和服务。用户可以通过 Shodan 查找特定类型的设备,如摄像头、路由器、服务器、打印机等,甚至可以根据设备的地理位置或软件版本进行搜索。
2.Shodan 的工作原理是不断扫描互联网,收集设备的元数据,包括 IP 地址、端口信息、服务和协议等。该搜索引擎能够揭示潜在的网络安全漏洞,也因此被安全研究人员和黑客广泛使用。Shodan 也提供了一些工具和API,方便用户进行更深入的分析和集成。
目录
[shodan -h (通过这个命令可以查看命令帮助文档)](#shodan -h (通过这个命令可以查看命令帮助文档))
port:表示端口信息,port也可以指定目标端口(例如3389,22等高危端口)
os:表示要查询的操作系统:例如linux、windows等
[has_vuln:True 表示有漏洞(学术会员没有vuln:和tag:命令)](#has_vuln:True 表示有漏洞(学术会员没有vuln:和tag:命令))
[device: (表示设备例如webcam摄像头,router路由器)](#device: (表示设备例如webcam摄像头,router路由器))
一、shodan用途
只要联网的,只要有 IP 地址的,都可以称之为网络设备。
➢ 设备发现:搜索特定类型的网络设备,如摄像头、路由器、工业控制系统等。
➢ 漏洞发现:辅助安全研究⼈员和渗透测试者识别潜在的安全漏洞。
➢ 地理定位:依据城市、国家或 IP 地址定位设备。
➢ 端⼝扫描:搜索具有特定开放端⼝的设备,如用于远程桌面协议的 3389 端⼝。
➢ 服务搜索:识别提供特定网络服务的设备,如 FTP、SSH、HTTP 等。
➢ 漏洞扫描:提供漏洞扫描服务,检查设备和服务是否含有已知的安全漏洞。
➢ 可视化工具:提供交互式地图和图表工具,帮助用户直观地了解设备和服务的分
布。
➢ 历史数据:提供设备和服务的历史数据,便于追踪其变化和发展。
➢ API⽀持:提供 API 接⼝,⽀持通过编程⽅式搜索和获取数据,实现工作流⾃动
化。
➢ 监视和提醒:允许用户设置监控规则,在满⾜特定条件时接收通知,及时发现网
络变化和潜在威胁
二、kali安装shodan教程
如果不想用kali的shodan命令行搜索,可以用官网GUI界面进行搜索: https://shodan.io
1.克隆shodan
2.切换到shodan-python文件夹
cd shodan-python
3.安装
python setup.py install
4.初始化shodan
shodan init <your_API_key>( api_key主要从https://shodan.io中的account个人账户中心获取)
(获取api_key首先要有会员,这边推荐载闲鱼平台购买一个学术会员)
5.shodan的基本使用命令
输入
shodan -h (通过这个命令可以查看命令帮助文档)
常用命令之search和host参数
1.search命令是为了搜索想要获取的关键信息
2.host命令是为了搜索单一ip的详细信息
country:
国家代码:
中国:cn 日本jp Kr 韩国
具体参照这个网站
https://m.taodocs.com/p-214021026.html
整合:
shodan search --limit 10 country:jp (--limit 表示要限制的查询数量)
这边搜索到了一些有关信息
但是这么看貌似有点杂乱,我们可以筛选出一些有用的信息出来,由此我们引出了筛选命令
fields进行筛选
--fields
这个后面跟上的元素即是要筛选的条件
举例
ip_str:表示ip地址
port:表示端口信息,port也可以指定目标端口(例如3389,22等高危端口)
回车之后就可以得到如下信息了。
(这个是经过port:3389筛选的目标)
按下ctrl+z即可退出
host命令
shodan host <ip>
返回信息:
IP地址的断层(如国家、城市、经纬度)
开放端口和服务(如HTTP、FTP、SSH等)
服务的Banner信息(可以包含服务版本信息)
设备的可能漏洞信息(如 CVE 编号)
组织信息(如 ISP 或组织名称
ed:
--color:显示深色信息显示
city:表示要查询的城市
例如:shodan search --limit 10 country:jp city:shanghai
**os:**表示要查询的操作系统:例如linux、windows等
has_vuln:True 表示有漏洞(学术会员没有vuln:和tag:命令)
device: (表示设备例如webcam摄像头,router路由器)
tp-link:表示web端的一些设备
以上就是一些基础操作,后续还有一些高级操作,敬请期待吧。。。