OSSIR Bretagne : OSINT - Open Source Intelligence
Par Sebdraven
L’Open-Source Intelligence regroupe un ensemble de technique de collecte de l’information sur Internet. L’objectif est d’employer ces techniques à des fins d’Audit et de Maîtrise de la surface du SI exposé à l’Internet.
Le périmètre des SI explosent, car pour vendre il faut être visible et communiquer. D’ou une explosion du nombre de noms de domaines et de serveurs placés sur Internet pour accroître la visibilité de l’entreprise. Le problème, c’est que le périmètre deviens impossible à maîtriser lors qu’il s’agit de grosses structures d’envergure internationale, ou lors de rachats. Ajoutez à ça le BYOD, les VPN, les Webmails etc… et vous obtenez une surface d’exposition explosive.
Coté choix technologiques, il n’y a pas de choix raisonnés sur la technologie, le prestataire, et l’hébergeur, ce qui provoque une multiplication des intervenants et complexifie la veille en sécurité, le patch management, bref la vie d’un RSSI d’une telle structure deviens vite un cauchemars.
Le risque, c’est l’atteinte à l’e-réputation, car si l’ip employée pour un site de l’entreprise est dans un AS dont les voisins propagent régulièrement du malware, ou via une faille applicative, un attaquant place un PDF malveillant sur votre site et distribuent le lien via du spam. Et un site blacklisté par google safebrosing, ça fait tâche coté marketing.
L’idée est donc d’utiliser l’ensemble des sources ouvertes (moteurs de recherche, pastebin, whois, archives de mailing list, réseaux sociaux etc…) pour déterminer le périmètre du SI.
Coté outils on à a notre disposition Maltego, propriétaire et dont le cloud est à l’étranger, ce qui pose des problèmes de confidentialité des travaux d’OSINT effectué, nottament lorsqu’on travaille avec des entreprises françaises. On a le concurent direct de maltego: Netglub qui lui est Open-source. TheHarverster qui provoque un blacklistage rapide de votre IP par les moteurs de recherche.
Cependant ces outils ont tous le même défaut, ils ne permettent pas d’effectuer une analyse contextuelle ou orienté analyse de contenu. C’est pour cela qu’un framework a été développé pour effectuer la récupération via CasperJS des résultats des moteurs de recherche et le crawling des sites issus de ces recherches.
L’ensemble de ces résultats sont passé à un analyseur lexicométrique permettant de dégager des résultats de recherche un champ lexical spécifique et d’effectuer de nouvelles requêtes sur les moteurs de recherche. Ainsi lorsqu’un nouveau site est découvert, on va pouvoir déterminer si le site appartiens ou pas à la même société. Pour éliminer les faux positifs et donc les sites qui n’appartiendrais pas au SI, l’outil présente à l’utilisateur des screenshots des sites visités pour permettre le tri.
Les données sont en suite correllée aux bases whois et IP, géolocalisés afin d’éliminer les sites d’information type presse & blog parlant de la société mais ne faisant pas partie du périmètre.
Les technos ; python, mongodb pour le stockage, casperJS pour le scraping, Nmap pour l’identification des services, SSLyse pour récupérer l’information des certificats, et TheHarverster en version patchée pour la récupération des e-mails. BlindElephant et WhatWeb sont utilisé pour fingerprinter le CMS et les technos employées sur le site. Iramuteq/R pour l’analyse lexicométrique. Maxmind pour la geolocalisation, shodanHQ pour les services autres que Web. OVI pour l’affichage mapmonde. Et les scans sont lancées depuis EC2 pour changer de continent avant de scanner les cibles du continent en question (scann geolocalisé).
Tous ces petits scripts bien sympatiques sont disponibles sur GitHub