Sobre el proyecto

theHarvester es una herramienta de inteligencia de código abierto basada en Python, diseñada para la fase inicial de reconocimiento en evaluaciones de seguridad autorizadas. Consulta proveedores y fuentes de datos públicas, y luego normaliza hallazgos como subdominios y otros nombres de host, direcciones de correo electrónico, direcciones IP, URLs, ASNs, personas y nombres de brechas en un modelo de evidencia compartido. La interfaz de línea de comandos principal admite enumeraciones puntuales y flujos de trabajo de shell. Los usuarios pueden seleccionar proveedores individuales o usar selectores de capacidades como subdominios, correos, IPs, ASNs, URLs, personas y brechas. La concurrencia de fuentes, los límites de resultados, la exclusión de nombres de host, la resolución DNS, los proxies y los nombres de salida son configurables. El repositorio enumera 60 fuentes de descubrimiento, incluidos servicios de transparencia de certificados, motores de búsqueda, repositorios de código, proveedores DNS pasivos, archivos de URLs y plataformas de inteligencia de seguridad. Algunas fuentes requieren claves API, mientras que varias fuentes pasivas pueden usarse sin credenciales. La actividad se divide en tres clases de alcance. Las fuentes P0 consultan proveedores o conjuntos de datos existentes sin enviar tráfico directamente al objetivo. P1 cubre actividades relacionadas con DNS como resolución, fuerza bruta, búsqueda inversa y DNS recursivo. P2 cubre interacción directa, incluyendo solicitudes HTTP o TLS, capturas de pantalla, comprobaciones de toma de control, verificaciones de host virtual, actividad relacionada con puertos y escaneo de rutas API. Las acciones P1 y P2 se ejecutan solo cuando se seleccionan explícitamente, y la documentación enfatiza probar únicamente dominios o endpoints que el operador posee o tiene permiso explícito para evaluar. Los resultados pueden exportarse como JSONL, con informes de compatibilidad JSON y XML también generados. Las ejecuciones completadas se conservan en un almacén de evidencia SQLite local. La salida JSONL incluye un resumen de ejecución seguido de hallazgos deduplicados con procedencia de fuente y acción; los tipos de resultados seleccionados pueden incluir detalles estructurados para evidencia DNS, hosts de Shodan, indicadores de toma de control, observaciones y otros registros enriquecidos. HarvestView proporciona una interfaz de navegador local y API para iniciar ejecuciones, revisar historial y artefactos, inspeccionar resultados de fuentes, comparar cambios de nombres de host y gestionar horarios. Se ejecuta en loopback por defecto, usa una clave API y una cookie de sesión HttpOnly derivada, y ejecuta ejecuciones finitas programadas en serie con un trabajador local. Un comando de informe separado puede comparar ejecuciones finalizadas y clasificar nombres de host como recién reportados, aún reportados, ya no reportados o inciertos según los resultados de fuentes completadas. La API REST expone creación y cancelación de ejecuciones, listado de fuentes, importación y exportación de evidencia, historial de ejecuciones, gestión de horarios e historial de despacho a través de endpoints autenticados. Se documenta el despliegue con Docker Compose, con el servicio ejecutándose como usuario sin privilegios, vinculado a localhost, almacenando ejecuciones en un volumen con nombre y leyendo la clave del operador desde un secreto de archivo. Los archivos de configuración en el directorio de configuración del usuario gestionan claves API de proveedores, proxies y servicios autenticados opcionales.