SpiderFoot+Amass:免费OSINT自动化情报收集平台搭建
前言
在渗透测试和安全评估中,信息收集是至关重要的第一步。Maltego Pro作为商业OSINT工具的标杆,月费$99起,企业版更是高达$9,999+/年。SpiderFoot HX云版同样按年收费$99起。对于预算有限的安全团队和独立研究者来说,开源替代方案完全能够胜任绝大多数情报收集场景。
本文将手把手带你搭建基于SpiderFoot开源版和Amass的免费OSINT自动化情报收集平台,覆盖从安装部署到实战配置的完整流程。
一、付费工具定价对比
| 工具 | 定价模式 | 价格范围 | 核心优势 |
|---|---|---|---|
| Maltego Pro | 订阅制 | $99/月起 | 可视化图谱、商业数据源集成 |
| Maltego Enterprise | 年付 | $9,999+/年 | 团队协作、自定义转换器 |
| SpiderFoot HX | 年付 | $99/年起 | 云托管、自动扫描、API访问 |
| SpiderFoot HX Cloud | 按量计费 | 变动 | 无需自建基础设施 |
对于个人研究者和中小团队,开源版SpiderFoot提供了完整的模块化情报收集能力,Amass则在资产发现领域表现卓越。两者组合可以覆盖90%以上的OSINT需求。
二、免费替代方案介绍
2.1 SpiderFoot(开源版)
SpiderFoot是一个Python编写的自动化OSINT工具,集成了200+数据源模块,支持域名、IP、邮箱、用户名、CIDR等多种查询目标。开源版功能完整,包含Web界面、自动化扫描和结果导出。
GitHub: https://github.com/smicallef/spiderfoot
2.2 Amass
OWASP Amass是目前最强的开源资产发现工具之一,采用主动和被动相结合的方式进行子域名枚举,集成30+数据源,支持DNS暴力破解、置换生成和API集成。
GitHub: https://github.com/owasp-amass/amass
2.3 辅助工具
- theHarvester: 邮箱和子域名收集利器
- Recon-ng: 模块化侦察框架,类似Metasploit的操作体验
三、完整安装步骤
3.1 环境准备
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装基础依赖
sudo apt install -y python3 python3-pip python3-venv git curl wget nmap dnsutils whois
3.2 安装SpiderFoot
# 克隆仓库
cd /opt
sudo git clone https://github.com/smicallef/spiderfoot.git
sudo chown -R $USER:$USER /opt/spiderfoot
# 创建虚拟环境
cd /opt/spiderfoot
python3 -m venv venv
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 启动SpiderFoot(默认监听127.0.0.1:5001)
python3 sf.py -l 127.0.0.1:5001
生产环境建议修改监听地址并添加认证:
# 监听所有接口(配合Nginx反代)
python3 sf.py -l 0.0.0.0:5001
3.3 安装Amass
# 方法一:使用Snap安装
sudo snap install amass
# 方法二:使用Go安装最新版
sudo apt install -y golang-go
go install -v github.com/owasp-amass/amass/v4/...@master
# 验证安装
amass -version
3.4 安装辅助工具
# 安装theHarvester
pip3 install theHarvester
# 安装Recon-ng
cd /opt
sudo git clone https://github.com/lanmaster53/recon-ng.git
cd recon-ng
python3 -m venv venv
source venv/bin/activate
pip install -r REQUIREMENTS
3.5 配置Nginx反向代理(可选)
sudo apt install -y nginx
cat > /etc/nginx/sites-available/spiderfoot << 'EOF'
server {
listen 80;
server_name osint.example.com;
location / {
proxy_pass http://127.0.0.1:5001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "OSINT Platform";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
EOF
sudo ln -s /etc/nginx/sites-available/spiderfoot /etc/nginx/sites-enabled/
sudo htpasswd -c /etc/nginx/.htpasswd admin
sudo nginx -t && sudo systemctl reload nginx
四、配置示例
4.1 SpiderFoot自动化扫描配置
通过Web界面(http://localhost:5001)创建扫描任务:
- 点击"New Scan"
- 输入目标域名(如 example.com)
- 选择扫描类型:Domain, IP Address, Subdomain
- 推荐启用的关键模块:
- sfp_dns: DNS基础查询
- sfp_whois: WHOIS信息
- sfp_certificate: SSL证书透明度日志
- sfp_shodan: Shodan设备搜索(需API Key)
- sfp_virustotal: 恶意软件检测(需API Key)
4.2 Amass枚举配置
# 被动枚举(不发送目标任何数据包)
amass enum -passive -d example.com -o passive_results.txt
# 主动枚举(含DNS解析和端口扫描)
amass enum -active -d example.com -brute -o active_results.txt
# 使用配置文件优化
mkdir -p ~/.config/amass
cat > ~/.config/amass/config.yaml << 'EOF'
scope:
domains:
- example.com
blacklist:
- admin.example.com
data_sources:
- name: VirusTotal
api_key: "YOUR_API_KEY"
- name: SecurityTrails
api_key: "YOUR_API_KEY"
EOF
# 执行完整枚举
amass enum -d example.com -config ~/.config/amass/config.yaml -o results.txt
4.3 theHarvester实战
# 使用多个数据源收集邮箱和子域名
theHarvester -d example.com -b all -l 200 -f output.html
# 仅使用特定数据源
theHarvester -d example.com -b bing,google,linkedin -l 100
4.4 联合工作流脚本
#!/bin/bash
# osint_scan.sh - 联合情报收集脚本
TARGET=$1
OUTPUT_DIR="./osint_${TARGET}_$(date +%Y%m%d)"
mkdir -p "$OUTPUT_DIR"
echo "[*] 开始对 $TARGET 进行情报收集..."
# 1. Amass子域名枚举
echo "[+] Amass被动枚举..."
amass enum -passive -d "$TARGET" > "$OUTPUT_DIR/amass_passive.txt" 2>/dev/null
# 2. theHarvester收集
echo "[+] theHarvester收集..."
theHarvester -d "$TARGET" -b all -l 500 -f "$OUTPUT_DIR/theharvester.html" 2>/dev/null
# 3. 导出结果汇总
echo "[*] 收集完成,结果保存在 $OUTPUT_DIR/"
wc -l "$OUTPUT_DIR"/*.txt
五、功能对比表
| 功能 | Maltego Pro | SpiderFoot HX | SpiderFoot开源版 | Amass |
|---|---|---|---|---|
| 价格 | $99/月 | $99/年 | 免费 | 免费 |
| 可视化图谱 | 强 | 一般 | 一般 | 无 |
| 数据源数量 | 100+ | 200+ | 200+ | 30+ |
| 子域名发现 | 中 | 强 | 强 | 最强 |
| Web界面 | 有 | 有 | 有 | 无 |
| API接口 | 有 | 有 | 有 | CLI |
| 自动化调度 | 有 | 有 | 有 | 脚本 |
| 邮箱收集 | 强 | 强 | 强 | 无 |
| 证书透明度 | 有 | 有 | 有 | 有 |
| Shodan集成 | 有 | 有 | 有 | 有 |
| 自定义模块 | 有 | 有限 | 有 | 无 |
| 团队协作 | 有 | 有 | 无 | 无 |
| 报告导出 | 多格式 | 多格式 | CSV/JSON | TXT |
六、实战Tips
- API Key配置: SpiderFoot中配置VirusTotal、Shodan、Censys等免费API Key可以大幅提升收集能力
- 扫描频率: 生产环境注意API调用限制,避免触发封禁
- 数据关联: 将Amass发现的子域名导入SpiderFoot进行深度分析
- 定期扫描: 设置定时任务(cron)进行周期性资产监控
- 结果比对: 使用diff对比不同时间的扫描结果,发现新增资产
总结
通过SpiderFoot和Amass的组合,我们构建了一套功能完整的免费OSINT平台。虽然缺少Maltego的华丽可视化图谱,但在实际情报收集能力上毫不逊色。对于大多数安全评估场景,这套开源方案足以满足需求。建议根据实际需要选择性配置付费API源,在免费基础上进一步提升情报收集的深度和广度。
评论