theHarvester - 企业信息收集工具详解

工具概述

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
相关推荐
Fnetlink18 小时前
Fnet 云网安 260904
网络·人工智能·安全·web安全·网络安全
志栋智能9 小时前
安全超自动化如何支持大规模安全运营?
网络·安全·自动化
安科瑞黄益鸣10 小时前
筑牢高压直流安全防线:AIM‑T500L 绝缘监测仪在算力中心 DC800V 系统的应用
安全
HugoStudio_SWAN10 小时前
洛谷 B4500 / B4449 / B3843 凯撒密码、密码强度与密码合规——加密与安全的三道门
c++·学习·程序人生·算法·安全
小五传输10 小时前
FTP替代怎么做?医院文件安全传输选型与迁移指南
大数据·运维·安全
TechWayfarer11 小时前
Cloudflare 9·15新政倒计时:用IP风险画像识别AI爬虫,防止误伤Googlebot
网络·人工智能·爬虫·python·tcp/ip·网络安全
luckystar513~11 小时前
Hermes 实战 :系列收官/生产化——安全审计与运维
运维·人工智能·安全·agent·智能体开发·hermes实战·智能体网关
大模型码小白12 小时前
AI大模型接入SDK:人工智能核心概念与发展史
大数据·运维·人工智能·安全·prompt
ynm11112 小时前
2026.8.31(2)【AES】MRCTF2020 Unravel!!
网络安全·buuctf·青少年ctf
金立基胶粘13 小时前
如何利用替塑油推动环保发展?
大数据·安全