游客发表
打开浏览器输入 shodan.io,搜索你看到的引擎界面跟 Google 完全是两回事。没有搜索框下面那一排“相关搜索”,入口也没有铺天盖地的网页广告。一个输入框,搜索旁边写着“Search the Internet of Things”。引擎很多人第一次用会懵——搜什么?入口怎么搜?搜出来的东西怎么看?
Shodan 不索引网页内容。它扫的网页是端口。全球范围内,搜索它在持续不断地向公网 IP 发请求,引擎记录每个 IP 上开了什么服务、入口跑了什么协议、网页返回了什么 banner。搜索HTTP 只是引擎其中一种。FTP、入口SSH、RTSP、MQTT、甚至工控协议 Modbus,全在它的采集范围内。Google 爬的是“页面说了什么”,Shodan 爬的是“机器在说什么”。
网页版入口就是 shodan.io,注册免费账号就能用基础搜索。不注册也能搜,但结果受限,翻几页就让你登录。免费账号每月有一定额度的搜索结果,够日常摸索。想批量导出或者用 API,得升级会员,价格不便宜,一次性买断那种。
搜索语法是 Shodan 的核心。直接敲“webcam”能搜到一堆网络摄像头,但精度很差。老手会组合过滤条件。比如 country:CN port:554 has_screenshot:true,意思是找中国境内开放 554 端口(RTSP 流媒体协议)并且 Shodan 成功截到画面的设备。结果往往是一排排监控画面缩略图,有些甚至能直接点开看实时视频。这不是漏洞,是设备根本没设密码。
我试过搜 product:Apache country:JP,想看看日本那边跑了多少 Apache。结果里混着一堆版本号极老的服务器,2.2.x 甚至 1.3.x。这些机器还在线上跑,banner 里明晃晃写着版本,等于告诉扫描者“来打我这里”。Shodan 本身不攻击,它只是把门牌号抄下来给你看。
has_screenshot:true 这个过滤器值得单独说。Shodan 会对开放的 HTTP、VNC、RDP 等服务尝试截图。搜出来的画面有时候很荒诞:某工厂的控制面板、某医院的排队叫号系统、某学校的电子白板。这些设备的管理界面直接暴露在公网,登录框连验证码都没有。我见过一个截图是某地交通信号灯的控制后台,用户名密码栏空着,旁边写着“admin/admin”。
搜索框下面有个“Explore”按钮,点进去是 Shodan 整理好的热门搜索标签。比如“Industrial Control Systems”“Databases”“Videogames”。点“Databases”能看到 MongoDB、Elasticsearch、MySQL 的暴露情况。有些 Elasticsearch 实例连认证都没开,浏览器直接访问 IP:9200 就能看到所有索引名。数据量大的话,Shodan 还会标注“This server has 500GB of data”。
网页版有个细节:搜索结果页左侧有分面过滤。国家、组织、操作系统、端口,点一下就能收窄范围。比手动敲语法快。但免费账号用不了太多过滤条件,点两下就提示升级。另外结果里的 IP 地址,免费账号只显示部分,鼠标悬停才看得到完整地址。这个设计挺鸡贼的,逼你付费。
用 Shodan 得注意法律边界。搜和看是一回事,连上去操作是另一回事。很多国家把未经授权访问计算机系统定为刑事犯罪。Shodan 只是搜索引擎,它不替你背锅。我一般只截图记录,不点进任何管理后台。有次搜到个暴露的 Redis,里面存着某公司的 session token,我直接关了页面。那玩意儿看一眼都算越界。
最后说个实际用途。做安全评估的时候,先上 Shodan 搜自己公司的 IP 段,看看有哪些端口意外暴露了。比等渗透测试报告快得多。有次帮朋友查,发现他们办公室路由器把 22 端口映射到了公网,SSH 还允许密码登录。他完全不知道这事。Shodan 上那条记录挂了快一年。
友情链接