使用 Shodan 进行高效的资产侦察与漏洞发现
解决渗透测试初期的资产发现难题:通过 AI 引导使用 Shodan 强大的搜索引擎和 CLI 工具,实现对目标组织暴露面、服务版本及已知 CVE 漏洞的快速扫描与分析。
为什么需要这个技能
在进行渗透测试或安全审计时,手动扫描整个 IP 段不仅耗时,且容易触发对方的安全防御。Shodan 作为一个“互联网搜索引擎”,预先抓取并索引了全球设备的 Banner 信息。
通过掌握 Shodan 的高级搜索语法和 API 调用,安全研究员可以实现“被动侦察”:在不直接与目标系统交互的情况下,获取目标组织的开放端口、软件版本、地理位置甚至特定的漏洞标签(CVE),极大地提高侦察效率并降低被发现的风险。
适用场景
- 资产盘点:快速导出目标组织(org)的所有公开 IP 及其运行的服务。
- 漏洞快速定位:搜索特定 CVE 漏洞(如 Log4j)在特定国家或地区的暴露情况。
- IoT 设备发现:查找未授权访问的摄像头、工业控制系统(Modbus)或数据库(MongoDB)。
- 监控告警:通过网络监控功能,在目标出现新服务或新漏洞时获得实时通知。
核心工作流
1. 环境初始化
安装 Shodan CLI 并绑定 API Key:
pip install shodan
shodan init YOUR_API_KEY
shodan info
2. 精准侦察查询
利用过滤条件(Filters)快速缩小目标范围:
- 组织检索:
shodan search org:"Target Company" - 漏洞检索:
shodan search vuln:CVE-2019-0708 - 特定端口与产品:
shodan search product:nginx port:443 - 组合查询:
shodan search product:mongodb country:US
3. 数据导出与解析
将搜索结果下载为 JSON 压缩包,并提取关键字段(如 IP 和端口)导出为 CSV:
shodan download results.json.gz "apache country:US"
shodan parse --fields ip_str,port,org --separator , results.json.gz > results.csv
4. 自动化集成(Python)
通过 Python 库实现大规模资产自动化分析:
import shodan
api = shodan.Shodan('YOUR_API_KEY')
results = api.search('product:apache')
for result in results['matches']:
print(f'IP: {result["ip_str"]} | Port: {result["port"]}')
下载和安装
下载 shodan-reconnaissance 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