工具概述
theHarvester是一款用于开源情报(OSINT)收集的 Kali Linux 工具,主要用于在渗透测试的初始阶段收集目标企业的电子邮件地址、子域名、IP 地址等信息。
主要特性
🔍 多数据源收集
搜索引擎: Google、Bing、DuckDuckGo 等
专业平台: Shodan、Virustotal、SecurityTrails 等
社交媒体: LinkedIn、Twitter
证书透明: CRT.sh 证书日志
DNS 信息: DNS 查询和反向查询
📊 信息类型
电子邮件地址: 发现企业相关邮箱
子域名: 目标域名的所有子域
虚拟主机: 同一 IP 上的其他网站
IP 地址: 目标系统 IP 信息
员工信息: 从社交媒体获取相关人员
Kali Linux 自带
bash
# Kali Linux 预安装
theHarvester -d example.com -b google
命令语法
bash
python3 theHarvester.py -d [域名] -b [数据源] -l [结果数量] -f [输出文件]
简单示例
bash
# 基本搜索
python3 theHarvester.py -d example.com -b google
# 多数据源搜索
python3 theHarvester.py -d example.com -b google,bing,linkedin
# 限制结果数量
python3 theHarvester.py -d example.com -b google -l 200
# 保存结果到文件
python3 theHarvester.py -d example.com -b all -f results.html
使用所有数据源
bash
# 使用所有可用数据源
python3 theHarvester.py -d example.com -b all -f results.xml
指定多个数据源
bash
# 选择特定数据源组合
python3 theHarvester.py -d example.com -b google,bing,linkedin,crtsh -l 500
使用代理
bash
# 通过代理运行
python3 theHarvester.py -d example.com -b google --proxy 127.0.0.1:8080
深度扫描
bash
# 深度搜索模式
python3 theHarvester.py -d example.com -b all -l 1000 --screenshot
API 密钥配置文件位置
bash
# API 配置文件
~/.config/theHarvester/api-keys.yaml
配置示例
bash
# API 密钥配置文件示例
api_keys:
shodan:
- "YOUR_SHODAN_API_KEY"
securitytrails:
- "YOUR_SECURITYTRAILS_API_KEY"
virustotal:
- "YOUR_VIRUSTOTAL_API_KEY"
censys:
- "YOUR_CENSYS_API_ID"
- "YOUR_CENSYS_API_SECRET"
输出支持格式
控制台输出 : 直接显示结果
XML 文件 : -f results.xml
JSON 文件 : -f results.json
HTML 报告: -f results.html
使用技巧和最佳实践
🎯 高效扫描策略
分层扫描: 先使用免费源,再使用 API 源
结果验证: 对发现的结果进行手动验证
数据关联: 结合其他工具进行关联分析
⚠️ 注意事项
法律合规: 仅在授权范围内使用
API 限制: 注意各平台的 API 调用限制
速率控制: 避免触发反爬虫机制
与其他工具集成
与 subDomainsBrute 结合
bash
# 先用 theHarvester 发现子域名,再用 subDomainsBrute 深度爆破
python3 theHarvester.py -d example.com -b crtsh,dnsdumpster -f subs.txt
python3 subDomainsBrute.py -f subs.txt example.com
与 Nmap 结合
bash
# 发现主机后进行端口扫描
python3 theHarvester.py -d example.com -b all | grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -u > ips.txt
nmap -iL ips.txt -sS -sV