Shodan 网络侦察代理
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/shodan-network-reconnaissance-agent。
技能介绍
问题:外网资产比内部台账更新得更快
绝大多数团队的资产管理依赖人工维护的 CMDB 或资产清单。问题在于,真正暴露在外网的资产——忘记下线的测试环境、临时开给第三方的防火墙规则、直接暴露公网的数据库端口——往往不会出现在任何内部文档里。等到外部安全报告或渗透测试指出来,这些资产已经暴露了数周甚至数月。
Shodan 作为全网扫描搜索引擎,其数据库中保存了全球范围内大量设备的开放端口、服务指纹与横幅信息。要从中提取与自身相关的攻击面,需要编写脚本调用 API、清洗返回数据、关联 CVE 库、最后生成可读的资产报告。这个流程本身不难,但重复执行成本高,且难以沉淀为团队内可复用的流程。
工作原理
这个技能把上述流程封装为一个可调用的代理,核心依赖两个数据源:
- Shodan REST API:负责主动查询。Shodan 的 DNS 数据库中收录了大量大概率会运行服务的主机名,技能利用这一数据库帮助定位组织可能暴露的服务,并支持对指定网段或关键字进行搜索。
- Shodan InternetDB:负责补充漏洞上下文。针对发现的开放端口,返回对应的 CVE 关联信息,避免人工再去漏洞库逐个核对。
典型的执行链路如下:
- 指定目标范围(如域名、网段、组织名或
org标识)。 - 调用 API 检索该范围内的主机与开放端口。
- 对每台主机的服务横幅与端口进行解析。
- 通过 InternetDB 匹配服务指纹对应的已知 CVE。
- 汇总生成资产清单,并附带每项资产的风险评分。
适用边界与注意点
- 该技能基于 Shodan 已收录的数据做查询,不会发起主动扫描。这意味着它的结果反映的是 Shodan 爬虫最近一次看到的状态,不是实时快照。
- 风险评分来自端口暴露与 CVE 关联的机械匹配,不等于漏洞的实际可利用性。一个暴露的 80 端口若运行的是非标准服务,评分可能有偏差,需要人工复核。
- Shodan 的搜索结果受其爬取覆盖范围限制,内网设备、隔离网络中的服务不在查询结果内。
- 使用前需要配置有效的 Shodan API Key,查询配额由账号的套餐等级决定,大规模网段查询可能快速消耗配额。
使用场景
- 季度安全自查:运维需要用 Shodan 查询公司公网 IP 段的开放端口,确认是否有遗漏的资产。
- 事件响应排查:安全工程师拿到入侵报告后,需快速定位报告中提到的对外开放端口对应哪些主机和服务。
- 漏洞应急梳理:安全团队监测到高危 CVE 爆发,需对照资产清单找出受该 CVE 影响的对外暴露服务。
- 渗透测试准备:测试人员进入项目前,用 Shodan 检索目标组织名下域名对应的主机,梳理其外网暴露面。
适合人员
- 安全运营工程师,需要在例行巡检中确认组织公网资产的端口与服务暴露情况。
- 渗透测试人员,要在项目启动前梳理目标对外暴露的主机与服务清单。
- 安全团队负责人,希望将 Shodan 的暴露面数据与内部资产台账定期比对核对。
- SOC 事件响应人员,需要在告警后快速确认相关外网端口背后的服务与已知漏洞。