Saltar al contenido principal
TheHarvester y Recon-ng: Recopilación de Información para Pentesting

TheHarvester y Recon-ng: Recopilación de Información para Pentesting

Guía completa de TheHarvester y Recon-ng para reconocimiento OSINT: instalación, fuentes de datos, módulos, workspaces y flujo de trabajo integrado para pentesting y red team.

13 minCyberFlows Team
[Espacio publicitario — AdSense]

Por Qué TheHarvester y Recon-ng Son Complementarios

En reconocimiento OSINT, necesitas dos cosas: datos crudos y estructura para trabajar con ellos. TheHarvester excava — extrae emails, subdominios, IPs y URLs de decenas de fuentes públicas. Recon-ng organiza — te da un framework modular (con interfaz tipo Metasploit) para automatizar la recopilación, almacenar resultados en base de datos y generar reportes.

Usar solo uno es como tener un martillo sin taller, o un taller sin martillo. Juntos cubren las primeras horas críticas de cualquier pentest o red team engagement.

Todos los ejemplos de este artículo asumen un entorno de laboratorio autorizado (CTF, HackTheBox o tu propio lab). La recopilación de información contra objetivos reales requiere autorización explícita por escrito.


TheHarvester: El Excavador de Dominios

Qué Hace TheHarvester

TheHarvester es una herramienta de reconocimiento pasivo que recopila información pública sobre un dominio objetivo: direcciones de correo electrónico, subdominios, nombres de host, direcciones IP y URLs. Consulta más de 40 fuentes públicas — motores de búsqueda, Certificate Transparency logs, bases de datos DNS, servicios de threat intelligence — sin interactuar directamente con el objetivo.

Esto significa que el objetivo nunca ve tráfico directo de tu herramienta. Todo se obtiene de fuentes de terceros, lo que lo hace ideal para las fases iniciales de un engagement donde la detección debe ser mínima.

Instalación

TheHarvester requiere Python 3.12 o superior y usa uv como gestor de dependencias:

# Instalar uv (si no lo tienes)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clonar el repositorio
git clone https://github.com/laramies/theHarvester
cd theHarvester

# Instalar dependencias y crear entorno virtual
uv sync

# Ejecutar theHarvester
uv run theHarvester

En Kali Linux, theHarvester viene preinstalado. Puedes ejecutarlo directamente:

theHarvester

Sintaxis y Flags Principales

theHarvester -d <dominio> -b <fuente(s)> [opciones]
Flag Descripción Ejemplo
-d Dominio objetivo -d empresa.com
-b Fuente(s) de datos -b google,bing,crtsh
-l Límite de resultados por fuente -l 200
-f Guardar resultados en archivo -f resultados.html
-s Usar Shodan para enrichir hosts descubiertos -s
-c Realizar DNS brute force -c
-t Realizar DNS TLD expansion -t
-e Servidores DNS especificados -e 8.8.8.8,1.1.1.1
--screenshot Tomar capturas de subdominios descubiertos --screenshot

Fuentes de Datos Disponibles

TheHarvester agrupa sus fuentes en dos categorías:

Fuentes passivas (sin interacción con el objetivo):

Fuente Tipo de datos API key requerida
baidu Subdominios, URLs No
bing Subdominios, emails No
brave Subdominios, URLs Sí (plan gratuito disponible)
crtsh Certificados TLS (Certificate Transparency) No
censys Certificados, subdominios Sí (500 créditos $100)
dnsdumpster Dominios relacionados, DNS Sí (50 gratuitos/día)
duckduckgo Subdominios, URLs No
github-code Código fuente expuesto No
hackertarget Subdominios DNS No
otx AlienVault OTX — threat intelligence No
rapiddns DNS historical No
securityTrails DNS histórico, subdominios Sí (50 gratuitos/mes)
shodan Puertos, banners de hosts descubiertos Sí (plan pago)
subdomaincenter Subdominios No
subdomainfinderc99 Subdominios No
threatminer Threat intelligence, subdominios No
urlscan Análisis de URLs No
virustotal Subdominios, URLs, emails Sí (500 gratuitos/día)
yahoo Subdominios, URLs No

Fuentes activas (interactúan directamente con el objetivo):

Fuente Tipo de datos Nota
DNS brute force Subdominios via diccionario --screenshot
Screenshots Capturas de subdominios Requiere subdominios previos

Ejemplos Prácticos

# Búsqueda básica: emails y subdominios de un dominio
theHarvester -d empresa.com -b google,bing,crtsh

# Búsqueda amplia con límite de 500 resultados por fuente
theHarvester -d empresa.com -b all -l 500

# Exportar resultados a HTML
theHarvester -d empresa.com -b bing,crtsh,otx -f reporte_empresa.html

