Quelques outils gratuits pour de l’OSINT

Pour pratiquer l’OSINT, l’Open Source INTelligence, qui consiste à profiler une personne en retrouvant des données publiquement disséminées un peu partout par une personne, souvent sans en avoir conscience, de nombreux outils existent. Certains sont très chers, d’autres sont accessibles uniquement par abonnement, mais dans la plupart des cas, si vous faîtes ça « just for fun » ou ponctuellement, le rapport coût/utlité sera assez faible. Nous allons voir ici quelques outils gratuits et accessibles à tous.

Cyber-détective qui se croit dans Ready Player One mais son ASUS ROG est quand-même cool

Petite précision avant de se lancer. Parfois l’OSINT et la phase de reconnaissance d’un pentest se ressemblent beaucoup et ont des outils similaires. C’est bien sur le premier que nous allons nous concentrer, pour obtenir des informations sur une personne ou une entreprise. La recon d’un pentest a d’autres objetifs en utilisant généralement d’autres types de données.

Google Dorks

Le point de départ de tout tuto sur l’OSINT ou toute investigation est une recherche Google. L’idée ici n’est pas de juste taper des noms ou mots-clés, mais de filtrer les résultats en utilisateurs des opérateurs de recherche, dont vous pourrez trouver des listes plus complètes que celle fournie par Google.

L’idée est d’épurer les résultats en fonction de vos besoins, si vous recherchez un type de fichier précis (ex: filetype:pdf), un mot contenu dans le titre (ex: intitle:Linux) ou dans l’URL (inurl:admin.php), etc… Vous voyez l’idée, ces filtres peuvent être détournées pour d’autres usages.

C’est justement à ces autres usages qu’est destinée la longue liste de dorks dans Googke Hacking Database. Nous allons ici ignorer tout ce qui destiné au pentesting et nous concentrer sur ce qui pourrait être utile dans le cas d’une investigation sur une personne ou une entreprise, voire même un gouvernement.

Un exemple pour rechercher des spreadsheets sur des sites gouvernemantaux: site:gov.* intitle:"index of" *.csv

Exemple de Google Dork pour trouver des fichiers CSV sur des sites gouvernementaux
Exemple de fichier potentiellement privés ou confidentiels publiquement accessibles

On peut voir des données probablement sensibles sur des donneurs de sang, des maires et leurs bureaux, ou même des choses comme des photos d’un admin ou des fichiers .sql .

Une autre recherche pour cibler des fichiers .log, ou .txt, ou .csv dans le dossier /var/log d’un serveur : intitle:"index of" /var/logs filetype:'"log | txt | csv"

Autre exemple de Google Dork pour trouver des fichiers de logs aux formats log, txt ou csv
Exemple de fichiers de logs facilement trouvés

On peut voir de nombreux logs de prod et un de dev, accessibles en 1 clic. Regardons un des fichiers prod.all de cette liste:

Un des fichiers de logs fournit des informations techniques qui seraient utiles pour initier ou améliorer une attaque malicieuse

Dans ce type de fichier, de nombreuses informations pourraient utiles pour un attaquant, des chemins sur le serveur, informations concernant les frameworks et CMS, éventuellement d’autres informations plus confidentielles.

Un dernier pour la route, qui malheureusement est encore courant et met à disposition des informations personnelles de nombreux utilisateurs et clients; intitle:"index of" users.csv | credentials.csv | accounts.csv

Exemple de Google Dorks pour trouver des identifiants de connexion dans des fichiesr CSV
Ce dossier d'un site WordPress montre en fin de liste une liste d'utilisateurs au format csv

En bas de liste on peut voir ici un fichier .csv .

Voici un aperçu de la liste d'utilisateurs dans le fichier CSV trouvé sur le site WordPress

Ce fichier contient de nombreuses informations confidentielles comme nom, prénom, adresse email, ainsi que hash du mot de passe dont certains seraient probablement déchiffrables avec des rainbow tables.

Outils en ligne de commande

Les outils en ligne de commande sont nombreux, gratuits pour la plupat, pas tous maintenus sur le long terme, nous allons donc nous concentrer seulement sur quelques uns qui méritent vraiment le détour.

Avant de commencer, si ce n’est pas déjà fait, vous pouvez installer pipx et rubygems dont nous allons avoir besoin plus tard pour installer certains outils:

sudo apt update && sudo apt install -y pipx rubygems

(apt, ou dnf, ou zypper, selon votre distrib Linux)

Sherlock

Il s’agit d’un de mes outils préférés, toutes catégories confondues. Sherlock vous permet, à partir d’un pseudo, de retrouver la liste des sites où il apparait. Il faut bien entendu garder en tête qu’il vous faudra vérifier si tous les résultats concernent la même personne ou si plusieurs personnes ont le même pseudo.

