À propos du projet

theHarvester est un outil de renseignement open source basé sur Python, destiné à la phase de reconnaissance précoce des évaluations de sécurité autorisées. Il interroge des fournisseurs publics et des sources de données, puis normalise les résultats tels que les sous-domaines et autres noms d'hôtes, les adresses e-mail, les adresses IP, les URL, les ASN, les personnes et les noms de fuites dans un modèle de preuves partagé. L'interface en ligne de commande principale prend en charge l'énumération unique et les flux de travail shell. Les utilisateurs peuvent sélectionner des fournisseurs individuels ou utiliser des sélecteurs de capacités tels que subdomains, emails, ips, asns, urls, people et breaches. La concurrence des sources, les limites de résultats, l'exclusion de noms d'hôtes, la résolution DNS, les proxys et le nommage des sorties sont configurables. Le dépôt répertorie 60 sources de découverte, notamment des services de transparence des certificats, des moteurs de recherche, des dépôts de code, des fournisseurs DNS passifs, des archives d'URL et des plateformes de renseignement de sécurité. Certaines sources nécessitent des clés API, tandis que plusieurs sources passives peuvent être utilisées sans identifiants. L'activité est divisée en trois classes de portée. Les sources P0 interrogent des fournisseurs ou des ensembles de données existants sans envoyer de trafic directement à la cible. P1 couvre l'activité liée au DNS telle que la résolution, la force brute, la recherche inversée et le DNS récursif. P2 couvre l'interaction directe, y compris les requêtes HTTP ou TLS, les captures d'écran, les vérifications de prise de contrôle, les vérifications d'hôtes virtuels, l'activité liée aux ports et l'analyse des chemins d'API. Les actions P1 et P2 ne s'exécutent que lorsqu'elles sont explicitement sélectionnées, et la documentation souligne qu'il faut tester uniquement les domaines ou points de terminaison que l'opérateur possède ou qu'il est explicitement autorisé à évaluer. Les résultats peuvent être exportés au format JSONL, avec des rapports de compatibilité JSON et XML également générés. Les exécutions terminées sont conservées dans un magasin de preuves SQLite local. La sortie JSONL comprend un résumé d'exécution suivi de résultats dédupliqués avec la provenance de la source et de l'action ; les types de résultats sélectionnés peuvent inclure des détails structurés pour les preuves DNS, les hôtes Shodan, les indicateurs de prise de contrôle, les observations et d'autres enregistrements enrichis. HarvestView fournit une interface de navigateur locale et une API pour démarrer des exécutions, examiner l'historique et les artefacts, inspecter les résultats des sources, comparer les changements de noms d'hôtes et gérer les planifications. Il s'exécute sur loopback par défaut, utilise une clé API et un cookie de session HttpOnly dérivé, et exécute les exécutions finies planifiées en série avec un worker local. Une commande de création de rapports distincte peut comparer les exécutions finalisées et classer les noms d'hôtes comme nouvellement signalés, toujours signalés, non signalés ou incertains en fonction des résultats des sources terminées. L'API REST expose la création et l'annulation d'exécutions, la liste des sources, l'import et l'export de preuves, l'historique des exécutions, la gestion des planifications et l'historique de répartition via des points de terminaison authentifiés. Le déploiement Docker Compose est documenté, le service s'exécutant en tant qu'utilisateur non privilégié, se liant à localhost, stockant les exécutions dans un volume nommé et lisant la clé de l'opérateur à partir d'un secret de fichier. Les fichiers de configuration sous le répertoire de configuration de l'utilisateur gèrent les clés API des fournisseurs, les proxys et les services authentifiés facultatifs.