# Con enriquecimiento Shodan (requiere API key)
theHarvester -d empresa.com -b bing,crtsh -s

# DNS brute force activo
theHarvester -d empresa.com -b bing -c

# Usar DNS personalizado
theHarvester -d empresa.com -b google -e 8.8.8.8,1.1.1.1

# Múltiples fuentes gratuitas (sin API key)
theHarvester -d empresa.com -b baidu,bing,brave,crtsh,duckduckgo,hackertarget,otx,rapiddns,subdomaincenter,threatminer,urlscan,yahoo -l 200

Interpretando los Resultados

TheHarvester clasifica los resultados en categorías:

=============================================
  theHarvester: Emails, Subdomains, Hosts
=============================================

Emails encontrados:
  admin@empresa.com
  info@empresa.com
  j.garcia@empresa.com
  m.lopez@empresa.com

Subdominios encontrados:
  mail.empresa.com
  vpn.empresa.com
  webmail.empresa.com
  dev.empresa.com
  api.empresa.com

Hosts encontrados (IPs):
  mail.empresa.com    → 203.0.113.10
  vpn.empresa.com     → 203.0.113.20
  api.empresa.com     → 203.0.113.30

Qué hacer con estos datos:

  • Emails: Identifica patrones de naming (j.garcia@, admin@). Usa para phishing en fases posteriores o para buscar filtraciones en HaveIBeenPwned.
  • Subdominios: Cada subdominio es un punto de entrada potencial. dev.empresa.com puede tener menor seguridad que www.empresa.com.
  • IPs: Pásalas a Shodan o Nmap para enumeración de servicios y puertos.

Recon-ng: El Framework Modular de Reconocimiento

Qué Hace Recon-ng

Recon-ng es un framework de reconocimiento con interfaz similar a Metasploit. Donde theHarvester te da una lista plana de resultados, Recon-ng te da un entorno de trabajo estructurado: workspaces persistentes, módulos instalables desde un marketplace, base de datos integrada para almacenar y consultar resultados, y exportación a múltiples formatos.

Recon-ng no intenta ser theHarvester ni Maltego. Es el cerebro organizador del reconocimiento: recopila, almacena, estructura y exporta datos de forma automatizada.

Instalación

# Clonar el repositorio
git clone https://github.com/lanmaster53/recon-ng
cd recon-ng

# Crear entorno virtual
python3 -m venv .venv
source .venv/bin/activate

# Instalar dependencias
pip install -r REQUIREMENTS

# Ejecutar Recon-ng
./recon-ng

En Kali Linux:

recon-ng

La Interfaz de Recon-ng

Al ejecutar Recon-ng, entornos en una shell interactiva:

recon-ng v5.1.1
[recon-ng][default] >

Los comandos principales son:

Comando Descripción
workspaces create <nombre> Crear un nuevo workspace
workspaces load <nombre> Cargar un workspace existente
workspaces list Listar todos los workspaces
marketplace search <término> Buscar módulos en el marketplace
marketplace install <módulo> Instalar un módulo
modules load <módulo> Cargar un módulo
options set <opción> <valor> Configurar opciones del módulo
modules run Ejecutar el módulo cargado
db insert <tabla> Insertar registros en la BD
db query <SQL> Ejecutar SQL contra la BD
show <tabla> Mostrar contenido de una tabla
shell Ejecutar comandos del sistema
exit Salir

Workspaces: Organización por Objetivo

Cada objetivo de pentesting debe tener su propio workspace. Los workspaces aíslan los datos — nunca mezclas resultados de distintos objetivos.

# Crear workspace para un objetivo
[recon-ng][default] > workspaces create empresa_objetivo

# El prompt cambia para reflejar el workspace activo
[recon-ng][empresa_objetivo] >

# Listar workspaces
[recon-ng][empresa_objetivo] > workspaces list

  Workspace     Module Repository
  -----------   -----------------
  default       *
  empresa_objetivo

# Cambiar a otro workspace
[recon-ng][empresa_objetivo] > workspaces load default

Marketplace: Módulos de Reconocimiento

El marketplace de Recon-ng contiene módulos organizados por categoría. Cada módulo realiza una tarea específica de reconocimiento y almacena los resultados automáticamente en la base de datos del workspace.

# Buscar módulos relacionados con dominios
[recon-ng][empresa_objetivo] > marketplace search domains-hosts

  Path                                        Version  Status
  ----                                        -------  ------
  recon/domains-hosts/baidu_site              1.1      installed
  recon/domains-hosts/certificate_transparency 1.1    installed
  recon/domains-hosts/google_site_web         1.2      installed
  recon/domains-hosts/hackertarget            1.0      installed
  recon/domains-hosts/rapiddns                1.0      installed
  recon/domains-hosts/subdomaincenter         1.0      installed
  recon/domains-hosts/threatminer             1.1      installed
  ...

