Recherchez tous les comptes correspondants à un pseudo avec Sherlock
I. Présentation
Si je vous dis "Sherlock", vous allez me répondre "Holmes". Et bien, on pourrait dire que l'outil "Sherlock" aurait pu servir au célèbre détective privé Sherlock Holmes si ses histoires avaient eu lieu à l'époque d'Internet et des réseaux sociaux.
Sherlock est un outil développé en Python qui va analyser de nombreux sites Internet à la recherche d'un pseudonyme spécifique. Autrement dit, vous précisez un pseudonyme et il va trouver tous les comptes correspondants à ce pseudo sur un ensemble de sites (323 sites à l'heure actuelle) : GitHub, Spotify, Twitter, Pinterest, Gravatar, Facebook, Reddit, Mastodon, WordPress.org, JeuxVideo.com, Bitwarden Forum, Flickr, Nextcloud Forum, TikTok, VirusTotal, Wikipédia, Steam, etc.
C'est un outil à classer directement dans la catégorie "OSINT" (Open Source Intelligence) puisqu'il s'appuie uniquement sur des informations accessibles publiquement.
Pourquoi utiliser Sherlock ou un outil similaire ? Je vois deux raisons pour lesquelles on peut souhaiter utiliser cet outil :
- Surveiller l'utilisation d'une marque, de son nom, de son pseudo
En recherchant le nom de votre site Web, de votre marque, votre pseudo ou encore votre nom, vous pouvez identifier les faux comptes éventuels qui utilisent vos informations. On parlera alors de cybersquattage. Même si vous n'êtes peut-être pas le seul à utiliser votre pseudonyme et qu'il y a peut-être d'autres personnes qui ont le même nom et le même prénom que vous, cette recherche automatisée avec Sherlock est intéressante.
- Préparer une attaque informatique ciblée
Afin de préparer une cyberattaque, un attaquant peut avoir besoin de Sherlock dans sa trousse d'outils notamment pour se renseigner sur sa cible. Cela peut également donner des indications sur les solutions utilisées au sein de l'entreprise de la cible : si l'on sait que l'utilisateur avec le pseudo "hello123" est l'administrateur système de l'entreprise XYZ et que l'on voit qu'il a un compte sur le forum de NextCloud, cela peut vouloir dire qu'il utilise NextCloud dans son entreprise (ou sur son NAS à la maison). Une information qui peut avoir de l'importance.
Avec Sherlock, on se rend compte assez rapidement que pour rester furtif sur Internet et essayer de respecter au maximum sa vie privée, il vaut mieux diversifier les pseudos utilisés sur les différents sites. Sinon, on peut réussir à collecter des informations au sujet d'un individu à partir de différentes sources.
Le projet Sherlock est sous licence MIT et il est disponible sur GitHub à cette adresse : GitHub - Sherlock
Note : pour la suite de ce tutoriel, je vais utiliser Kali Linux 2021.4 mais vous pouvez utiliser une autre distribution.
II. Installation de Sherlock
Afin d'utiliser Sherlock sur notre machine, nous allons cloner le projet avec Git. Si besoin, vous pouvez installer Git avec la commande suivante :
sudo apt-get update
sudo apt-get install -y git
Une fois que c'est fait, je vous invite à cloner Sherlock :
git clone https://github.com/sherlock-project/sherlock.git
Vous allez obtenir un répertoire nommé "sherlock" au sein de votre dossier actuel. Nous allons nous déplacer dans ce dossier :
cd sherlock/
À l'aide de Python et du gestionnaire de paquets Pip, nous allons installer Sherlock (et ses prérequis). Avant cela, vous devez installer Python 3 et Pip sur votre machine, si ce n'est pas déjà fait. Voici les commandes à exécuter :
sudo apt-get install -y python3 pip
Une fois que c'est fait, on va déclencher l'installation avec cette commande :
python3 -m pip install -r requirements.txt
Voilà, nous pouvons passer à l'utilisation de Sherlock.
III. Utilisation de Sherlock
Commençons par afficher l'aide de Sherlock. Pour cela, il suffit d'exécuter la commande suivante :
python3 sherlock --help
Pour utiliser Sherlock de façon simple, il n'y a pas trop à chercher puisqu'il suffit de préciser le pseudo à rechercher. Par exemple, si l'on imagine que l'on souhaite rechercher le pseudo "florian", on exécute :
python3 sherlock florian
Le script va travailler pour nous et l'analyse va durer plusieurs minutes. Soyez patient si vous désirez un résultat complet. Voici un exemple pour le pseudo "florian" qui est bien trop générique pour être précis mais c'est un exemple (ce n'est pas mon pseudo, je tiens à le préciser, ahah).
Note : l'option --tor vous permet d'effectuer la recherche en utilisant le réseau Tor mais cela nécessite que Tor soit installé sur votre machine.
Au final, on obtient une liste des sites pour lesquels Sherlock a trouvé une correspondance et à chaque fois il y a le lien vers le profil.
Si vous souhaitez rechercher plusieurs pseudos, vous pouvez les ajouter les uns à la suite des autres, par exemple :
python3 sherlock florian1 florian2
Sachez qu'en plus de la sortie dans la console, un fichier TXT par pseudo sera créé dans le dossier de "Sherlock", ce qui vous permet de consulter les résultats ultérieurement.
Pour finir, nous allons voir quelques options de l'outil Sherlock. Pour réaliser un export CSV plutôt qu'au format TXT, il faut ajouter cette option :
python3 sherlock florian --csv
Vous allez obtenir un fichier CSV avec le format suivant :
username,name,url_main,url_user,exists,http_status,response_time_s florian,WordPress,https://wordpress.com,https://florian.wordpress.com/,Claimed,200,0.363991595000698
Si vous souhaitez afficher toute la liste des sites sur lesquels Sherlock a effectué la recherche, y compris les sites où il n'a rien trouvé, vous devez ajouter l'option suivante :
python3 sherlock florian --print-all
Enfin, pour effectuer une recherche uniquement sur un site, vous pouvez utiliser l'option "--site" de cette façon :
python3 sherlock florian --site WordPress
Le résultat retourné correspondra uniquement à ce site, de quoi faire une requête ciblée rapidement. La liste des sites est accessible dans le fichier "sites.md" situé dans le répertoire de Sherlock.
Alors, dites-moi tout, qui va effectuer une recherche sur son pseudo ou son nom ?
trop classe, j’ai découvert que j’avais plein d’homonyme de pseudo
Pas trop déçu ? lol
Excellent.
Je vais tester ça dès que possible.
Bluffant