Article de Tek sous licence CC-BY-SA traduit par l’association Eunomia.

Ce guide a été écrit pour des personnes avec un niveau déjà intermédiaire ou avancé en connaissances techniques. Si vous n’avez pas ces connaissances, vous pouvez toujours survoler l’article et l’utiliser comme une référence pour connaître les principaux outils intéressants, et voir ce que vous arriverez à en tirer. En particulier, ne sont pas abordées en profondeur les précautions nécessaires à l’investigation et à la protection de son identité et de son ordinateur sur Internet. Un bon début dans la matière est ce guide produit par Motherboard. Ne sont pas abordés non plus : l’usage d’utilitaires Linux/MacOS en ligne de commande (on pourra consulter le tutoriel d’OpenClassrooms sur le sujet), l’utilisation d’un VPS, d’un VPN, la programmation en Python…

J’ai fait beaucoup d’Intelligence Open-Source (OSINT) dernièrement, donc pour célébrer 2019, j’ai décidé de résumer beaucoup de trucs et astuces que j’ai appris dans ce guide. Bien sûr, ce n’est pas le guide parfait (aucun guide ne l’est), mais j’espère qu’il aidera les débutant-es à apprendre, et les hackers expérimenté-es d’OSINT à découvrir de nouveaux trucs.

Méthodologie

La méthodologie classique d’OSINT que vous trouverez partout est directe :

Cette méthodologie est assez intuitive et peut ne pas aider beaucoup de gens, mais je pense qu’il est quand même important d’y revenir régulièrement, et de prendre le temps de repasser en revue les différentes étapes. Très souvent, au cours des enquêtes, nous nous perdons dans la quantité de données recueillies, et il est difficile d’avoir une idée de la direction que doit prendre l’enquête. Dans ce cas, je pense qu’il est utile de faire une pause et de revenir aux étapes 3 et 4 : analyser et résumer ce que vous avez trouvé, énumérer ce qui pourrait vous aider à pivoter et définir de nouvelles questions  (ou des questions plus précises) qui nécessitent encore des réponses.

Les autres conseils que je donnerais sont :

Il y a deux autres méthodes que je trouve utiles. La première, ce sont des graphes pour décrire les méthodes de recherche d’informations en fonction d’un type de données (comme un e-mail). Le meilleur graphe que j’ai vu est celui fait par Michael Bazzell chez IntelTechniques.com. Par exemple, voici le graphe de Michael Bazzell lors de la recherche d’informations sur une adresse e-mail :

*Graphe d'OSINT e-mail par Michael
Bazzell*

Après un certain temps, je pense que c’est une bonne idée de commencer à développer vos propres graphes d’enquête et de les améliorer lentement au fil du temps avec les nouveaux trucs que vous trouvez.

La dernière méthodologie que je recommande pour les longues enquêtes est l’analyse des hypothèses concurrentes. Cette méthodologie a été développée par la CIA dans les années 70 pour aider les analystes à éliminer les biais de leur analyse et à évaluer soigneusement les différentes hypothèses. N’oubliez pas qu’il s’agit d’un outil lourd et chronophage, mais si vous vous perdez dans une enquête qui dure un an, il est parfois bon d’avoir un processus qui vous aide à évaluer soigneusement vos hypothèses.

Préparer votre système

Avant de vous lancer dans l’enquête, il y a quelques aspects de la sécurité opérationnelle que vous devriez prendre en considération afin d’éviter d’alerter les personnes sur lesquelles vous effectuez des recherches. Visiter un site Web personnel obscur pourrait donner votre adresse IP et donc votre emplacement à votre cible, l’utilisation de votre compte personnel de réseaux sociaux pourrait conduire à un clic sur un like par erreur, etc.

Je suis les règles suivantes pendant mes investigations :

Après avoir fait tout cela, vous pouvez maintenant enquêter aussi tard dans la nuit que vous le souhaitez, il est assez peu probable que les gens seront en mesure d’identifier qui est à leur recherche.

Outillage

La question de l’outil est toujours une question curieuse dans l’infosec, rien ne me dérange plus que les gens qui listent une liste interminable d’outils dans leur CV et non les compétences qu’ils ont. Permettez-moi donc de le dire clairement : les outils n’ont pas d’importance, c’est ce que vous faites avec les outils qui comptent. Si vous ne savez pas ce que vous faites, les outils ne vous aideront pas, ils vous donneront simplement une longue liste de données que vous ne pourrez pas comprendre ou évaluer. Testez les outils, lisez leur code, créez vos propres outils, etc, mais assurez-vous de bien comprendre ce qu’ils font.

Le corollaire, c’est qu’il n’y a pas de boîte à outils parfaite. La meilleure boîte à outils est celle que vous connaissez, aimez et maîtrisez. Mais laissez-moi vous dire ce que j’utilise et quels autres outils peuvent vous intéresser.

Chrome et les modules

J’utilise Chrome comme navigateur d’investigation, principalement parce que Hunchly n’est disponible que pour Chrome (voir ci-dessous). J’y ajoute quelques plugins utiles :

Hunchly