# Instalar todos los módulos (recomendado para empezar)
[recon-ng][empresa_objetivo] > marketplace install all

# Instalar un módulo específico
[recon-ng][empresa_objetivo] > marketplace install recon/domains-hosts/google_site_web

Flujo de Trabajo Completo con Recon-ng

# 1. Crear workspace
[recon-ng][default] > workspaces create pentest_demo

# 2. Instalar módulos necesarios
[recon-ng][pentest_demo] > marketplace install all

# 3. Cargar módulo de Google
[recon-ng][pentest_demo] > modules load recon/domains-hosts/google_site_web

# 4. Configurar el dominio objetivo
[recon-ng][pentest_demo][google_site_web] > options set SOURCE empresa.com

# 5. Verificar configuración
[recon-ng][pentest_demo][google_site_web] > options list

  Name     Current Value    Required  Description
  ------   -------------    --------  -----------
  SOURCE   empresa.com      yes       Target domain

# 6. Ejecutar el módulo
[recon-ng][pentest_demo][google_site_web] > modules run

[*]empresa.com
[*] 15 hosts found.

# 7. Cargar otro módulo
[recon-ng][pentest_demo] > modules load recon/domains-hosts/certificate_transparency
[recon-ng][pentest_demo][certificate_transparency] > options set SOURCE empresa.com
[recon-ng][pentest_demo][certificate_transparency] > modules run

[*]empresa.com
[*] 47 hosts found.

# 8. Ver todos los hosts descubiertos
[recon-ng][pentest_demo] > show hosts

  rowid  ip_address      host                module
  -----  ----------      ----                ------
  1      203.0.113.10    mail.empresa.com    google_site_web
  2      203.0.113.20    vpn.empresa.com     google_site_web
  3      203.0.113.30    api.empresa.com     certificate_transparency
  4      203.0.113.40    dev.empresa.com     certificate_transparency
  ...

Módulos Más Útiles para Pentesting

Enumeración de subdominios:

Módulo Fuente API Key
recon/domains-hosts/baidu_site Baidu No
recon/domains-hosts/certificate_transparency CT logs No
recon/domains-hosts/google_site_web Google dorking No
recon/domains-hosts/hackertarget HackerTarget DNS No
recon/domains-hosts/rapiddns RapidDNS No
recon/domains-hosts/subdomaincenter SubdomainCenter No
recon/domains-hosts/threatminer ThreatMiner No

Recolección de emails:

Módulo Fuente API Key
recon/contacts-contacts/metacrawler MetaCrawler No
recon/contacts-emails/jesseduffield Name2Email No

Enriquecimiento de datos:

Módulo Función API Key
recon/hosts-hosts/resolve Resolución DNS de IPs No
recon/hosts-hosts/shodan_hostname Shodan: puertos y banners

Almacenamiento y Consulta de Datos

Recon-ng almacena todo en una base de datos SQLite por workspace. Puedes consultar los datos con SQL:

# Ver todos los hosts descubiertos
[recon-ng][pentest_demo] > show hosts

# Consulta SQL directa
[recon-ng][pentest_demo] > db query SELECT ip_address, host FROM hosts WHERE host LIKE '%api%'

# Contar hosts por módulo
[recon-ng][pentest_demo] > db query SELECT module, COUNT(*) as total FROM hosts GROUP BY module

# Exportar a CSV
[recon-ng][pentest_demo] > db query SELECT * FROM hosts INTO OUTFILE '/tmp/hosts.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

Exportación de Resultados

Recon-ng permite exportar datos en múltiples formatos:

# Exportar hosts a XML
[recon-ng][pentest_demo] > db query SELECT * FROM hosts INTO OUTFILE '/tmp/hosts.xml'

# Exportar a JSON (vía shell)
[recon-ng][pentest_demo] > shell
$ recon-ng -w pentest_demo -r /tmp/export.py

Flujo de Trabajo Integrado: TheHarvester → Recon-ng → Siguiente Fase

La verdadera potencia de estas herramientas sale a la luz cuando las combinas en un flujo de trabajo estructurado:

Fase 1: Exploración Rápida con TheHarvester

# Búsqueda rápida con fuentes gratuitas
theHarvester -d empresa.com -b crtsh,bing,duckduckgo,hackertarget,rapiddns -l 200 -f theharvester_empresa.html

# Con DNS brute force
theHarvester -d empresa.com -b bing,crtsh -c -f theharvester_bruteforce.html

Fase 2: Estructuración con Recon-ng

# Crear workspace basado en los resultados
[recon-ng][default] > workspaces create empresa_pentest

