SpiderFoot 开源情报(OSINT)自动化工具详细部署教程

本教程将基于 smicallef/spiderfoot 项目,详细介绍如何在多种操作系统上部署这款强大的OSINT侦察工具。

1. SpiderFoot 简介

SpiderFoot 是一款开源的自动化情报收集工具,它的目标是自动化地收集关于目标(IP地址、域名、电子邮件等)的情报。它集成了超过 200 个模块,可以查询各种公共数据源(如搜索引擎、社交网络、威胁情报平台等),帮助安全人员、渗透测试者或企业了解自身的攻击面。

2. 部署方式与选择

根据您的需求和环境,可以选择以下几种主流部署方式:

部署方式 适用场景 优点
源码安装 (推荐) 大多数Linux/macOS系统,需要高度自定义 官方支持,模块齐全,便于开发
Kali Linux 安装 Kali Linux 用户 预置或通过apt快速安装,系统集成度高
Docker 部署 熟悉容器化,追求快速部署和环境隔离 一键运行,环境干净,易于迁移
Windows 部署 Windows 环境下的使用 通过Python运行,适合习惯Windows操作界面的用户

3. 详细部署步骤

方式一:源码安装 (适用于 Ubuntu/Debian 及多数 Linux)

此方式最为灵活,推荐作为首选。

第一步:环境准备
确保您的系统已安装 Python 3.8 或更高版本。可以使用以下命令检查:

1
python3 --version

建议使用虚拟环境,避免依赖冲突。

1
2
python3 -m venv ~/spiderfoot-env
source ~/spiderfoot-env/bin/activate

第二步:下载源码
通过 git 克隆项目仓库(或下载稳定版本的压缩包)。

1
2
git clone https://github.com/smicallef/spiderfoot.git
cd spiderfoot

第三步:安装依赖
项目所需的Python库都在 requirements.txt 文件中。国内用户可临时使用镜像源加速。

1
pip install -r requirements.txt

如果在安装 cryptography 等底层库时遇到问题,可尝试先单独安装或升级相关包。

第四步:启动服务
使用 sf.py 脚本启动Web界面。-l 参数指定监听的地址和端口,默认为 127.0.0.1:5001

1
python3 sf.py -l 127.0.0.1:5001

第五步:访问界面
在浏览器中打开 http://127.0.0.1:5001 即可开始使用。

方式二:在 Kali Linux 中安装

Kali Linux 本身可能已预装 SpiderFoot。如果没有,安装非常简便。

方法 A:使用 apt 安装(推荐)
这是最快速、最稳定的方法,Kali 的软件源会处理好所有依赖。

1
2
sudo apt update
sudo apt install spiderfoot

安装后,直接在终端输入 spiderfoot -l 127.0.0.1:5001 即可启动。

方法 B:使用 pip 安装

1
pip install spiderfoot

方式三:使用 Docker 部署

如果希望快速部署且不污染主机环境,Docker 是绝佳选择。社区提供了多种镜像,例如 joshuapfritz/spiderfoot

第一步:拉取并运行容器
以下命令会以后台模式运行容器,将宿主机的 5001 端口映射到容器的 5001 端口,并将数据持久化到当前目录的 spiderfoot-data 文件夹。

1
2
3
4
docker run -d --name spiderfoot \
-p 5001:5001 \
-v $PWD/spiderfoot-data:/data \
joshuapfritz/spiderfoot:v4.0

第二步:访问界面
在浏览器中打开 http://127.0.0.1:5001

进阶:使用 Docker Compose 部署完整服务栈
更复杂的部署(如包含数据库、任务队列、监控等)可以使用 docker-compose.yml 文件进行编排。这种方式适合生产环境或需要弹性扩展的场景。

1
2
3
4
# 复制配置文件
cp .env.example .env
# 启动核心服务(约5个容器)
docker compose -f docker-compose.yml up --build -d

访问地址会根据您启用的配置(profile)有所不同,核心服务UI在 http://localhost:3000

方式四:在 Windows 上部署

SpiderFoot 没有官方的 .exe 可执行文件,需要以 Python 脚本方式运行。

第一步:安装 Python
从官网下载并安装 Python 3.9 或兼容版本。务必勾选 “Add Python to PATH” 选项。安装完成后重启电脑。

第二步:获取源码
从 GitHub 下载源码压缩包并解压,例如解压到 C:\Tools\SpiderFoot

1
git clone https://github.com/smicallef/spiderfoot.git C:\Tools\SpiderFoot

第三步:安装依赖
进入解压后的目录,在命令行中运行:

1
2
cd C:\Tools\SpiderFoot
pip install -r requirements.txt

第四步:启动服务
在SpiderFoot目录下运行 sf.py,指定监听地址为 127.0.0.1:5001

1
python sf.py -l 127.0.0.1:5001

然后在浏览器访问 http://127.0.0.1:5001 即可。

4. 首次启动与安全配置

无论哪种方式成功启动后,首次使用前建议确认以下几点:

  1. 监听地址127.0.0.1 是安全的默认值,请不要为了方便将其改为 0.0.0.0 或公网地址,除非您完全了解暴露风险。
  2. 数据存储:扫描结果会保存在本地(如 spiderfoot.db),其中可能包含敏感信息,请妥善管理。
  3. API 密钥:许多模块需要配置第三方服务的 API Key 才能工作。请在 Web 界面的设置中配置,并将这些 Key 视作密码妥善保管,切勿提交到公共代码仓库

5. 开始你的第一次扫描

  1. 在浏览器中打开 SpiderFoot Web 界面 http://127.0.0.1:5001
  2. 点击 “New Scan” 按钮。
  3. 输入你要调查的目标(例如一个域名 example.com),选择目标类型。
  4. 根据需要选择要启用的模块。对于初学者,可以先从基础的 DNS、WHOIS、子域名枚举等模块开始,而不是一次性开启所有模块,这样结果更可控且易于理解。
  5. 点击 “Run Scan”,扫描便会开始。你可以在界面上实时查看进度、发现的事件(Events)以及它们之间的关联关系图。