theHarvester:信息收集领域的智慧猎手
在网络信息的浩瀚丛林中,theHarvester 宛如一位聪慧且敏锐的猎手,凭借其开源的优势,穿梭于搜索引擎、公共数据库以及社交媒体等多样渠道。本文精心打造了一份全面且详尽的 theHarvester 使用教程,从安装指引开启,深入剖析核心功能,详解常用命令,展示示例输出,并分享高级技巧。助力您驾驭这一卓越工具,精准捕获目标的邮箱、子域名、主机及开放端口等关键信息,在信息收集的征程中一路领先,轻松应对各类网络分析与安全挑战。
1. 安装与配置
1.1 安装方法
Kali Linux:
其他 Linux 系统/Windows/macOS:
确保已安装 Python 3 和requests
库(注意:部分博客提到的reqeusts
是拼写错误,应为requests
)。
2. 核心参数与功能
2.1 基本命令格式
2.2 常用参数
参数 | 功能 | 示例 |
---|---|---|
-d | 指定目标域名或公司名 | -d example.com |
-b | 指定数据源(如 google , bing , shodan , all ) | -b google |
-l | 限制搜索结果数量(默认值因数据源而异) | -l 200 |
-f | 将结果保存为 HTML 和 XML 文件 | -f output |
-v | 通过 DNS 解析验证主机名 | -v |
-p | 对检测到的主机进行端口扫描(80,443,22等) | -p |
-c | 对域名执行 DNS 暴力破解 | -c |
-h | 使用 Shodan 数据库查询主机信息 | -h |
root@kali:~# theharvester -h
*******************************************************************
* *
* | |_| |__ ___ /\ /\__ _ _ ____ _____ ___| |_ ___ _ __ *
* | __| _ \ / _ \ / /_/ / _` | __\ \ / / _ \/ __| __/ _ \ __| *
* | |_| | | | __/ / __ / (_| | | \ V / __/\__ \ || __/ | *
* \__|_| |_|\___| \/ /_/ \__,_|_| \_/ \___||___/\__\___|_| *
* *
* theHarvester Ver. 3.0.6 *
* Coded by Christian Martorella *
* Edge-Security Research *
* cmartorella@edge-security.com *
*******************************************************************
Usage: theharvester options
-d: 要搜索的域或公司名称
-b:数据来源:xxx、bing、bingapi、censys、crtsh、dogpile、#指定搜索途径
谷歌,谷歌证书,谷歌CSE,谷歌plus,谷歌个人资料,
亨特、领英、网易、pgp、threatcrowd,
推特、vhost、virustotal、雅虎、所有
-g: 使用谷歌dorking而不是正常的谷歌搜索
-s: 从结果编号X开始(默认值:0)
-v: 通过DNS解析验证主机名并搜索虚拟主机
-f: 将结果保存到HTML和XML文件中(两者都是)
-n: 对发现的所有范围执行DNS反向查询
-c: 为域名创建一个粗暴的域名系统
-t: 执行dns tld扩展发现
-e: 使用此DNS服务器
-p: 端口扫描检测到的主机并检查是否有接管(80443,22,218080)
-l: 限制要使用的结果数(必应从50个结果变为50个结果,google 100到100,而pgp不使用此选项)
-h: 使用Shodan数据库查询发现的主机
Examples:
theharvester -d microsoft.com -l 500 -b google -f myresults.html
theharvester -d microsoft.com -b pgp, virustotal
theharvester -d microsoft -l 200 -b linkedin
theharvester -d microsoft.com -l 200 -g -b google
theharvester -d apple.com -b googleCSE -l 500 -s 300
theharvester -d cornell.edu -l 100 -b bing -h
3. 使用场景与示例
3.1 基础信息收集
命令:从 Google 收集 example.com
的子域名和邮箱,限制 100 条结果:
示例输出:
[-] Searching in Google:
Searching 0 results...
Searching 100 results...
[+] Hosts found:
mail.example.com:192.168.1.10
www.example.com:192.168.1.20
blog.example.com:192.168.1.30
[+] Emails found:
admin@example.com
support@example.com
3.2 多数据源联合搜索
命令:使用 Google 和 Bing 搜索,结果保存为文件:
输出文件:生成 report.html
和 report.xml
,包含主机、IP 和邮箱信息。
4. 高级用法
4.1 DNS 暴力破解
命令:对域名执行 DNS 子域名暴力破解:
示例输出:
4.2 端口扫描与 Shodan 集成
命令:检测主机的开放端口并查询 Shodan 数据库:
示例输出:
4.3 虚拟主机发现
命令:通过 DNS 解析验证虚拟主机:
输出:显示解析成功的虚拟主机及其 IP 地址。
5. 注意事项与技巧
数据源选择:
优先使用
google
和bing
获取公开信息。shodan
需 API 密钥(需配置shodan.yaml
文件)。
结果限制:
Google 每次最多返回 100 条结果,Bing 50 条。
绕过验证码:
频繁搜索可能触发验证码,建议调整
-l
参数或使用代理。
合法合规:
未经授权不得扫描第三方目标,避免侵犯隐私。
6. 综合示例
命令:从多个数据源收集信息,保存文件并验证主机:
输出内容:
子域名列表及 IP 地址。
邮箱地址(如存在)。
开放端口和 Shodan 指纹信息。
解析失败的虚拟主机记录。
通过以上命令和示例,可快速掌握 theHarvester 的核心功能。更多高级用法(如 TLD 扩展发现、自定义 DNS 服务器)可参考官方文档或结合 -h
参数探索。
评论