# Importar hosts descubiertos por theHarvester a la BD de Recon-ng
[recon-ng][empresa_pentest] > db insert hosts
  ip_address: 203.0.113.10
  host: mail.empresa.com
  module: theharvester
[recon-ng][empresa_pentest] > db insert hosts
  ip_address: 203.0.113.20
  host: vpn.empresa.com
  module: theharvester

# Ejecutar módulos adicionales de Recon-ng para ampliar
[recon-ng][empresa_pentest] > modules load recon/domains-hosts/certificate_transparency
[recon-ng][empresa_pentest][certificate_transparency] > options set SOURCE empresa.com
[recon-ng][empresa_pentest][certificate_transparency] > modules run

# Enriquecer con Shodan
[recon-ng][empresa_pentest] > modules load recon/hosts-hosts/shodan_hostname
[recon-ng][empresa_pentest][shodan_hostname] > modules run

Fase 3: Análisis y Siguiente Fase

Con los datos consolidados en Recon-ng, la siguiente fase depende del objetivo:

Si encontraste... Siguiente herramienta
Subdominios con puertos abiertos Shodan/Censys para enumeración de servicios
Emails de empleados Maltego para análisis de relaciones y grafos
Servicios web expuestos Burp Suite para testing de aplicaciones web
Infraestructura DNS Nmap para escaneo de red interno
Credenciales filtradas OSINT de contraseñas y filtraciones

TheHarvester vs Recon-ng: Cuándo Usar Cada Uno

Característica TheHarvester Recon-ng
Enfoque Recopilación rápida de datos Framework modular de reconocimiento
Interfaz CLI con flags Shell interactiva (tipo Metasploit)
Fuentes 40+ motores de búsqueda, CT logs, DNS Módulos instalables desde marketplace
Almacenamiento Archivos (HTML, XML, JSON, CSV) Base de datos SQLite por workspace
Automatización Un comando, múltiples fuentes Workflows encadenados de módulos
API keys Algunas fuentes requeridas Algunos módulos requeridos
Ideal para Exploración inicial rápida Investigación profunda y automatizada
Curva de aprendizaje Baja Media
Uso típico Primeros 15 minutos de un pentest Horas 1-4 de reconocimiento estructurado

La recomendación: Usa theHarvester primero para obtener una visión rápida del dominio. Luego importa los resultados a Recon-ng para la fase de reconocimiento profunda. No compitas — complementa.


Errores Comunes

1. Usar solo theHarvester y dar por terminado el reconocimiento

TheHarvester te da la superficie. Recon-ng te da la profundidad. Un pentest serio requiere ambas fases.

2. No configurar API keys

Muchas fuentes de theHarvester y módulos de Recon-ng son significativamente más potentes con API keys. Al menos configura:

  • VirusTotal (500 búsquedas/día gratis)
  • Shodan (requiere plan pago, pero enriquece enormemente)
  • SecurityTrails (50 búsquedas/mes gratis)

3. Mezclar objetivos en un mismo workspace de Recon-ng

Cada pentest = un workspace. Los datos mezclados entre objetivos generan confusión y potencialmente violan acuerdos de confidencialidad.

4. No exportar antes de cambiar de workspace

Los workspaces de Recon-ng son persistentes, pero si necesitas cambiar entre objetivos frecuentemente, exporta los resultados a archivos antes de cargar otro workspace.

5. Olvidar que theHarvester es pasivo

TheHarvester no toca el objetivo — todo viene de fuentes de terceros. Pero Recon-ng módulos como shodan_hostname sí hacen consultas externas. Entiende qué hace cada módulo antes de ejecutarlo.


Conclusión

TheHarvester y Recon-ng son las dos caras de la misma moneda en reconocimiento OSINT. TheHarvester es la herramienta de velocidad: un comando, decenas de fuentes, resultados en segundos. Recon-ng es la herramienta de profundidad: workspaces persistentes, módulos encadenados, base de datos integrada y exportación profesional.

En un pentest real, el flujo típico es: theHarvester para los primeros 15 minutos, Recon-ng para las siguientes 2-4 horas, y luego Shodan o Maltego para la fase de análisis. Cada herramienta alimenta a la siguiente, y el reconocimiento completo no termina hasta que tienes un mapa completo de la superficie de ataque del objetivo.

No necesitas todas las herramientas OSINT del mundo. Necesitas estas dos, y saber cuándo usar cada una.


Artículos Relacionados

Aviso legal: Este contenido es estrictamente educativo. CyberFlows no apoya actividades ilegales. Úsalo solo en entornos autorizados.

[Espacio publicitario — AdSense]

Newsletter de Ciberseguridad

Resumen semanal con los mejores artículos, CVEs críticos y tendencias del mercado. Sin spam.

🔒 Tu email no se compartirá. Puedes darte de baja en cualquier momento.