news 2026/9/6 19:23:09

SpiderFoot OSINT信息收集实战:15分钟完成首次扫描

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpiderFoot OSINT信息收集实战:15分钟完成首次扫描

SpiderFoot OSINT信息收集实战:15分钟完成首次扫描

【免费下载链接】spiderfootSpiderFoot automates OSINT for threat intelligence and mapping your attack surface.项目地址: https://gitcode.com/GitHub_Trending/sp/spiderfoot

渗透测试或安全评估接到一个域名时,枚举子域、扫端口、查威胁情报,手工跑一圈轻松烧掉一个下午。SpiderFoot 把这条 OSINT 信息收集链路自动化了:目标输入一次,200 多个模块各干各的活,内置的关联引擎还会自动标出"数据库暴露""证书过期"这类发现。本文带你把它跑起来,并拿到第一份可用的侦察报告。

工具定位:SpiderFoot 能替代什么

SpiderFoot 是一个持续维护十余年的开源 OSINT(开源情报)自动化框架,4.0 版本基于 Python 3 开发,MIT 协议。它和你逐个敲 subfinder、nmap、whois 的关键区别在架构上:modules/ 目录下的模块按发布/订阅模型互相喂数据——某个模块解析出一个 IP,所有能消费 IP 的模块自动被唤醒,结果层层滚动,不用你手工接力。

维度SpiderFoot单点工具逐个跑
数据采集200+ 模块发布/订阅互联逐个工具运行,结果互不关联
结果分析内置关联引擎,30+ 条预定义风险规则原始数据人工比对
目标类型域名、IP、邮箱、ASN、电话、用户名等十余种每类目标各换一套工具
产出Web 界面 + CLI + CSV/Excel/GEXF 导出 + SQLite零散文本输出

🚀 环境搭建:5分钟启动 Web 界面

推荐本地运行。先拿代码:

git clone https://gitcode.com/GitHub_Trending/sp/spiderfoot cd spiderfoot

两条命令把项目拉到当前目录并进入项目根目录。再装依赖:

pip3 install -r requirements.txt

这一条会按 requirements.txt 里锁定的版本装齐所有 Python 库。最后启动:

python3 ./sf.py -l 127.0.0.1:5001

sf.py 是程序入口,-l指定 Web 界面监听地址。做完这步你应该在终端看到Starting web server at 127.0.0.1:5001的提示框,浏览器打开 http://127.0.0.1:5001 出现扫描列表页即成功。想省事也可以直接用仓库里的 Dockerfile 和 docker-compose.yml 容器化部署;偏好稳定版的可以下载 v4.0 打包发行版(README.md 的 INSTALLING 一节有说明)。

两个典型卡点:启动时报SpiderFoot requires Python 3.7 or higher,说明解释器太老,升到 3.7+ 即可;端口被占用就把参数改成-l 127.0.0.1:8000。注意扫描数据库在~/.spiderfoot/spiderfoot.db,不会落在安装目录里。

🎯 跑通第一次扫描:从 New Scan 到实时跟踪

打开 Web 界面,三步完成:

  1. 点击New Scan,目标框里填域名、IP、邮箱甚至电话号码,类型会自动识别。
  2. 选择模块范围。新手保持默认即可,也可以按用例(all / footprint / investigate / passive)快速圈定模块组。
  3. 点击 Run Scan 后扫描进入队列,详情页右上角状态徽章会从 RUNNING 走到 FINISHED。

不想开浏览器时命令行等价命令是:

python3 ./sf.py -s example.com -o json

-s指定目标,-o json让结果以 JSON 输出、方便喂给其他工具;不带任何模块参数时默认启用全部模块。扫描进行中看 Summary:数据元素总数、错误数,以及按 High/Medium/Low/Info 分档的关联结果计数。Browse 标签页按数据元素类型分层列出结果,每一行都带着来源元素和来源模块,链路可回溯。

解读扫描结果:从原始数据到高危告警

一次全量扫描的数据量不小,真正值得优先看的是 Correlations 标签页。关联引擎拿 correlations/ 里的 YAML 规则对结果做分析,命中即是一条结构化发现,例如:

  • multiple_malicious.yaml:主机或 IP 被多个威胁情报源同时判定为恶意,风险 HIGH,误报率很低。
  • database_exposed.yaml:MySQL(3306)、PostgreSQL(5432)、Redis(6379) 等数据库端口直接暴露公网,风险 HIGH。
  • cert_expired.yaml:目标的 SSL 证书已过期,通常意味着运维失修。

点开一条发现能看到支撑它的底层数据元素,判定误报就勾 False Positive 标记,后续视图会自动过滤。页面顶部搜索框支持把正则包在/里(如/foo/)或*string*通配,配合按类型下钻能快速缩小范围。