Pour installer Sherlock (Disponible par défaut sous Kali Linux): pipx install sherlock-project

Voici un exemple de résultat:

Aperçu de Sherlock qui montre des URL de réseaux sociaux pour un utilisateur recherché

https://github.com/sherlock-project/sherlock

Social-Analyzer

Social-Analyzer, comme ne le laisse pas supposer son nom, analyse les réseaux sociaux. L’usage est assez similaire à Sherlock, les cibles sont juste dans un domaine plus spécifique.

Vous pourrez l’installer en tapant la commande suivante:

pipx install social-analyzer

Et ensuite vous pourrez rechercher le pseudo de votre choix.

social-analyzer --username <username>
Aperçu de Social-Analyzer qui montre des URL de réseaux sociaux pour un utilisateur recherché

https://github.com/qeeqbox/social-analyzer

Maigret

Dans le même style, vous pouvez aussi essayer Maigret qui cible les réseaux sociaux.

git clone https://github.com/soxoj/maigret && cd maigret
pipx install .
maigret <username>
Aperçu de Maigret qui montre des URL de réseaux sociaux pour un utilisateur recherché

https://github.com/soxoj/maigret

theHarvester

Bien qu’il soit principalement utilisé pour collecter des adresses électroniques et des sous-domaines, theHarvester peut également être efficace pour trouver des informations personnelles liées à des adresses électroniques ou à des noms dans des sources publiques.

Installation

Pour installer theHarvester (disponible par défaut sous Kali Linux), vous pouvez le cloner directement depuis Git en utilisant les commandes suivantes :

git clone https://github.com/laramies/theHarvester.git
cd theHarvester
sudo python ./theHarvester.py

Gardez à l’esprit que l’efficacité de theHarvester pour trouver des informations personnelles dépend de la quantité d’informations disponibles publiquement et liées au domaine cible.

theHarvester peut être utilisé pour trouver des noms d’employés et des adresses e-mail associées à un domaine spécifique. Cela est particulièrement utile pour identifier des individus au sein d’une organisation.

Pour de meilleurs résultats, il vous faudra d’abord ajouter les clés des API qui vous intéressent.

  • Pour rechercher des e-mails, vous pouvez utiliser la commande suivante : theHarvester.py -d <domaine> -b all

Vous pouvez aussi remplacer all par duckduckgo ou ctrsh ou d’autres sources que vous pouvez obtenir en tapant theHarvester -h

En-tête de theHarvester
Exemple de résultats trouvés par theHarvester

https://github.com/laramies/theHarvester

WPScan

Bien que ce ne soit pas littéralement un outil destiné à faire de l’OSINT, on peut tout de même résupérer des informations intéressantes aussi sur les personnes qui sont derrière un site WordPress, pas seulement sur le site lui-même.

Il s’installe très facilement:

gem install wpscan

Par défaut, WordPress ne masque pas les noms d’utilisateurs. Les auteurs sont généralement faciles à trouver puisque le nom apparaît quelque part dans les articles, mais les profils moins mis en avant sont aussi récupérables via dfférentes techniques par WPScan.

Comme pour theHarvester, pour de meilleurs résultats vous pouvez ajouter le token de l’API de WPScan. Mais dans le cas présent, pour de l’OSINT, ça n’améliorera directement pas nos résultats, les détails fournis concernent les vulnérabilités. En exploiter une pour ensuite obtenir plus d’informations personnelles relève quand-même du pentest, nous n’aborderons pas ce sujet ici.

Voici un exemple ci-dessous pour le site d’Usain Bolt. L’option –random-user-agent n’est pas obligatoire mais vous sera souvent utile pour contourner les pare-feux qui bloqueront votre scan. C’est une bonne pratique de l’ajouter systématiquement plutôt que d’attendre que votre scan échoue.

Exemple de détails techniques trouvés par WPScan sur un site WordPress
Liste d'utilisateurs trouvés par WPScan sur un site WordPress

On peut voir le nom des 2 utilisateurs qui maintiennent ce site web. À partir de là, WPScan permet de faire une attaque par brute-force pour tenter de retrouver le mot de passe

Pour peu qu’un des utilisateurs utilise un mot de passe un peu faible, qui se trouve dans rockyou.txt qu’on voit sur cet exemple ou une autre liste, il s’agira seulement d’une question de temps avant que le compte soit compromis (d’où l’importance d’avoir au moins un mot de passe fort, même un MFA si possible).

https://wpscan.com

PhoneInfoga