J’ai récemment commencé à utiliser Hunchly et c’est un excellent outil. Hunchly est une extension Chrome qui permet de sauvegarder, étiqueter et rechercher toutes les données web que vous trouvez pendant l’enquête. Fondamentalement, il vous suffit de cliquer sur « Capture » dans l’extension lorsque vous démarrez une enquête, et Hunchly enregistrera toutes les pages web que vous visitez dans une base de données, vous permettant d’y ajouter des notes et des tags.

Il coûte 130$/an, ce qui n’est pas grand-chose si l’on considère son utilité.

Capture d'écran du tableau de bord
Hunchly

Maltego

Maltego est plus un outil de threat intelligence qu’un outil OSINT et a de nombreuses limites, mais un graphe est souvent le meilleur moyen de représenter et d’analyser les données d’enquête et Maltego est bon à ça. Fondamentalement Maltego offre une interface graphique pour créer des graphes, et d’enrichir le graphe avec de nouvelles données (par exemple, des domaines liés à une adresse IP d’une base de données « passive DNS »). C’est un peu cher (999$/an la première année, puis 499$/an pour le renouvellement) et ne vaut peut-être la peine que si vous faites aussi du threat intel ou beaucoup d’analyse des infrastructures. Vous pouvez également utiliser Maltego Community Edition qui limite l’utilisation de l’option transform et la taille du graphique, mais elle devrait être largement suffisante pour les petites enquêtes.

Capture d'écran de Maltego (source :
Paterva)

Harpoon

J’ai développé un outil en ligne de commande appelé Harpoon (voir le billet de blog ici pour plus de détails). Il a commencé comme un outil de threat intel, mais j’ai ajouté de nombreuses commandes pour l’OSINT. Il fonctionne avec python3 sous Linux (mais MacOS et Windows devraient aussi fonctionner) et est open source.

Par exemple, vous pouvez utiliser Harpoon pour rechercher une clé PGP sur des serveurs de clés :

$ harpoon pgp search tek@randhome.io
[+] 0xDCB55433A1EA7CAB 2016-05-30 Tek__ tek@randhome.io

Il y a une longue liste de plugins, n’hésitez pas à coder de nouvelles fonctionnalités intéressantes ou à suggérer des améliorations.

Python

Très souvent, vous vous retrouverez avec des tâches spécifiques de collecte et de visualisation de données qui ne peuvent pas être effectuées facilement avec n’importe quel outil. Dans ce cas, vous devrez écrire votre propre code. J’utilise python pour cela, n’importe quel langage de programmation moderne fonctionnerait également, mais j’aime la flexibilité de python et le nombre énorme de bibliothèques disponibles.

Justin Seitz (l’auteur de Hunchly) est une référence sur python et l’OSINT, et vous devriez certainement jeter un œil à son blog Automating OSINT et son livre Black Hat Python.

Vous aimerez peut-être aussi…

Il existe bien sûr de nombreux autres outils pour l’OSINT, mais je les trouve moins utiles dans mon travail quotidien. Voici quelques outils que vous voudrez peut-être regarder, ils sont intéressants et bien faits mais ne correspondent pas vraiment à mes habitudes :

SpiderFoot est un outil de reconnaissance qui recueille des informations à travers différents modules. Il a une belle interface web et génère des graphiques montrant les liens entre les différents types de données. Ce que je n’aime pas, c’est qu’il est considéré comme l’outil magique qui trouve tout pour vous, mais aucun outil ne pourra jamais vous remplacer pour savoir ce que vous cherchez et analyser les résultats. Oui, vous devrez faire la recherche par vous-même et lire les résultats un par un, et SpiderFoot n’aide pas beaucoup sur ce point. Bon travail et belle interface par contre.

Capture d'écran de SpiderFoot (source : [spiderfoot.net](https://www.spiderfoot.net/))

recon-ng est un bel outil en ligne de commande pour interroger différentes plateformes, réseaux sociaux ou plateformes de threat intel. C’est assez proche de ce que Harpoon fait, en fait. Je ne l’utilise pas parce que j’utilise déjà Harpoon qui correspond à mes besoins et je n’aime pas vraiment l’interface shell qu’il offre. Buscador est une machine virtuelle Linux qui intègre de nombreux outils OSINT différents. Je préfère toujours avoir mes propres systèmes personnalisés mais c’est une belle façon d’essayer de nouveaux outils sans avoir à les installer un par un.

Allons-y !

Passons maintenant au vrai sujet : qu’est-ce qui peut vous aider dans les enquêtes OSINT ?

Infrastructure technique

L’analyse de l’infrastructure technique est à la croisée des chemins entre le threat intel et le renseignement en source ouverte (OSINT), mais elle constitue certainement une partie importante des enquêtes dans certains contextes.

Voici ce que vous devriez rechercher :

Moteurs de recherche

Selon le contexte, vous voudrez peut-être utiliser un moteur de recherche différent au cours d’une enquête. Je compte surtout sur Google et Bing (pour l’Europe ou l’Amérique du Nord), Baidu (pour l’Asie) et Yandex (pour la Russie et l’Europe orientale).