导出可用报告:CSV、Excel 与关系图谱

扫描结束后的三条导出路径:

  1. 结果页 Export 下拉,把当前视图下载为CSV 或 Excel,归档或交接直接用。
  2. Graph 按钮打开实体关系图,可整体导出为GEXF格式,丢进任意图谱工具看关联结构。
  3. 命令行加-o json拿全量结构化数据,直接进脚本做二次加工。

还有一个交互式客户端 sfcli.py:运行后进入sf>提示符,建扫描、搜数据、看关联都不用离开终端,适合塞进自动化流程。

进阶:自己写关联规则、调用外部工具

三个值得动手的深度玩法。

场景:团队想把"端口 banner 泄露版本号"记为 INFO 级发现。做法:correlations/template.yaml 就是规则模板,一条规则只有七块:id/versionmeta(名称、描述、风险级别)、collections(按 type、module 或正则提取数据)、aggregation(分组)、analysis(阈值、离群值等过滤)、headline(发现文案)。效果:文件存回 correlations/ 重启后新规则参与每次扫描,结果同时出现在 Web 界面并写入tbl_scan_correlation_results表;YAML 有语法错误时启动阶段就会中止并指出位置。

场景:全量模块动静太大,只想做被动指纹。做法:命令行加-u passive按用例自动选模块,-M列出全部可用模块,-T查看全部数据类型。效果:扫描只做被动查询,不向目标发主动请求,速度快且不留痕迹。

场景:想要操作系统指纹和 TLS 漏洞测试也进结果集。做法:modules/ 里有一组 Tool 型模块,能调用本机安装的 Nmap、WhatWeb、Nuclei、testssl.sh、DNSTwist、TruffleHog 等外部工具。效果:外部工具的发现被并入同一结果集,走完全相同的关联规则。

生产级注意事项

⚠️ 只扫你有权扫的目标

端口扫描、DNS 爆破(基于 spiderfoot/dicts/ 里的词表)、TLD 搜索都会向目标发真实请求。对外测试先拿书面授权,内部排查把范围限定在自己的 IP 段和域名;如果要把 Web 界面暴露到团队网络,在~/.spiderfoot/passwd用户名:密码文件启用认证,再配 key/crt 上 TLS。

API 密钥集中管理,优先免费档

200+ 模块多数不需要密钥,需要密钥的也多提供免费档。密钥在 Web 界面 Options 页集中填写,支持导出/导入;某模块缺密钥时它会被跳过,不影响整个扫描。

并发与超时:先理解默认值

sf.py 的全局配置里,模块并发数默认 3、抓取超时默认 5 秒。调高并发能缩短耗时,但更容易撞上 API 限流和目标侧防护;目标多时保持默认甚至调低更稳。所有扫描与关联结果都在~/.spiderfoot/spiderfoot.db里,可以直接写 SQL 做二次统计。

收尾

SpiderFoot 把子域枚举、端口扫描、威胁情报查询和交叉分析压缩进一次扫描。下一步建议:先给自己域名跑一遍 passive 扫描,通读一遍 Correlations 结果,然后照 correlations/template.yaml 写下你的第一条规则;更多细节参考仓库 docs/ 与 correlations/README.md。

现在就去扫你的第一个目标吧。

【免费下载链接】spiderfootSpiderFoot automates OSINT for threat intelligence and mapping your attack surface.项目地址: https://gitcode.com/GitHub_Trending/sp/spiderfoot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 19:21:49

生产质量管理异常报告表:从设计到闭环的实战指南

简介:面向生产企业质量管理的异常报告表模板,适用于制造、加工等各类生产场景,供质量管理人员、车间班组长及检验员使用。表格包含报告编号与日期、异常品质特性、管制标准、超出范围及数量等填写项,并附有产品质量异常原因及改进…

作者头像 李华
网站建设 2026/9/6 19:11:12

三路划分的快速排序算法的一种更复杂的娱乐实现

该算法就是将待排序序列划分为左中右三部分,左半部分小于枢轴,中间部分等于枢轴,右半部分小于枢轴 再对左半部分和右半部分递归调用算法,这样避免了相等的数值在快速排序中引入的比较开销 以下算法实现较为复杂,没什么参考价值&am…

作者头像 李华
网站建设 2026/9/6 19:06:23

猫抓 Cat-Catch 三步上手:浏览器资源嗅探与 m3u8 流媒体捕获实战

猫抓 Cat-Catch 三步上手:浏览器资源嗅探与 m3u8 流媒体捕获实战 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓 Cat-Catch 是一款…

作者头像 李华