PhoneInfoga est un outil open source, écrit en Python et sous licence GPLv3, conçu pour collecter des informations sur les numéros de téléphone en utilisant des ressources gratuites. Il permet de rassembler des informations standard telles que le pays, la région, l’opérateur et le type de ligne. L’outil peut également rechercher des empreintes sur les moteurs de recherche pour trouver le fournisseur VoIP ou identifier le propriétaire du numéro.

Pour l’installation, il vous suffit de télécharger le fichier compressé qui correspond à votre système d’exploitation et de le décompresser: https://github.com/sundowndev/phoneinfoga/releases

Quant à l’utilisation, voici un exemple en ligne de commande sur mon ancien numéro de téléphone quand je vivais à Bucarest:

Résultats de recherche pour un numéro de téléphone analysé par PhoneInfoGa
Détails pour un numéro de téléphone analysé par PhoneInfoGa

Vous pouvez aussi utiliser une version graphique en tapant ./phoneinfoga serve -p 8000 (vous pouvez choisir un autre numéro de port si vous souhaitez).

Aperçu de la version navigateur de PhoneInfoGa

https://github.com/sundowndev/phoneinfoga


Vérifiez les coulisses des entreprises

Si de nombreux outils en ligne existent pour investiguer les entreprises, la plupart d’entre eux sont payants, à des prix souvent excessifs si on ne les utilise pas pour un usage professionel. Il existe toutefois une alternative gratuite sous licence Copyleft, OpenCorporates. Tapez un nom d’entreprise, lisez les résultats, c’est aussi simple que ça.

Aperçu de OpenCorporates

https://opencorporates.com

(Si vous obtenez une erreur 403, il vous faudra désactiver votre VPN ou proxy. Oui je sais, « smart people »…)

Maltego, The Big Boss

En OSINT, un des outils les plus réputés mais aussi les plus massifs est Maltego. La version Community permet déjà de faire pas mal de recherches, vous pouvez opter pour les versions Professional et Organization pour aller plus loin. Cet outil mériterait une série d’articles à lui seul tellement il est aussi complet que complexe, voici une vidéo qui vous permettra de faire vos premiers pas sur ce mastodon de l’investigation:

https://www.maltego.com

Collections d’outils

Nous n’avons fait que gratter la surface, vous pourrez déjà faire vos premiers pas avec ce qu’on a vu ici. Pour aller plus loin, je vous recommanderai 3 sources intéressantes qui vous permettront de trouver à peu près tout ce dont vous avez besoin:

FBI-Tools

Cette collection de Daniel Durnea vous fournit en vrac diverses collections, extensions, et autres cheat sheets que vous pourrez explorer et tester. De nombreuses heures de découvertes en perspective.

Le répertpore FBItools de Daniel Durnea hébergé sur Github

https://github.com/danieldurnea/FBI-tools

Bellingcat toolkit

Le célèbre groupe de journalistes d’investigation Bellingcat (Si ce n’est pas encore fait, regardez cet excellent documentaire ou fouillez sur leur chaîne Youtube) met à disposition un toolkit, qui lui aussi fournit de nombreuses sources, classées par catégories.

La boîte à outils de Bellingcat pour mener des investigations numériques

https://bellingcat.gitbook.io/toolkit

OSINT Framework

Enfin, l’outil probablement le plus dynamique et flexible qui existe à l’heure actuelle est l’OSINT Framework. Sélectionnez un thème, puis un sous-thème, puis un sous-sous-thème, jusqu’à ce que vous trouviez l’outil qui réponde à vos besoins.

Aperçu de l'OSINT Framework qui permet de vous guider vers l'outil dont vous avez besoin en fonction du contexte

https://osintframework.com/

Trouble Fake

Cette page est une longue liste de bookmarks que je maintiens depuis quelques années (Pour ceux qui se demandent, si jamais -> « Trouble Fake », jeu de mots avec un « Trouble Fait » qui veux débunker les fakes).

J’ai tenté tant bien que mal de l’organiser par catégorie sur une seule page, il arrive un moment où je vais devoir me résigner à séparer sur plusieurs onglets, en prenant le risque que certaines personnes ne voient pas qu’il y a plusieurs onglets.

Aperçu de TroubleFake sur start.me qui liste des outils utiles en OSINT

https://start.me/p/QRQb0O/trouble-fake

Les communautés OSINT

Deux potes qui matent la webcam de leur voisine incognito en pleine rue... mais il fait nuit donc ça va

Enfin, pour rencontrer d’autres personnes passionnées d’OSINT et apprendre d’eux ou partager vos connaissances, voici quelques communautés en ligne dédiées à l’OSINT.

Enjoy! Et bonne investigation!

Un mix entre Terminator et inspecteur Columbo prêt à trouver l'indice ultime

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.