Collecte de données avec des outils Open Source: techniques, automatisation et visualisation
dans ,

Collecte de données avec des outils Open Source: techniques, automatisation et visualisation

La collecte de données avec des outils Open Source est aujourd’hui un élément essentiel pour comprendre les limites de notre vie privée et comment se protéger de la divulgation d’informations sensibles.

Il existe de nombreux points de données à prendre en compte, mais cet article se concentrera sur les cibles réseau (adresses IP, domaines et systèmes, par exemple) tout en abordant légèrement la collecte d’informations personnelles (adresses e-mail, noms, intitulés de poste, etc.).

L’automatisation est la clé de la gestion de toutes ces données. En automatisant les phases de recherche initiales, la recherche manuelle est beaucoup plus simple et plus facile à organiser.

Phase 1 : réseaux de cartographie

Une cible est nécessaire pour commencer le processus de découverte. S’il est possible qu’une cible ne soit pas facilement détectée en ligne, la plupart des organisations auront un nom et au moins un domaine « principal » qu’elles utilisent pour la messagerie électronique.

La base de données et l’API Full Contact constituent un bon point de départ. Ils peuvent fournir des informations de base sur une organisation en fonction du nom et du domaine.

Cela peut également être collecté à partir de sources telles que le profil LinkedIn de l’entreprise.

Domaines

Avec les informations d’arrière-plan collectées, les domaines et sous-domaines constituent l’étape suivante. Des domaines supplémentaires peuvent être découverts à l’aide de recherches dans le WHOIS inverse.

whoxy.com

Sous-domaines

Il existe de nombreux outils disponibles pour effectuer la découverte de sous-domaines, tels que Aquatone et Sublist3r. La force brute peut révéler des sous-domaines qui n’auraient peut-être jamais été découverts autrement.

DNS Dumpster et Netcraft auront probablement un bon nombre de sous-domaines catalogués pour le ou les domaines cibles.

En outre, les certificats TLS, extraits de crt.sh ou censys.io, indiqueront généralement de nouveaux sous-domaines supplémentaires que ces services n’ont pas encore vus ou enregistrés.

Plus précisément, les sous-domaines peuvent être extraits des noms alternatifs d’un certificat.

censys.io

Par exemple, une recherche de certificat Censys pour « blizzard.com » renvoie un certificat portant les noms suivants :

Les certificats ont tendance à générer le plus grand nombre de sous-domaines et leur recherche est rapide.

Cependant, une recherche sur un domaine tel que “blizzard.com” sur censys.io donnera des résultats sans rapport, tels que « iran-blizzard.com », c’est-à-dire tout domaine contenant la chaîne de requête.

Des domaines comme celui-ci pourraient être liés à la société cible, mais il est plus probable que bon nombre de ces types de résultats ne seront pas liés et ne feront que polluer l’ensemble de données.

Enregistrements DNS et adresses IP

Cette grande liste de domaines et de sous-domaines doit être convertie en adresses IP.

Cela se fait facilement avec les sockets Python (ou avec Go, Ruby, etc.) et en vérifiant les enregistrements DNS.

Les enregistrements DNS sont tous utiles, de différentes manières.

Les enregistrements A fournissent les adresses IP et les autres enregistrements fournissent des informations intéressantes sur la situation. Pour les contrôles manuels, dnsstuff.com est pratique pour les contrôles rapides d’enregistrement DNS et de propriété de domaine.

Les enregistrements DMARC et SPF, ou leur absence, aideront à déterminer la légitimité d’un email.

De nombreux malfaiteurs ne configurent pas DMARC.

Presque tous les services, y compris ceux utilisés par Gmail et Microsoft Exchange Server, s’appuient par défaut sur DMARC pour déterminer l’action à prendre pour obtenir un courrier électronique, échouant avec SPF ou DKIM.

Si le domaine d’envoi ne contient pas d’enregistrement DMARC, le serveur de messagerie ne l’ouvre pas et envoie le courrier électronique.

Cela signifie que SPF, DKIM et l’enregistrement strict DMARC peuvent être usurpés.

DKIMValidator.com est un utilitaire pratique pour l’analyse les enregistrements SPF et les enregistrements DKIM.

