
InfoHound est un outil OSINT pour extraire une grande quantité de données à partir d'un nom de domaine web.
Pendant la phase de reconnaissance, un attaquant recherche toute information sur sa cible afin de créer un profil qui l'aidera plus tard à identifier les moyens possibles de pénétrer dans une organisation. InfoHound effectue des techniques d'analyse passive (qui n'interagissent pas directement avec la cible) en utilisant l'OSINT pour extraire une grande quantité de données à partir d'un nom de domaine web. Cet outil récupérera des e-mails, des personnes, des fichiers, des sous-domaines, des noms d'utilisateur et des URL qui seront ensuite analysés pour extraire des informations encore plus précieuses.
De plus, InfoHound exploite une instance Ollama, lui permettant de tirer parti de la puissance des LLM (Large Language Models). Par défaut, InfoHound utilise llama2, un modèle LLM pré-entraîné, pour générer de brèves descriptions des rôles des individus au sein d'une organisation. Cette fonctionnalité fournit des informations précieuses sur la structure organisationnelle et facilite l'identification des personnes clés. De plus, des efforts de développement continus visent à introduire des fonctionnalités et améliorations supplémentaires pour enrichir davantage les capacités de l'outil à l'avenir.
REMARQUE : InfoHound ne nécessite aucun matériel spécial pour fonctionner. Cependant, il est important de prendre en compte les exigences matérielles lors de l'utilisation de tâches qui utilisent le modèle de langage large (LLM). Pour des informations détaillées sur les exigences spécifiques du modèle LLM que vous souhaitez utiliser, veuillez vous référer à la documentation officielle d'Ollama.

git clone https://github.com/Fundacio-i2CAT/InfoHound.git
cd InfoHound/infohound
mv infohound_config.sample.py infohound_config.py
cd ..
docker-compose up -d
Vous pouvez maintenant accéder à InfoHound en naviguant avec votre navigateur vers :
http://localhost:8000/
REMARQUE : Vous devez ajouter les clés API dans le fichier infohound_config.py
InfoHound dispose de 2 types de modules différents : ceux qui récupèrent des données et ceux qui les analysent pour extraire des informations plus pertinentes.
InfoHound vous permet de créer des modules personnalisés, il vous suffit d'ajouter votre script dans infohoudn/tool/custom_modules. Un module personnalisé a été ajouté à titre d'exemple qui utilise l'outil Holehe pour vérifier si les e-mails précédemment sont attachés à un compte sur des sites comme Twitter, Instagram, Imgur et plus de 120 autres.
# Import the packages you need
import trio
import httpx
import requests
from holehe import core
# Import the Django models you will work with
from infohound.models import Emails
MODULE_ID = "findRegisteredSitesHoleheCustomTask" # Set a module ID
MODULE_NAME = "Find sites with Holehe" # Set a module name
MODULE_DESCRIPTION = "Using Holehe tool, this task will find where an email has been used to create an account. Holehe checks more than 120 sites." # Set a description
MODULE_TYPE = "Analysis" # Set the type: Analysis or Retrieve
# This function is the only function it will be called by InfoHound
# Change its content and create other the functions if needed
def custom_task(domain_id):
trio.run(findRegisteredSitesHolehe, domain_id)
async def findRegisteredSitesHolehe(domain_id):
queryset = Emails.objects.filter(domain_id=domain_id)
for entry in queryset.iterator():
out = []
email = entry.email
modules = core.import_submodules("holehe.modules")
websites = core.get_functions(modules)
client = httpx.AsyncClient()
for website in websites:
await core.launch_module(website, email, client, out)
print(out)
await client.aclose()
services = []
for item in out:
if item["exists"]:
services.append(item["name"])
entry.registered_services = services
entry.save()

Souhaitez-vous créer un graphe de visualisation avec les résultats ? Vous pouvez exporter l'ensemble de l'analyse du domaine vers un fichier GraphML et l'ouvrir avec yED, Gephi ou tout autre outil de votre choix. Il exporte actuellement les fichiers, les personnes, les e-mails, les profils sociaux, les sites enregistrés et les noms d'utilisateur. Les URL et les sous-domaines ne sont pas inclus en raison du nombre de résultats.

Souhaitez-vous poursuivre avec des outils comme Maltego pour vos investigations approfondies ? Vous pouvez exporter l'ensemble de l'analyse du domaine (y compris les fichiers, les individus, les e-mails, les profils sociaux, les sites enregistrés et les noms d'utilisateur) vers un fichier compatible Maltego (CSV) et l'ouvrir là-bas. Vous trouverez le fichier de configuration de mappage de colonnes Maltego (maltego_mapping.mtz) dans le répertoire racine du projet. En savoir plus sur l'importation dans Maltego
Ce code a été développé par la Fundació Privada Internet i Innovació Digital a Catalunya (i2CAT).
i2CAT est un centre de recherche et d'innovation à but non lucratif qui promeut une connaissance axée sur la mission pour résoudre les défis commerciaux, co-créer des solutions à impact transformateur, autonomiser les citoyens grâce à une innovation sociale numérique ouverte et participative avec une capillarité territoriale, et promouvoir des initiatives pionnières et stratégiques.
i2CAT vise à transférer les résultats de projets de recherche aux entreprises privées afin de créer un impact social et économique via la concession de licences de propriété intellectuelle et la création de spin-offs.
Trouvez plus d'informations sur les projets et les droits de propriété intellectuelle d'i2CAT à https://i2cat.net/tech-transfer/
Ce code est sous licence AGPLv3. Des informations sur la licence sont disponibles à lien.
Si vous estimez que cette licence ne correspond pas à vos besoins concernant l'utilisation, la distribution ou la redistribution de notre code pour votre travail spécifique, n'hésitez pas à contacter les responsables de la propriété intellectuelle chez i2CAT à l'adresse suivante : [email protected]
| Nom | Description |
|---|
| Obtenir les informations Whois | Obtenir des informations pertinentes à partir du registre Whois. |
| Obtenir les enregistrements DNS | Cette tâche interroge le DNS. |
| Obtenir les sous-domaines | Cette tâche utilise l'API Alienvault OTX, CRT.sh et HackerTarget comme sources de données pour découvrir les sous-domaines mis en cache. |
| Obtenir les sous-domaines à partir des URL | Une fois certaines tâches effectuées, la table des URL contiendra de nombreuses entrées. Cette tâche vérifiera toutes les URL pour trouver de nouveaux sous-domaines. |
| Obtenir les URL | Il recherche toutes les URL mises en cache par Wayback Machine et les enregistre dans la base de données. Cela aidera ensuite à découvrir d'autres entités de données comme les fichiers ou les sous-domaines. |
| Obtenir les fichiers à partir des URL | Il parcourt la table de la base de données des URL pour trouver des fichiers et les stocker dans la table de base de données des fichiers pour une analyse ultérieure. Les fichiers qui seront récupérés sont : doc, docx, ppt, pptx, pps, ppsx, xls, xlsx, odt, ods, odg, odp, sxw, sxc, sxi, pdf, wpd, svg, indd, rdp, ica, zip, rar |
| Trouver des e-mails | Il recherche des e-mails à l'aide de requêtes vers Google, Bing et les bases de données de fuites. |
| Trouver des personnes à partir des e-mails | Une fois que certains e-mails ont été trouvés, il peut être utile de découvrir la personne derrière eux. Il trouve également les noms d'utilisateur de ces personnes. |
| Trouver des e-mails à partir des URL | Parfois, les URL découvertes peuvent contenir des informations sensibles. Cette tâche récupère tous les e-mails à partir des chemins d'URL. |
| Exécuter des dorks | Il exécutera les dorks définis dans le dossier dorks. N'oubliez pas de regrouper les dorks par catégories (nom de fichier) pour comprendre leurs objectifs. |
| Trouver des e-mails à partir des dorks | Par défaut, InfoHound a quelques dorks définis pour découvrir des e-mails. Cette tâche les recherchera dans les résultats obtenus à partir de l'exécution des dorks. |
| Trouver des personnes via Google | Utilise l'API JSON de Google pour trouver des personnes qui travaillent dans l'entreprise associée au domaine |
| Nom | Description |
|---|
| Vérifier la prise de contrôle de sous-domaines | Effectue quelques vérifications pour déterminer si un sous-domaine peut être pris en contrôle. |
| Vérifier si le domaine peut être usurpé | Vérifie si un domaine, parmi les e-mails qu'InfoHound a découverts, peut être usurpé. Cela pourrait être utilisé par des attaquants pour usurper l'identité d'une personne et envoyer des e-mails en son nom. |
| Obtenir les profils à partir des noms d'utilisateur | Cette tâche utilise les noms d'utilisateur découverts pour chaque personne afin de trouver des profils sur des services ou réseaux sociaux où ce nom d'utilisateur existe. Cela est effectué à l'aide de l'outil Maigret. Il convient de noter que même si un profil avec le même nom d'utilisateur est trouvé, cela ne signifie pas nécessairement qu'il appartient à la personne analysée. |
| Télécharger tous les fichiers | Une fois que les fichiers ont été stockés dans la table de base de données des fichiers, cette tâche les téléchargera dans le dossier "download_files". |
| Obtenir les métadonnées | À l'aide d'exiftool, cette tâche extraira toutes les métadonnées des fichiers téléchargés et les enregistrera dans la base de données. |
| Obtenir les e-mails à partir des métadonnées | Comme certaines métadonnées peuvent contenir des e-mails, cette tâche les récupérera tous et les enregistrera dans la base de données. |
| Obtenir les e-mails à partir du contenu des fichiers | En général, les e-mails peuvent être inclus dans les fichiers d'entreprise, donc cette tâche récupérera tous les e-mails à partir du contenu des fichiers téléchargés. |
| Trouver les services enregistrés à l'aide des e-mails | Il est possible de trouver des services ou réseaux sociaux où un e-mail a été utilisé pour créer un compte. Cette tâche vérifiera si un e-mail qu'InfoHound a découvert possède un compte sur Twitter, Adobe, Facebook, Imgur, Mewe, Parler, Rumble, Snapchat, Wordpress et/ou Duolingo. |
| Vérifier les fuites | Cette tâche vérifie le service Firefox Monitor pour voir si un e-mail a été trouvé dans une fuite de données. Bien qu'il s'agisse d'un service gratuit, il a une limite de 10 requêtes par jour. Si une clé API Leak-Lookup est définie, il la vérifie également. |
| Analyse de profil assistée par IA | Vous pouvez utiliser la tâche d'analyse de profil pour employer un outil basé sur l'IA qui examine les métadonnées et crée une description pour vous. |
| Obtenir les mots de passe divulgués | En utilisant le service gratuit de Proxy Nova, InfoHound peut détecter et afficher les mots de passe des noms d'utilisateur trouvés qui ont été divulgués dans le passé. |