3条命令跑通SpiderFoot:发起第一次OSINT扫描
【免费下载链接】spiderfootSpiderFoot automates OSINT for threat intelligence and mapping your attack surface.项目地址: https://gitcode.com/GitHub_Trending/sp/spiderfoot
侦察或资产梳理时最耗时的,是一点点翻遍子域列表、泄露库和威胁情报网站。SpiderFoot 正好用来一次扫描完成这类 OSINT(开源情报)收集:输入一个域名,安全研究员就能自动摸清攻击面。
能力全景:先建立整体认知
动手之前,用三个要点帮你建立心智模型:
- 200 多个数据源模块:模块间用发布订阅(发布订阅)模式互相喂数据,一个模块发现新子域后,所有"能吃子域"的模块自动接手,不需要你手动串联。
- Web 界面与命令行双入口:内置 web 服务负责可视化操作,
sfcli.py负责远程控制,扫描结果全部存进本地 SQLite 数据库,随时可查。 - 内置风险判断:默认自带 37 条关联规则(YAML 格式),扫描结束后自动标出"开放端口暴露版本""主机命中多个黑名单"这类风险点。
理解这三点后,接下来的安装步骤只是走流程,下面直接把它跑起来。
从零跑起来🚀:最小化安装命令
先确认本机 Python 版本,项目下限是 3.7:
python3 --version看到 3.7 以上就可以继续,否则需要先升级 Python。
克隆项目源码并进入目录,一条命令把整个项目拉到本地:
git clone https://gitcode.com/gh_mirrors/sp/spiderfoot && cd spiderfoot执行完后,代码就落在本地 spiderfoot 目录里,可以直接进行下一步。
安装 requirements.txt 列出的第三方库(网络请求、数据解析、加密相关):
pip3 install -r requirements.txt进度条走完,依赖就齐了。
最后启动内置 web 服务,默认只监听本机的 5001 端口:
python3 sf.py -l 127.0.0.1:5001终端显示监听地址后,浏览器打开 127.0.0.1:5001 就能看到扫描界面。服务默认仅本机可访问,无需额外配置,下面挑三个最值得优先用的功能。
核心功能拆解:3 个最实用的用法
1. 任意类型目标扫描
它不只接收域名,IP、网段(CIDR 写法)、邮箱、手机号、比特币地址都可以当扫描目标。典型场景:应急响应时你手里只有一个恶意邮箱,输入后它会反查出该邮箱关联出现过的域名和 IP。
2. 用例预设一键选模块
200 个模块手动勾选不现实,命令行提供-u参数按场景(all、passive、footprint、investigate)选整组模块。发起一次快速被动扫描(被动扫描),即不直接触碰目标:
python3 sf.py -s example.com -u passive结果在终端逐行输出,加-o json可导出结构化数据,方便塞进自己的分析流水线。
3. 让关联规则替你点名风险
原始扫描数据是 haystack(干草堆),关联规则是找茬的那根针:扫描结束后,open_port_version这类规则会自动把暴露软件版本的 banner(端口回显串)作为关联结果输出。场景:例行资产排查后,你不用翻完所有端口扫描结果,先看"开放端口暴露版本"列表,判断哪些补丁最急。
模块明细在 modules/ 里可以逐个查看,首次扫描多半会踩坑,下面先列三个高频问题。
踩坑与排障:新手高频问题
现象:启动后访问不到 5001 端口。原因:5001 被本机其他服务占用了。解法:用-l 127.0.0.1:5002换个端口即可。
现象:跑起来后大量模块没有输出,或日志里报接口错误。原因:部分数据源模块需要 API 密钥(接口凭证),默认未配置。解法:先用无需密钥的模块(DNS、WHOIS、网页爬取等)体验,再按需到 Web 设置里补密钥。
现象:pip 安装失败,或界面报编码类错误。原因:系统 Python 低于 3.7,不满足最低要求。解法:用系统包管理器或 pyenv 切到更新的 Python 再装一遍。
这三处问题解决后,第一次扫描基本就顺了,接下来可以琢磨怎么把数据用得更深。
延伸方向:3 条深入路线🧭
- 自定义关联规则:每条规则只有几行 YAML,照着 correlations/ 里的模板和 37 条内置规则,可以沉淀出自己的风险判断逻辑。
- 外接扫描工具:内置工具模块能调用本机的 Nmap、WhatWeb、Nuclei,让 SpiderFoot 同时当扫描与分析的编排者。
- Docker 部署共享给团队:docker-compose.yml 一条命令起全套服务,数据目录挂载成卷,重启也不丢扫描结果。
OSINT 的深度取决于你接进多少数据源,跑通第一次扫描后,从最贴合场景的一条关联规则开始改起就行。
【免费下载链接】spiderfootSpiderFoot automates OSINT for threat intelligence and mapping your attack surface.项目地址: https://gitcode.com/GitHub_Trending/sp/spiderfoot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考