Si cela ressemble à une possibilité d’usurpation d’e-mail, un e-mail spoofé à une adresse dkimvalidator.com révélera le score « Spam Assassin » et déterminera s’il a réussi ou non les vérifications SPF.

Informations réseau supplémentaires

Le RDAP et Shodan peuvent combler certaines des lacunes des informations collectées pour toutes ces adresses IP et noms de domaine.

Le RDAP peut fournir des informations utiles pour chacune des adresses IP, telles que le propriétaire et le bloc réseau.

Connaître une adresse IP appartenant à Amazon n’est pas très intéressant, mais savoir que 65% des adresses IP d’une cible appartiennent à Amazon commence à suggérer qu’elles font bon usage d’Amazon Web Services.

Cela peut également indiquer quels actifs appartiennent à une organisation et lesquels sont loués / hébergés en externe.

Shodan peut fournir quelques détails supplémentaires pour les adresses IP et les noms de domaine.

Shodan peut offrir des informations telles que les noms d’hôte, les systèmes d’exploitation, les ports ouverts et les données de bannière de service, le tout sans toucher à aucune infrastructure.

Shodan peut également révéler des hôtes et des noms de domaine supplémentaires à l’aide de recherches par mot-clé avec des blocs de réseau et des domaines découverts (par exemple, hostname:foo.baret ip:1.1.1.0/24).

Toutes ces étapes créeront une vaste collection d’informations que tout être humain aurait du mal à trier de manière rationnelle. Il est préférable de mettre ces données de côté à ce stade jusqu’à la phase de rapport.

Phase 2 : Découverte des contacts

chasseur.io

Cette phase concerne le personnel de l’organisation cible.

Maintenant que certains domaines supplémentaires sont connus, les moteurs de recherche (Google, Yahoo, Bing, par exemple) peuvent être utilisés pour rechercher des adresses électroniques associées à chacun des domaines que l’organisation utilise pour son activité.

Comme son nom l’indique, l’API de Email Hunter peut également être utilisée pour rechercher les adresses électroniques d’un domaine.

Il est destiné aux commerciaux pour la recherche de contacts et de prospects pour un client potentiel, mais tout le monde peut l’utiliser et collecter les adresses électroniques.

Parfois, Hunter.io a carrément des noms, des titres de poste et des numéros de téléphone.

De plus, la recherche d’adresses électroniques via des sites plus existant aujourd’hui (par exemple, Pastebin, ghostbin, slexy) peut générer des informations particulièrement juteuses. Le cache Web de Google et la Wayback Machine sont très utile pour cela.

HaveIBeenPwned possède également des API permettant de rechercher rapidement des liens pré-indexés vers une adresse électronique.

Phase 3 : le Cloud

De nombreux sites Web d’entreprise ont une réserve de fichiers situés sous leur (s) domaine(s). Ces fichiers peuvent s’être accumulés au fil des années et inclure tout, des documents Office aux PDF, en passant par d’autres fichiers divers.

Les recherches de base de Google, comme site:entreprise.com ou filetype:pdf va les révéler.

Ces documents peuvent être automatiquement téléchargés et disséqués pour des métadonnées, pouvant inclure des informations logicielles (par exemple, Office 2013) ou des noms d’utilisateur.

Si quelqu’un a été négligent avec la racine Web du site, il n’est pas rare d’entraîner des hits pour d’autres extensions de fichiers, telles que .key ou .cert pour des fichiers plus sensibles.

Il est également possible que quelqu’un télécharge des documents destinés à un public plus restreint sans se rendre compte que quiconque peut les télécharger. Si un moteur de recherche les a indexés, ils peuvent être trouvés.

Chasse aux « buckets »

Parlant de documents non destinés à Internet, les compartiments (espaces de stockage appelés Buckets) Amazon S3 sont devenus notoires pour cela. La chasse aux bukets est folle en ce moment, mais ne négligez pas les «spaces» de Digital Ocean.

Digital Ocean a lancé son propre service, similaire à S3, qu’il a baptisé «Spaces». De manière pratique, Digital Ocean a adopté la norme S3, le standard de l’industrie, lors de la conception de son nouveau service.

En d’autres termes, les espaces fonctionnent exactement comme des seaux et les outils conçus pour les seaux de chasse fonctionneront si les espaces sont dirigés vers Digital Ocean.

