Saltar al contenido
Lección 7 de 8

Herramientas y Automatización OSINT

6 min read

De la Búsqueda Manual a la Automatización

Las técnicas vistas hasta ahora — WHOIS, DNS, dorking, correlación de usernames — son perfectamente ejecutables a mano, pero a escala se vuelven inviables. Investigar un solo objetivo puede implicar decenas de consultas a fuentes distintas, y repetir ese proceso para múltiples objetivos manualmente consume un tiempo enorme y es propenso a errores. Aquí entran las herramientas y frameworks de automatización, que orquestan muchas fuentes en flujos de trabajo reproducibles.

Estas herramientas no sustituyen el criterio del analista; lo amplifican. Automatizan la recolección y la correlación, pero la interpretación, la verificación y las decisiones siguen siendo humanas. Un error común de los principiantes es confiar ciegamente en el output de una herramienta sin validarlo. La automatización es un punto de partida potente, no una conclusión.

Conviene también una advertencia sobre el alcance: muchas de estas herramientas pueden generar tráfico activo hacia el objetivo (consultas DNS, resolución de subdominios). En modo pasivo trabajan solo con fuentes de terceros, pero en modo activo tocan la infraestructura del objetivo, lo que debe hacerse exclusivamente dentro de un engagement autorizado.

theHarvester, Amass y Herramientas de Línea de Comandos

theHarvester es una herramienta clásica y ligera, enfocada en recopilar correos, subdominios, hosts y nombres de empleados a partir de fuentes públicas. Es ideal para una fase de reconocimiento inicial rápida:

# Reconocimiento pasivo amplio de una organización
theHarvester -d ejemplo.com -b bing,crtsh,duckduckgo,otx

# Volcar el resultado a fichero para su posterior análisis
theHarvester -d ejemplo.com -b all -f resultado_ejemplo

Amass es el estándar para el mapeo de subdominios y superficie de ataque, con modos pasivo y activo bien diferenciados:

# Enumeración PASIVA (solo fuentes de terceros, no toca al objetivo)
amass enum -passive -d ejemplo.com

# Enumeración ACTIVA con resolución (genera tráfico: solo con autorización)
amass enum -active -d ejemplo.com -brute

Su simplicidad y velocidad hacen de estas herramientas un punto de partida habitual. La diferencia entre -passive y -active no es cosmética: la primera es silenciosa y de bajo riesgo; la segunda deja rastro y solo procede dentro del alcance permitido.

SpiderFoot y recon-ng

SpiderFoot lleva la automatización mucho más lejos. Es un framework con más de un centenar de módulos que se integran con decenas de fuentes (DNS pasivo, Shodan, Have I Been Pwned, registros de certificados y muchas más). Se ejecuta como una aplicación web o por CLI, lanza un escaneo sobre un objetivo y correlaciona automáticamente los hallazgos:

# Escaneo por CLI limitado a módulos pasivos (no toca al objetivo)
sf.py -s ejemplo.com -t DOMAIN_NAME -m sfp_dnsresolve,sfp_crt,sfp_hunter

Permite configurar el modo pasivo para no tocar al objetivo, y es una de las herramientas más completas para automatizar una investigación de extremo a extremo.

recon-ng adopta una filosofía distinta: ofrece una interfaz de consola modular inspirada en Metasploit, con módulos para cada tipo de tarea y una base de datos integrada que almacena los resultados:

# Flujo típico dentro de la consola de recon-ng
[recon-ng][default] > marketplace install all
[recon-ng][default] > modules load recon/domains-hosts/hackertarget
[recon-ng][default] > options set SOURCE ejemplo.com
[recon-ng][default] > run

Su diseño facilita encadenar módulos y construir flujos reproducibles, ideal para quienes prefieren el control granular. Junto a estas, herramientas especializadas como Amass (subdominios), Sherlock (usernames) o Photon (rastreo web) completan el arsenal del investigador. Y Maltego sigue siendo la referencia para la visualización: su modelo de "entidades" y "transforms" representa las relaciones como un grafo interactivo, revelando patrones — un correo que vincula tres dominios, una persona que conecta dos organizaciones — que en una lista plana pasarían desapercibidos.

Construyendo un Flujo de Trabajo

Ninguna herramienta lo hace todo, así que el verdadero arte está en combinarlas en un flujo coherente. Un patrón habitual:

1. Reconocimiento amplio y pasivo   → theHarvester / SpiderFoot (modo pasivo)
2. Profundizar por área             → Amass (subdominios), crt.sh (certificados),
                                       Sherlock (usernames), ExifTool (metadatos)
3. Correlacionar y visualizar       → Maltego / grafo de entidades
4. Verificar y documentar           → corroboración manual + base de conocimiento

Se empieza amplio para tener un panorama, se profundiza con herramientas especializadas en áreas concretas y se culmina visualizando y verificando. Cada salto de una fase a otra debe registrar qué se consultó, cuándo y con qué resultado.

Gestión de Claves de API y OPSEC

La gestión de claves de API es un detalle práctico importante. Muchas fuentes (Shodan, Censys, Hunter.io, VirusTotal) ofrecen acceso programático mediante API, a menudo con cuotas gratuitas limitadas. Configurar estas claves multiplica el alcance de las herramientas, pero exige cuidar su seguridad:

# Cargar claves desde variables de entorno, NUNCA escritas en el código
export SHODAN_API_KEY="..."
export HUNTER_API_KEY="..."

# Verifica que tus ficheros de config no acaben en un repositorio
echo ".env" >> .gitignore
echo "api_keys.yaml" >> .gitignore

Las claves nunca deben subirse a repositorios públicos ni compartirse: una clave filtrada no solo consume tu cuota, sino que te identifica. En cuanto a OPSEC operativa: ejecuta las herramientas desde una máquina o entorno dedicado a la investigación, controla la atribución de red al usar módulos activos y separa las cuentas de API de tu identidad personal. Estos principios se desarrollan en la Lección 8.

Documentación y Reproducibilidad

Por encima de la elección de herramientas está la documentación. Todo flujo automatizado debe registrar qué se consultó, cuándo y con qué resultado, para garantizar la trazabilidad y la reproducibilidad. Una buena práctica es estandarizar el formato de salida (JSON, por ejemplo) y centralizar los hallazgos en una única base de conocimiento, de modo que el análisis posterior se apoye en datos limpios, fechados y atribuidos a su fuente.

Checklist de Automatización

  • [ ] Alcance y autorización confirmados; modo pasivo por defecto.
  • [ ] Reconocimiento amplio antes de profundizar con herramientas especializadas.
  • [ ] Modo activo (Amass -active, resolución, brute force) solo dentro del engagement.
  • [ ] Claves de API en variables de entorno; nunca en el repositorio.
  • [ ] Output de las herramientas verificado, no aceptado ciegamente.
  • [ ] Hallazgos centralizados con fuente, fecha y confianza para su reproducibilidad.