
Recolector de correos electrónicos, subdominios y nombres - OSINT

theHarvester recopila inteligencia de fuentes abiertas sobre un dominio u organización a partir de motores de búsqueda, registros de transparencia de certificados, conjuntos de datos DNS, repositorios de código, plataformas de inteligencia de amenazas y otras fuentes públicas. Normaliza nombres de host, direcciones de correo electrónico, direcciones IP, URL, ASN, personas, nombres de brechas y evidencia estructurada de acciones opcionales.
Utiliza theHarvester durante la etapa de reconocimiento inicial de una evaluación de seguridad autorizada. Ejecútalo únicamente contra objetivos que poseas o para los que tengas permiso explícito de probar.
theHarvester requiere Python 3.14 y uv. El archivo .python-version del repositorio permite que uv seleccione automáticamente la versión de Python requerida:
git clone https://github.com/laramies/theHarvester.git
cd theHarvester
uv sync
uv run theHarvester -d example.com -b crtsh,certspotter
Esta primera ejecución utiliza dos fuentes pasivas P0 que no requieren clave de API. Pasivo significa que el objetivo no se contacta directamente, pero los proveedores seleccionados aún reciben la cadena del objetivo. La terminal informa el resultado de cada fuente y cualquier hallazgo retenido. Una fuente puede completarse con cero hallazgos, detenerse antes con evidencia parcial o fallar sin borrar la evidencia retenida por otras fuentes.
Consulte la guía de instalación para distribuciones empaquetadas y configuración específica de la plataforma.
| Interfaz | Ideal para | Comenzar con |
|---|---|---|
| CLI | Reconocimiento puntual y flujos de trabajo de shell | uv run theHarvester -h |
| HarvestView | Historial de ejecuciones locales, revisión de evidencia, cambios de nombre de host y programaciones | uv run harvestview |
| REST API | Automatización e integraciones locales autenticadas | http://127.0.0.1:5000/docs |
La CLI, la REST API y HarvestView comparten un único motor de ejecución finita y un modelo de evidencia normalizado. HarvestView proporciona la interfaz de navegador local.
Consultar varias fuentes pasivas P0:
uv run theHarvester -d example.com -b crtsh,certspotter,commoncrawl
Tres fuentes de descubrimiento se ejecutan a la vez de forma predeterminada. Usa -j o --source-workers para cambiar el número de workers. Cada fuente seleccionada se sigue ejecutando.
Ejecuta todas las fuentes que puedan aportar subdominios:
uv run theHarvester -d example.com -b subdomains
Combina selectores de capacidades, o mézclalos con nombres de origen explícitos:
uv run theHarvester -d example.com -b emails,urls,certspotter
Los selectores de capacidad forman una unión y eligen qué fuentes se ejecutan. No descartan otros tipos de resultados devueltos por esas fuentes. Los selectores disponibles son subdomains, emails, ips, asns, urls, people y breaches. -b all ejecuta todas las fuentes pasivas P0 catalogadas. Las fuentes DNS P1 y directas P2 requieren selección explícita.
Pasa --limit 0 para eliminar el límite compartido de resultados por fuente y los topes locales de página. Las cuotas del proveedor y las salvaguardas de tiempo de ejecución siguen aplicándose. Si un proveedor o un límite de seguridad detiene una fuente después de retener resultados, la ejecución los conserva y registra un resultado parcial con el motivo de la detención.
Excluye los resultados de nombres de host mientras se conservan otros tipos de resultados:
uv run theHarvester -d example.com -b emails,ips,urls --no-hosts -f non-host-results
--no-hosts omite las fuentes que solo contienen nombres de host y omite los resultados de nombres de host mientras conserva los demás tipos de resultados. No se puede combinar con acciones que dependen de nombres de host. HarvestView y la API REST exponen la misma opción como no_hosts.
Guardar los resultados como JSONL:
uv run theHarvester -d example.com -b crtsh,certspotter -f report
Esto escribe report.jsonl para automatización e intercambio, además de los informes de compatibilidad report.json y report.xml. Las ejecuciones completadas también se conservan en el almacén de evidencias SQLite local.
Resuelve los hosts descubiertos para un dominio autorizado con la lista de resolutores predeterminada:
AUTHORIZED_DOMAIN='replace-with-a-domain-you-control'
uv run theHarvester -d "$AUTHORIZED_DOMAIN" -b crtsh,certspotter -r
Enumera cada opción y su comportamiento actual:
uv run theHarvester -h
P0, P1 y P2 describen un comportamiento de red observable, no confianza ni importancia.
| Clase | Comportamiento de red | Ejemplos |
|---|---|---|
| P0 | Consulta un proveedor o conjunto de datos existente sin dirigir tráfico hacia el objetivo | Proveedores de búsqueda, transparencia de certificados, código y DNS pasivo |
| P1 | Consulta DNS sobre nombres o direcciones autorizados | Resolución, fuerza bruta, DNS recursivo y búsqueda inversa |
| P2 | Contacta un endpoint del objetivo o provoca una interacción directa equivalente | HTTP, TLS, capturas de pantalla, comprobaciones de takeover, hosts virtuales, puertos y rutas de API |
La actividad P1 y P2 se ejecuta solo cuando la seleccionas. Un nombre de host, red, ASN o URL relacionado descubierto sigue siendo evidencia para revisión y no amplía automáticamente el objetivo autorizado. El nombre de host exacto importa: www.example.test y example.test son objetivos diferentes a menos que el encargo autorice ambos.
Las opciones activas comunes incluyen resolución DNS (-r), fuerza bruta DNS (-c), DNS inverso (-n), DNS recursivo (--dns-recursive-depth), comprobaciones de takeover (-t), escaneo de rutas de API (-a) y capturas de pantalla (--screenshot). Un indicador de takeover es evidencia para revisión, no prueba de que un recurso de proveedor pueda reclamarse.
Lee Responsible use and scope antes del trabajo activo. Operator workflows cubre límites, resolvers, proxies y comportamiento específico de cada acción. Con el modo de proxy explícito habilitado, el descubrimiento y las acciones compatibles fallan de forma segura cuando no hay ningún proxy disponible en lugar de enviar una solicitud directa.