L’existence d’un bucket peut être vérifiée avec une simple requête Web. Une demande Web est adressée à Amazon ou à Digital Ocean (ex: https://fubar.s3.amazonaws.com/ ou https://fubar.nyc3.digitaloceanspaces.com/) et le service renvoie un code XML indiquant si le compartiment existe.

S’il existe, le code XML indiquera si des données sont accessibles au public. C’est la somme de cela. Pour les rechercher, il suffit d’utiliser une liste de mots pour créer de nouvelles requêtes Web.

Phase 4 : Reporting et automatisation du processus

Tout cela serait très fastidieux à faire à la main pour chaque projet. Si vous êtes un hacktiviste ou un chasseur de primes cherchant à effectuer une recherche continue d’actifs, vous ne voudrez pas le faire de manière répétée ou avec des outils individuels.

C’est pourquoi de nombreuses personnes se sont penchées sur l’automatisation de tout cela.

Voici donc ODIN :

L’objectif avec ODIN était de créer un outil pouvant être exécuté sous Windows, MacOS ou Linux avec uniquement Python 3.

Non seulement cela, cet outil automatise les analyses de base, c’est-à-dire qu’il connecte certains des points par faire des choses comme vérifier certaines chaînes dans les enregistrements DNS.

ODIN accomplit cela et permet à un analyste de faire beaucoup plus avec les données tout en leur demandant de faire moins de travail pour les obtenir.

https://github.com/chrismaddalena/ODIN

Rapports et organisation d’ODIN

chrismaddalena / ODIN

ODIN stocke toutes les données qu’il collecte dans une base de données SQLite3 qui est enregistrée pour une analyse ultérieure.

Éventuellement, un rapport HTML de plusieurs pages est construit à partir de ces données pour simplifier la navigation.

Il suffit d’ouvrir un rapport dans un navigateur Web. C’est bon pour les revues occasionnelles et les références, mais utiliser ces données pour visualiser le périmètre externe peut être révélateur.

Visualisation Neo4j

Un schéma de base développé pour établir des relations entre toutes les différentes entités et ressources découvertes au cours de ce processus de collecte OSINT.

Une fois que ODIN a converti la base de données SQLite3 en base de données graphique, il est possible de créer une carte du périmètre externe. Ceci est un exemple très basique :

Un graphique d’un petit réseau dérivant d’un domaine racine.

La plupart des types de nœuds sont représentés dans ce graphique. ODIN a été exécuté dans un petit environnement de laboratoire pour cet exemple.

Les adresses IP sont donc des adresses internes et ne contiennent aucune donnée Shodan (c.-à-d. Ports ouverts).

Vous avez une organisation (bleue) liée à un domaine (violet) et les sous-domaines (vert) de ce domaine. Les certificats (en rouge) et leurs relations avec le domaine et les sous-domaines indiquent quels nœuds partagent des certificats. Vous pouvez également voir les adresses IP (en jaune) auxquelles les sous-domaines sont résolus.

Les graphiques complets et non filtrés de grandes organisations peuvent être assez intenses avec des relations multiples, des adresses IP multiples et des domaines multiples.

Conclusion

Le processus détaillé ci-dessus ne permet pas de rassembler toutes les informations pouvant être recueillies sur une organisation, mais au moins vous pourrez en savoir plus sur une personne, un site ou une organisation.

La collecte de données peut devenir complexe une fois que vous commencez à traiter avec de très grandes organisations ou des organisations contenant des groupes disparates. Cependant, vous devez commencer quelque part et ce processus peut vous bien servir.

Sources :

https://posts.specterops.io/gathering-open-source-intelligence-bee58de48e05

https://towardsdatascience.com/8-open-source-big-data-tools-to-use-in-2018-e35cab47ca1d

http://cradpdf.drdc-rddc.gc.ca/PDFS/unc126/p537793_A1b.pdf

https://thenewstack.io/six-of-the-best-open-source-data-mining-tools/

https://dzone.com/articles/20-free-and-open-source-data-visualization-tools

4 conseils clés pour choisir un traducteur adapté à votre besoin

Pourquoi je déteste (et n'utilise plus) Google Chrome - #Rage # Security

Pourquoi je déteste (et n’utilise plus) Google Chrome #Rage # Security