OSINT
Méthodologie de collecte
Pour trouver un maximum d'information sur une cible (individu ou entreprise), j'ai établi des étapes, sur lesquelles je boucle, afin de, paradoxalement, ne pas tourner en rond :
Génération de pseudo et d'
emails
potentiels. Il existe des générateurs, j'ai créé le mien car je n'étais pas satisfait de ceux existants, le voici.Énumération de comptes potentiels avec mail/pseudo trouvés/générés. Je vais sûrement étendre l'outil cité précédemment pour qu'il puisse rechercher pour tous les pseudos générés, si ces derniers existent sur les réseaux sociaux populaires. Voici cependant quelques outils utiles : Sherlock, BlackBird, Holehe, Namecheckers (liste de différents outils et leurs différences).
Recherche d'occurrences d'informations via les moteurs de recherche et les réseaux sociaux populaires.
Crawler de forums
.onion
et chercher en grep ces informations (vu que c'est les seuls forums non indexés par les moteurs)Si on trouve des relatifs de la cible, alors fouiller puis établir leur liste avant de refaire du début tout le procédé pour chacun d'entre eux.
Réseaux sociaux et forums
Les réseaux sociaux et les forums sont des sites internet. Comme tout site internet, ils choisissent quelles informations mettre à disposition des utilisateurs et de quelle manière. Il n'y a donc pas de règle générales, il faut se renseigner sur l'interface utilisateur proposée par le site en question et se renseigner sur les techniques d'OSINT
existantes.
Il existe alors différents outils pour différents sites internet. Par exemple un outil que je trouve très pratique est GitLeaks, il permet de rechercher des informations sensibles/importantes sur GitHub
.
Généralement il est plus pertinent d'optimiser la recherche via les moteurs de recherche pour fouiller un site en profondeur. Cependant, dans certains cas, il est préférable de crawler
le site soi même et de télécharger un maximum de pages par exemple avec HTTrack afin de faire des recherches soi même via Fast Searching.
Moteurs de recherche
Moteurs de recherche de sites web
Pour comprendre comment les utiliser, il faut d'abord comprendre ce qu'ils sont. Les moteurs de recherche sont des sites internet qui fonctionnent comme d'immenses bases de données consultables. Les informations qui y sont contenues sont des informations sur des sites internet. Ces dernières sont récupérées par des crawlers
qui viennent amasser et collecter le plus d'informations possibles sur une page et qui vient référencer son URL
. Gardez donc en tête que :
Vous pouvez rechercher par mot-clé des pages d'un site internet, qui n'est plus accessible par celui-ci ou bien qui l'est difficilement, comme des informations sur un profil privé
LinkedIn
, qui ne l'était pas auparavant, et donc qui a été référencé sur Google.Vous pouvez obtenir des informations sur une page web qui n'existe même plus. En effet, si cette dernière est supprimée du site internet mais qu'elle est encore référencée par
Google
par exemple.Comme toute base de données, vous pouvez formuler des
queries
avec unQL
(Query Langage
) comme les Google Dorks (en voici une liste pertinente). Renseignez vous sur les fonctionnalités qui peuvent être adaptées à votre objectif de recherche.Vous pouvez généralement utiliser des fonctionnalités de reconnaissance d'image pour formuler des requêtes sur la base d'images.
Vous pouvez appliquer tout un tas de filtres par
date
,localisation
,langue
, etc..Selon le public auquel s'adresse un moteur de recherche, sa popularité peut varier selon différents critères, donc sa pertinence également. Par exemple pour tout ce qui est russophone, Yandex est plus pertinent que
Google
.Les moteurs de recherche déréférences les pages web disparues ou jugées non pertinentes. Un gros projet d'archivage existe pour consulter des versions passées de pages web, WayBackMachine.
Moteurs de recherche spécifiques
J'ai parlé des moteurs de recherche comme Google
, Bing
ou Yandex
. Mais il existe des moteurs de recherche pour à peu près tout. Par exemple, Les Pages Jaunes, c'est un annuaire téléphonique. C'est donc un moteur de recherche de téléphone. Comme vu précédement, on va collecter tout un tas de données diverses, on peut alors en tirer le maximum d'informations en utilisant des moteurs de recherche adaptés à ces données. Voici une petite liste non exhaustive :
OSINTIndustries : Moteur de recherche de téléphone, mail et d'autres informations personnelles.
Pages Jaunes : Annuaire inversé de numéros téléphoniques français.
PimEyes : Indexation de photos de visage par reconnaissance faciale. Utile pour trouver d'autres photos d'une même personne.
Pl@ntNet : Reconnaissance de plantes, vous pouvez vous servir de cela pour trouver une localisation en fonction des plantes de la flore.
OSINT Framework : Indexation de beaucoup d'outils OSINT connus, triés par catégories.
cert.sh : Référencement d'informations sur des noms de domaine par certificats SSL.
Shodan : Moteur de recherche de services ouverts sur le net.
Epieos : Moteur de recherche de téléphone, mail et d'autres informations personnelles.
Organisation des données collectées
Lors d'une investigation
Plus votre collecte d'informations sera claire et organisée, plus il sera facile d'utiliser ces informations pour avancer dans les recherches. En effet, il est crucial de pouvoir séparer les informations cruciales et les informations futiles. Voici différentes méthodes d'organisation des données :
CSV/Excel
: Organiser les données en les triant dans un tableur, donc sous forme de plusieurs tableaux lignes/colonnes.Draw.io : Logiciel pour réaliser des
canvas
,mindmaps
et organigrammes facilement. C'est une méthode très efficace et très personnalisable.OSINTracker : Webapp d'organigramme adapté pour l'OSINT.
Stockage de Breaches (illégal)
Renseignez-vous bien sur la loi concernant la récupération et le stockage de données fuitées par les entreprises ou les gouvernements, selon la nature des données et la méthode d'obtention, vous pouvez avoir de sérieux problèmes avec la justice. Je vais alors considérer dans la suite de mes explications, que les cibles des informations collectées sont consentantes à l'exercice, cela relève de votre responsabilité.
Maintenant que cela est dit, on va voir comment stocker ces données au mieux afin de les rendre utilisables.
Généralement, les quantités de données récupérées lors de breaches sont énormes et peuvent atteindre plusieurs To
de données. Le meilleur moyen que l'on connaît pour lancer une recherche le plus rapidement possible dans une quantité importante de données est la recherche dichotomique. Certains organisent alors leurs données dans des dossiers dont le nom est une lettre, toutes les données commençant par "test" vont alors par exemple être dans le dossier /t/e/s/t
. Cependant, il existe de bien meilleurs moyens de stockage. N'importe quel service de base de données prenant en charge l'indexation fait l'affaire. Voici les critères souhaitables :
Possibilité d'ajouter des colonnes avec le temps et de créer des colonnes dépendant d'autres colonnes, comme par exemple une colonne qui est le résultat d'une multiplication de valeurs de deux autres colonnes. Cela va faciliter l'indexation dans certains cas.
Possibilité de choisir arbitrairement les colonnes pour lesquelles on souhaite rajouter une indexation.
Facilité d'utilisation du service de sorte à ce que la
database
tienne facilement sur un disque externe et soit malgré tout utilisable.
Je recommande une solution NoSQL
comme mongoDB
par exemple. En effet, cela permet une flexibilité plus grande et des indexations moins courantes comme une indexation géospatiale pour rechercher rapidement les résultats autour d'une localisation géographique. Ce qui permet de stocker des données de localisation lorsque existantes.
Notez que vous devez indexer les colonnes que vous souhaitez utiliser lors de vos recherches, comme probablement la colonne de pseudo
, nom de famille
, mot de passe
, localisation
, etc.. Mais que d'autres colonnes n'ont pas besoin d'être indexées comme une simple colonne d'informations additionnelles
ou de photo d'identité
..
Chaque indexation prendra un espace de stockage considérable, en effet, la colonne concernée sera réordonnée pour permettre une recherche dichotomique et donc efficace. Notez que vous pouvez aussi faire des indexations par groupes de colonnes.
Toute recherche sur une colonne non indexée prendre beaucoup plus longtemps..
Une fois le plus de données collectées et agrégées à l'aide de langages de scripting
tel que Python
, il sera facile et rapide de consulter vos données uniformisées. Vous pourrez par exemple vérifier si un pseudo a déjà fuité en étant associé à un mot de passe, et ainsi l'essayer lors de votre tentative de compromission. À l'inverse, si vous détenez le mot de passe de quelqu'un, vous pourrez également vérifier si ce mot de passe a déjà été utilisé dans un compte qui a fuité et donc potentiellement retrouver d'autres comptes de la cible.
Se protéger
Toutes ces méthodes d'OSINT
, sauf la dernière qui est le stockage de données fuitées, peuvent être utilisées parfaitement légalement pour avoir des informations sur un individu ou une entreprise. Cela vous concerne alors vous et votre entreprise.
Il est donc très important de contrôler les informations que nous donnons au public, autrement dit, sur internet. Puisque ces informations seront inévitablement crawlées, stockées et référencées dans un tas de moteurs de recherche.
J'ai donc listé quelques mesures importantes à garder en tête pour être plus responsable de nos données.
En tant qu'individu
Pour mieux contrôler les informations que nous donnons au public voici mes recommandations :
Effacement de données publiques
Contacter les entreprises propriétaires des données pour les faire retirer.
Créer une fausse entité répondant aux mêmes mots-clés que celle à effacer et flood le web avec, aussi bien en quantité qu'en qualité de référencement afin d'invisibiliser la vraie entité.
Utiliser un gestionnaire de mots de passe et utiliser des mots de passe forts et unique pour chaque compte.
Toujours répondre à un pseudonyme, si possible différent pour chaque compte, ne pas utiliser nos vraies informations d'identité.
Configurer correctement la visibilité du contenu que l'on upload sur des serveurs tiers (appartenant par exemple à des entreprises de réseaux sociaux).
Si vous souhaitez disparaître ou rechercher quelqu'un qui souhaite disparaître, voici les différentes méthodes à garder en tête :
Changement d'apparence, temporaire, superficielles, définitive..
Falsification de papiers d'identité.
Transactions en liquide ou cryptomonnaies ou vol.
Actions numériques préméditées pour bypass les caméras.
Donner des informations qui changent le plus souvent possible (jamais le même prénom, etc..).
En tant qu'entreprise
Pour mieux contrôler les informations que nous donnons au public voici mes recommandations :
Vérifier régulièrement nos données publiques pour en avoir conscience. Nous pouvons aussi obtenir des informations par déduction, pas uniquement par voie directe.
Contrôler les informations que nous transmettons :
Communication stratégique et compromis, ne pas dévoiler plus d'informations que nécessaire.
Signature de contrats de secrets professionnels (propriété intellectuelle par exemple).
Conflits d'intérêts
Enquête
OSINT
sur les postulants (fréquence de démission, sérieux, maturité, passé...).Tensions internationales (nationalité du postulant et espionnage)
Tensions inter-entreprises (postulant potentiellement intéressé par la revente d'informations à une entreprise concurrente ?)
Hardening du système d'information et politique du least privileges pour l'accès aux données.
Souveraineté des données (hébergement cloud, grosses entreprises qui peuvent subir des leaks, on peut être un dommage collatéral).
Dernière mise à jour
Cet article vous a-t-il été utile ?