Bien sûr, le premier outil d’enquête est l’opérateur de recherche. Vous trouverez une liste complète de ces opérateurs pour Google ici, voici un extrait des plus intéressants :

Quelques exemples :

Lectures supplémentaires :

Images

Pour les images, il y a deux choses que vous voulez savoir : comment trouver des informations supplémentaires sur une image et comment trouver des images similaires.

Pour trouver des informations supplémentaires, la première étape consiste à examiner les données Exif. Les données Exif sont des données incorporées dans une image lors de sa création et contiennent souvent des informations intéressantes sur la date de création, l’appareil photo utilisé, parfois des données GPS, etc. Pour le vérifier, j’aime bien utiliser la ligne de commande ExifTool mais l’extension Exif Viewer (pour Chrome et Firefox) est aussi très pratique. De plus, vous pouvez utiliser ce super site Web Photo Forensic qui a beaucoup de fonctionnalités intéressantes (d’autres alternatives sont exif.regex.info et Foto Forensics).

Pour trouver des images similaires, vous pouvez utiliser Google Images, Bing Images, Yandex Images ou TinEye. TinEye a une API utile (voir ici comment l’utiliser) et Bing a une fonctionnalité très utile qui vous permet de rechercher une partie spécifique d’une image. Pour obtenir de meilleurs résultats, il peut être utile de supprimer l’arrière-plan de l’image, remove.bg est un outil intéressant pour cela.

Il n’y a pas de moyen facile d’analyser le contenu d’une image et de trouver son emplacement par exemple. Vous devrez rechercher des éléments spécifiques dans l’image qui vous permettent de deviner dans quel pays elle peut se trouver, puis faire des recherches en ligne et comparer avec des images satellites. Je vous suggère de lire quelques bonnes enquêtes de Bellingcat pour en savoir plus à ce sujet, comme celle-ci ou celle-là.

Lectures supplémentaires :

Réseaux sociaux

Pour les réseaux sociaux, il existe de nombreux outils disponibles, mais ils dépendent fortement de la plateforme. Voici un bref extrait d’outils et d’astuces intéressants :

Plateformes de cache

Il existe plusieurs plateformes de mise en cache de sites Web qui peuvent être une excellente source d’information au cours d’une enquête, soit parce qu’un site Web est en panne, soit pour analyser l’évolution historique du site. Ces plates-formes font soit de la mise en cache automatique des sites Web, soit de la mise en cache sur demande.

Parfois, il est ennuyeux d’interroger manuellement toutes ces plateformes pour vérifier si une page Web a été mise en cache ou non. J’ai implémenté une simple commande dans Harpoon pour faire cela :

$ harpoon cache https://citizenlab.ca/2016/11/parliament-keyboy/
Google: FOUND https://webcache.googleusercontent.com/search?q=cache%3Ahttps%3A%2F%2Fcitizenlab.ca%2F2016%2F11%2Fparliament-keyboy%2F&num=1&strip=0&vwsrc=1
Yandex: NOT FOUND
Archive.is: TIME OUT
Archive.org: FOUND
-2018-12-02 14:07:26: http://web.archive.org/web/20181202140726/https://citizenlab.ca/2016/11/parliament-keyboy/
Bing: NOT FOUND

De plus, gardez à l’esprit que Hunchly, mentionné précédemment, enregistre automatiquement une archive locale de toutes les pages que vous visitez lorsque l’enregistrement est activé.

Collecte des preuves

La collecte de preuves est un élément clé de toute enquête, surtout si elle risque d’être longue. Vous serez certainement perdu-e dans la quantité de données que vous avez trouvées plusieurs fois, les pages web changeront, les comptes Twitter disparaîtront, etc.

::: {.wp-block-image} :::

Choses à garder à l’esprit :

Lectures supplémentaires :

Raccourcisseurs d’URL

Les raccourcisseurs d’URL peuvent fournir des informations très intéressantes lorsqu’ils sont utilisés, voici un résumé sur la façon de trouver des informations statistiques pour différents fournisseurs :

Certains raccourcisseurs d’url utilisent des ID qui s’incrémentent, dans ce cas il est possible de les énumérer afin de trouver des urls similaires créées à peu près au même moment. Consultez ce bon rapportpour voir un exemple de cette idée.

Renseignements d’entreprise

Plusieurs bases de données sont disponibles pour rechercher des informations sur une entreprise. Les principales sont la base de données Open Corporates et la base de données OCCRP sur lesleakset les documents publics. Pour le reste, vous devrez vous appuyer sur des bases de données par pays, en France societe.com est un bon site, aux Etats-Unis vous devriez consulter EDGAR et au Royaume-Uni, Company House (plus d’informations à ce sujet ici).

Ressources

Voici quelques ressources intéressantes pour en savoir plus sur l’OSINT :

C’est tout, merci d’avoir pris le temps de lire ce billet. N’hésitez pas à m’aider à compléter cette liste en me contactant sur Twitter.

Ce billet de blog a été écrit principalement en écoutant du Nils Frahm.

Mise à jour 1 : Ajouté Yandex Images, remove Background et Photo Forensic. Merci à Jean-Marc Manach et fo0 pour leurs conseils.