Retour sur enquête: monitorer un événement public sur les réseaux sociaux

Retour sur enquête: monitorer un événement public sur les réseaux sociaux

Dans une enquête pour Bellingcat, Sébastien s’intéressait à la présence d’un militant de l’extrême-droite française au festival néo-nazi “Asgardsrei” qui avait lieu en Ukraine en décembre 2019. A travers cet exemple, il fait ici un rappel des techniques basiques pour monitorer un événement public (concert, manifestation etc.) sur les réseaux sociaux.


L’unique point de départ de mon enquête était une photo diffusée via Telegram montrant un drapeau du Groupe Union Défense (GUD) brandi dans la foule lors du festival de “Black Métal National Socialiste” (NSBM) “Asgardsrei” qui avait lieu à Kiev, en Ukraine, le week-end du 14–15 décembre 2019. Celle-ci indiquait vraisemblablement qu’au moins un militant français avait fait le déplacement.

La photo diffusée via Telegram.

Bien évidemment, la personne apparaissant sur la photo avait pris soin de ne laisser apparaître aucun élément permettant de l’identifier, on voit simplement une main ainsi qu’une ombre à travers le drapeau. 

Dans un premier temps, j’ai donc décidé de collecter d’autres images du festival. Comme pour n’importe quel événement de ce type, le nombre important de vidéos, photos souvenirs et autres selfies publiés sur les réseaux sociaux multipliait la probabilité que ce militant français ait été capté par un objectif autre que le sien.

Récolter le maximum d’images du festival

Puisque je cherchais des images de l’événement, je me suis intéressé dans un premier temps à Instagram, réseau social par excellence en la matière. Pour essayer d’être le plus exhaustif possible, j’ai procédé selon deux approches différentes.

D’une part, quelques recherches rapides m’avaient appris que le festival avait eu lieu au “Bingo Club” à Kiev. J’ai donc cherché les photos et vidéos tagués comme ayant été prises dans cette salle. Comme souvent, il existait plusieurs geocodes liés à cette salle (Bingo Club, BingoClub Kyiv, Bingo Club Kiev…), et je les ai donc consultés les uns après les autres.

Les deux premiers geotags correspondent à la salle située à Kiev
Exemple d’une photo geo-taguée par un utilisateur au Bingo Club.

Pour récupérer l’ensemble des photos et vidéos, j’ai utilisé l’extension chrome “Downloader of Instagram + Direct Message” qui permet de télécharger automatiquement un grand nombre de publications. Si c’était à refaire aujourd’hui, j’utiliserais plutôt l’outil python “Instaloader” (pour les adhérents, voir l’excellent guide d’Hervé !) qui permet d’être plus précis, notamment en indiquant la date des photos et vidéos qui nous intéressent, ou bien de récupérer les commentaires associés à une publication.

Dans un second temps, j’ai cherché les publications contenant certains hashtags qui pouvaient être liés au festival. J’ai tout simplement commencé par #Asgardsrei, puis je me suis servi des autres hashtags associés par les utilisateurs à ce premier pour pivoter vers d’autres recherches.

Photos avec le #Asgardsrei.
En plus du #Asgardsrei, cette photo utilise d’autres # pouvant être utilisés pour multiplier les recherches.
Exemple d’une vidéo du festival que je n’aurais pas trouvé si j’avais simplement cherché avec le #Asgardsrei ou via les geotags.

Puisque j’ai effectué mes premières recherches alors que le festival avait encore lieu, j’ai également téléchargé toutes les stories (publications qui disparaissent au bout de 24h) associées aux différents hashtags, ainsi que celles géo-tagués au Bingo Club.

En suivant peu ou prou le même procédé, j’ai cherché des images du festival sur Facebook, Vkontakte, Twitter, Youtube, Snapchat… Je me suis également intéressé aux différentes pages en rapport avec le festival: événement sur VKontakte, pages sur les réseaux sociaux des groupes présents, site internet du festival etc.

L’analyse

Après avoir récupéré des centaines de photos et vidéos du festival, il s’agissait désormais de repérer dans la foule le drapeau du GUD ou bien un visage familier.

Puisque la plupart des images étaient prises dans l’obscurité de la salle de concert, seulement interrompue par quelques flashs lumineux liés à la mise en scène, j’ai essayé de situer dans l’espace la personne que je cherchais. La foule semblait relativement statique (mis à part un mosh vers le centre de la salle à certains moments), j’en ai donc conclu que l’individu qui m’intéressait devait probablement se situer en face de la scène, vers l’avant de la salle. Si un simple croquis et un œil attentif m’ont permis de le repérer assez rapidement (quelques heures tout de même), j’ai aussi envisagé la possibilité de synchroniser différentes vidéos du festival pour en reconstituer des parties sous plusieurs angles.

Ce travail m’a donc permis de repérer le drapeau du GUD à de multiples reprises lors du festival (principalement lors des passages des groupes “Baise Ma Hache” et “Goatmoon”), mais surtout d’apercevoir son porteur.

Captures d’écran d’une vidéo publiée sur Youtube.

Identifier le porteur du drapeau

Cette silhouette qui m’était familière, ainsi que d’autres indices publiés sur la page Facebook “Ouest Casual” (associée au canal Telegram) laissant penser que le militant s’étant rendu en Ukraine était lié au groupe “Zouaves Paris”, m’ont conduit à consulter le profil d’un certain Marc “Hassin”. Ancien membre du GUD et militant bien connu des Zouaves Paris, Marc avait récemment mis à jour sa photo de profil Facebook, indiquant que celle-ci avait été prise en Ukraine, le 21/10/2019.

La photo de profil Facebook de Marc “Hassin”.

Peu convaincu par la possibilité que Marc “Hassin” ait effectué un voyage en Ukraine presque deux mois jours pour jours avant Asgardsrei, et en partant du principe que la date indiquée pouvait contenir une faute de frappe (10 pour le mois au lieu de 12) ou bien avoir été volontairement modifiée, j’ai décidé d’effectuer des recherches sur ce championnat de kick-boxing.

Ayant peu de résultats convaincants via Google et Yandex, j’ai encore une fois utilisé Instagram et cherché des photos utilisant #kickboxing aux alentours du 21 décembre. Sur plusieurs d’entre-elles, j’ai remarqué un décor similaire à celui en arrière-plan sur la photo de Marc “Hassin”.

Photo du championnat auquel a participé Marc “Hassin” publiée sur Instagram avec le #kickboxing.

Après vérification, il s’agissait bel et bien du même événement, un championnat s’étant déroulé au “Спорткомплекс КПИ” à Kiev du 20 au 22 décembre. J’ai donc une fois de plus réuni le maximum de photos et vidéos du championnat, que ce soit via divers #hashtags ou bien le géotag.

Marc n’apparaissant visiblement pas sur celles-ci, j’ai consulté méthodiquement les profils Instagram des personnes ayant publié ces photos: autres photos publiées, photos sur lesquels le compte est identifié, stories “à la une” (stories archivées par l’utilisateur et donc en ligne au delà des 24h initiales).

Après de longues recherches, j’ai finalement identifié Marc sur plusieurs photos, notamment des stories archivées. Sur l’une d’entre elles, Marc posait avec le même drapeau que celui brandit à Asgardsrei.

Photo de Marc “Hassin” au championnat de kick-boxing à Kiev avec un drapeau du GUD, publiée sur Instagram et archivée en “stories à la une”.

Conclusion

Si d’autres informations sont venues compléter mon enquête, ce sont les deux éléments présentés ici (la silhouette du porteur du drapeau et la photo de Marc avec ce même drapeau à Kiev quelques jours plus tard) qui en ont formé la base.

En somme, donc, pas de recours à des techniques de sorcellerie très poussées en OSINT, mais un travail se voulant méthodique et exhaustif. Comme quoi multiplier ses recherches autours de différents hashtags ou geotags et compulser des dizaines de profils efficacement peut (parfois) suffire!

ivg.net, « Pour vous apporter un soutien dans le cadre d’un projet d’IVG ». Ou pas?

ivg.net, « Pour vous apporter un soutien dans le cadre d’un projet d’IVG ». Ou pas?

Un très bon référencement dans Google

Lorsque l’on tape « ivg » dans le moteur de recherche, le site ivg.net apparaît en troisième position.

Spontanément, et compte tenu de ce résultat, on pourrait penser que ce site est un site officiel qui va fournir les réponses objectives et factuelles aux questionnements liés à l’interruption volontaire de grossesse. Mais en réalité, ce site est ce site est très orientés « pro-life » et comporte notamment une section « Vidéos », qui relaie des témoignages provenant de deux comptes Youtube : « ivg.net » et « sos ivg ». Dans la section « A suivre » de la vidéo « témoignages de vécu de l’ivg » (https://www.youtube.com/watch?v=wKqL2BKxsts), on retrouve en médaillon une vidéo de « Boulevard Voltaire », exactement avec la même jeune femme (https://www.youtube.com/watch?v=cjHosWvylRQ) :

Sur la chaîne de Boulevard Voltaire, la description de la vidéo mentionne que le reportage est réalisé par Charlotte d’Ornellas, journaliste travaillant entre autres pour Valeurs Actuelles (https://www.valeursactuelles.com/historique/charlotte-dornellas) et Radio Courtoisie (https://www.radiocourtoisie.fr/patrons-emissions/auteur162/). On retrouve par ailleurs Charlotte d’Ornella et des séquences de cette même vidéo de Boulevard Voltaire sur la chaîne de    « sos ivg » :

Un numéro vert très bien implanté

Tout le monde n’ayant pas obligatoirement un accès facilité à Internet, le site ivg.net a mis en place un numéro vert, que l’on retrouve à de multiples endroits d’Internet, et souvent à côté d’institutions comme le Planning Familial ou le site officiel du gouvernement. Par exemple, sur un site d’aide à l’accueil juridique des populations roms :

De manière un peu plus insolite, on retrouve même ce numéro vert (ainsi que l’adresse du site) dans le livre « Vivre le deuil Pour les Nuls » :

Le présent article n’a pas vocation à apporter une contradiction aux propos et à la ligne directrice de ivg.net. Ceci a déjà été effectué efficacement par de nombreux articles ! Nous invitons le lecteur à se référer à la revue de presse suivante non exhaustive :

De multiples noms de domaine …

Sur whoisology.com, le contact administratif de ivg.net est :

Cette forme d’email est habituellement utilisée pour anonymiser l’organisation ou la personne qui a déposé un nom de domaine considéré, ce qui entraîne souvent l’investigateur OSINT dans une impasse.whoisology.com permet cependant de pivoter sur cette adresse email anonymisée !

Via le moteur de recherche de leaks intelx.io, on trouve par ailleurs une liste supplémentaire de noms de domaine éventuellement pertinents :

mais une seule association ?

Quand on renseigne ces sites dans Maltego, on constate que la plupart d’entre eux ont « SOS Détresse » comme organisation :

Sur avortement.net, les mentions légales précisent la domiciliation du siège social de l’association en question :

Exactement à la même adresse, on trouve les locaux de l’Ecole de Tarcisius, une « Ecole primaire indépendante en Essonne – Spiritualité catholique » (https://ecoledetarcisius.wixsite.com/monsite) :

Par contre, manifestement, les dons ne sont pas à adresser à la même adresse :

Pas obligatoirement !

Lorsqu’on parcourt les pages de sos-ivg.com, sur archive.org, on trouve un numéro de téléphone :

Ce même numéro est disponible dans l’annuaire du guide des activités sportives sociales et culturelles de la ville de Rambouillet :

Sur net1901.org on s’aperçoit que l’AFEDER est domiciliée … à la même adresse que pour les dons à adresse à SOS Détresse!

«Nous ne recevons pas de subventions, affirme M.P. Il s’agit exclusivement de dons privés, on ne donne pas les noms.» (https://www.liberation.fr/france/2017/02/17/ivgnet-une-famille-en-croisade_1549261)

En creusant encore plus loin, un front commun peut être retrouvé via archive.org :

Un site à l’allure officielle, mais pas de noms. Enfin, ça dépend...

Dans la revue de presse listée en début d’article, on retrouve de multiples noms, et certaines entreprises, dont celui d’un PDG. Quand on initie le process de réinitialisation du compte Twitter de ivg.net on contacte un étrange sentiment de familiarité :

Lorsque l’on regarde l’histoire WHOIS de ivg.net, on retrouve de nouveau ce même nom :

A l’adresse de domiciliation de l’AFEDER ainsi que d’envoi des chèques de dons à SOS Détresse, on retrouve toujours la même personne :

Sur avortement.net, on relève le nom d’un auteur dans les articles du site :

Avec le même nom de famille et un prénom commençant par la même lettre, on trouve un conseiller communautaire à la ville de Rambouillet :

Ce même conseiller communautaire comporte une fiche Wikipedia, qui nous permet d’établir un lien avec qui se trouve derrière le compte Twitter de ivg. (et anciennement derrière ivg.net) :

On retrouve par ailleurs ce conseiller communautaire sur une vidéo du Centre Billings, derrière lequel se trouvent les mêmes personnes gérant ivg.net (voir le paragraphe « De multiples noms de domaine » :

Pour conclure … quelques leviers d’action

On le voit, il s’agit là d’un système très bien organisé permettant de figurer en bonne place dans le ranking de Google:

  • achat de noms de domaine ciblés
  • achat probable (bien que non démontré) de mots-clefs

Ce classement, le fait que ce site soit également cité sur celui d’organismes sociaux, est largement susceptible de brouiller le message des autorités sanitaires sur le sujet, surtout auprès de populations fragiles ou peu outillées pour analyser le positionnement de ce site internet.

Parmi les noms de domaine découverts dans le cadre de cette enquête, l’un d’entre-eux est disponible à la vente :

Le lien suivant explique comment paramétrer une redirection :

https://docs.ovh.com/fr/domains/redirection-nom-de-domaine/

(Via la même recherche, on constate que ivg-lyon.com et ivg-medicamenteuse.com sont également disponibles à la vente.)

Selon ses appétences, le lecteur ayant acheté le nom de domaine pourra paramétrer une redirection vers l’un de ces sites :

https://www.planning-familial.org/fr

https://ivg.gouv.fr/

Concernant les autres sites non encore disponibles, rien n’empêche de surveiller les dates d’expiration des noms de domaine associés :

avortement.net :        Registry Expiry Date: 2021-04-26

  • avortement.pro : Registry Expiry Date: 2022-02-14
  • ivg-infos.biz : Registry Expiry Date: 2021-02-06
  • ivg-infos.com :        Registry Expiry Date: 2021-02-07
  • ivg-infos.info : Registry Expiry Date: 2021-02-07
  • ivg-infos.net :        Registry Expiry Date: 2021-02-07
  • ivg-infos.org :        Registry Expiry Date: 2021-02-07
  • ivg.net :        Registry Expiry Date: 2022-08-27
RADIOAMATEURS : une source méconnue de l’OSINT ?

RADIOAMATEURS : une source méconnue de l’OSINT ?

L’ami Gimli nous proposait un chouette challenge sur Twitter, de la géolocalisation à base de source radio-amateur.
L’occasion pour lui d’écrire l’article ci-dessous, mêlant, comme souvent ici, méthodologie et analyse technique!


De nombreux articles et méthodologies sont disponibles en ligne pour tracker les navires de commerce. Mais, qu’en est-il du suivi des navires de la marine de guerre russe ?

Bien avant l’apparition des satellites, de l’AIS ou tout simplement de l’OSINT, le monde des radioamateurs s’est investi dans cette thématique … et ils n’hésitent pas à partager !

Alors, pourquoi se priver de cette masse d’informations dans nos investigations ?

Par exemple, que pouvons nous dire de la position de ce bâtiment à la date du 14 avril 2020 ?

Via un module complémentaire installé sur Mozilla Firefox, (par ex : Search by image), nous trouvons facilement le nom de ce navire : le PM-82 via le site :

https://mil-avia.livejournal.com/379233.html

Le PM-82 (ПМ-82 en russe) semble être un « atelier flottant »…

Essayons donc plusieurs recherches via différents moteurs de recherche (Google et Yandex notamment).

Le site mil.ru nous indique que le PM-82 fait partie du projet 304 et qu’il est conçu pour réparer les navires, leurs armes et leurs équipements techniques dans des zones éloignées. Mais l’information intéressante est qu’il est en route pour la baltique au 31/03/2020.

Dans les résultats apparaît également ce post sur VK : https://vk.com/navyofrussia?w=wall-129663182_3276 (archivé ici, au cas où…) qui indique :

ПМ-82 возвращается в базу ДКБФ после службы в дальней морской зоне. 18.04.2020 г.

Avec comme traduction approximative de Google :

« Le PM-82 retourne à la base DCBF après avoir servi dans la zone de haute mer. 18/04/2020. »

En cherchant sur Google « ПМ 82 », une vidéo youtube est disponible mais là encore datée du 18 avril 2020.

Pour l’instant, aucune information ne correspond à la date souhaitée. Il faut peut-être changer d’axe de recherche et s’intéresser à une thématique pas assez connue et exploitée.

Les moyens de communication.

Préambule

Tout mobile a besoin de communiquer avec son état-major … alors pourquoi ne pas tenter des recherches de ce côté-là. Suivant la distance entre deux stations (Navire/Terre – Navire/Navire – Terre/Navire), les moyens de communications clairs ou chiffrés utilisés ne sont pas les mêmes.

Tout le monde a déjà entendu parler des communications par Satellite mais il existe d’autres moyens.

Deux stations proches (à portée d’horizon) peuvent par exemple utiliser des moyens de communications passant par des ondes directes (VHF-UHF) alors que des stations éloignées privilégieront la gamme HF (Haute Fréquence – 3 / 30 Mhz). En effet, suivant la propagation, cette dernière permet d’envoyer des messages sur des distances considérables (des milliers de kilomètres).

L’utilisation de cette gamme de fréquence reste incontournable pour les services maritimes et aériens notamment pour garantir la sécurité des liaisons océaniques, pour les liaisons fixes ou mobiles dans des zones sans infrastructure, ou en secours, en cas de catastrophe naturelle ou pour le trafic militaire. (Merci Wikipédia).

Info : saviez-vous que certains mails à destination de navires transitent par la gamme HF via un système nommé SAILMAIL. (https://sailmail.com/)

La Marine russe

La Marine russe est une des dernières de la flotte mondiale à encore utiliser la télégraphie Les matériels modernes coûtent chers et sont compliqués à entretenir alors que les systèmes de communications traditionnels comme la télégraphie font encore leur preuve.

Qui plus est, ils ont de nombreux avantages : fiabilité, simplicité d’utilisation, résistance au bruit …

OSINT et le monde des radios amateurs.

  • En Osint de nombreux passionnés veillent et « écoutent » ce qu’il se passe sur le web, sur les réseaux sociaux …
  • Chez les radioamateurs, il y a autant de passionnés qui écoutent ce qu’il se passe sur les ondes radioélectriques.

Ces passionnés (SWL : Short Wave Listener) écoutent les différentes transmissions transitant par ces ondes au moyen de simple récepteurs radio et d’antennes (appropriés à la bande de fréquence écoutée).

Les radioamateurs suivent les navires de la Marine russe depuis des décennies! Ils se sont concertés, ont croisés leurs interceptions et ont ainsi réussi à faire correspondre un grand nombre d’indicatifs à des noms de navires. Alors pourquoi ne pas n’essayer de trouver l’indicatif d’appel de ce navire ?

Pour communiquer, deux stations utilisent des identifiants qui sont appelés « indicatif ».

Donc sur Google, et sans trop se prendre la tête, à l’aide d’un googledork, on peut trouver ceci :

Nous obtenons ici, un résultat plus que prometteur! (Merci F5BJR!!!)

Nous avons donc, semble-t-il l’indicatif d’appel télégraphique de ce navire. Continuons notre investigation avec la requête suivante sur Google :

Cela nous confirme que nous sommes sur la bonne voie!

Une dernière requête sur notre moteur de recherche ; « rjs81 » + « russian navy » nous amène sur

En cherchant sur Log avril 2020 – passion-swl, nous arrivons sur ce qui semble être très intéressant mais sous forme codée. Heureusement, l’auteur a eu la bonne idée de mettre la position décodée sur Google maps.

La réponse à notre recherche :

12464.00 RJS81 : Russian Navy SHIP 1200z CW RJS81 Wkg RIW (QSO and QTC SML FOR RJH45 RJD38 = 14121 99569 10078 41/98 73214 10057 40186 57013 70220 8//// 2212 200140 14012 = = AR RJS81 K – LOCATION : https://goo.gl/maps/SQmfaMC5E15NVtw47) in Duplex – Qsx on 9145 14-APRIL-20 (F5JBR)

Aller plus loin

Depuis de nombreuses années certains des bâtiments de la Marine Russe transmettent à leur QG via la télégraphie (Code Morse) les conditions météorologiques qu’ils rencontrent en mer sous forme de messages « codés ».

Un autre Exemple (comme cela vous pourrez vous exercez à trouver la position, la route et la vitesse du PM-82):

RMFE Wkg RMP (QSO and QTC SML 363 16 14 0900 363 = FOR RJH45 RJD38 = 14061 99576 10108 44598 53506 10067 40150 52010 70311 85500 22232 00050 20201 14013 = AR RMFE K

Ce type de message a une structure connue et nous permet en le décodant d’obtenir la position du navire.

Comment obtenir ce résultat depuis le message codé ?

Suivez le guide. (Seules les parties nous intéressant seront explicitées. Pour de plus amples informations voir ici.)

RMFE = l’indicatif du navire qui transmet le message (l’identifiant « en ligne » du bâtiment)

14 = date 14 avril 2020

0900 = heure de rédaction du message

99576 10108 = position du navire … pour décoder cette partie, on fait comme ça :

1) La position actuelle du navire est codée de la façon suivante:
… 99LaLaLaQcLoLoLoLo

… 99576 10108 … Kézako?

  • 99 Annonce position navire
  • LaLaLa (576) Latitude en degrés et dixièmes de degré. Toujours codé avec trois chiffres, les deux premiers chiffres sont des degrés réels, le dernier chiffre pour les dixièmes de degré (57.6 donc 57.36)Qc (10) Quadrant du globe (spécifiez si la latitude est nord ou sud et la longitude est ou ouest). 

Si le navire est au nord de l’équateur (latitude nord):

– 1 à l’est du méridien de Greenwich (longitude est)

– 7 à l’ouest du méridien de Greenwich (longitude ouest)

Si le navire est au sud de l’équateur (latitude sud):

– 3 à l’est du méridien de Greenwich (longitude est)

– 5 à l’ouest du méridien de Greenwich (longitude ouest)

Si vous me suivez … passons à la longitude.

  • LoLoLoLo (108) Longitude en degrés et dixièmes de degré. Toujours codé avec quatre chiffres, avec le premier chiffre (des centaines) codé comme 0 ou 1. Les trois premiers chiffres sont des degrés réels, le dernier chiffre pour les dixièmes de degré (10,8 donc 10,48)

 les données de route et de vitesse des navires sont codées de la façon suivante:
… 222
DsVs

… 22232

  • 222 indicateur
  • Ds (3) cap vrai du navire pendant les trois heures précédant l’heure d’observation :
  • Vs (2) Vitesse moyenne du navire, en nœuds, au cours des trois heures précédant l’heure d’observation :
  • 0 0 nœud
DsVs
0  immobile0 0 nœud
1 NE1 1 à 5 nœuds
2 E2 6 à 10 nœuds
3 SE3 11 à 15 nœuds
4 S4 16 à 20 nœuds
5 SW5 21 à 25 noeuds
6 W6 26 à 30 noeuds
7 NW7 31 à 35 noeuds
8 N8 36 à 40 noeuds
9 Inconnu9 Plus de 40 noeuds
/ Non rapporté/ Non rapporté

Donc notre navire RMFE est situé au 57.36N 10.48 E en route au sud Est pour une vitesse de 6 à 10 Nœuds.

Et voilà pas si compliqué 😉.

Quelques sources d’intérêt « Sigint ».

Pour le suivi des communications RADIO :

ENIGMA2000 http://www.signalshed.com/ et leur newsletter http://www.signalshed.com/nletter05.html

NumberStations https://www.numbers-stations.com/ ou sur https://twitter.com/Spy_Stations

Priyom : http://priyom.org/

L’union international des radioamateurs https://www.iaru-r1.org/ et spécialement leur newsletter https://www.iaru-r1.org/spectrum/monitoring-system/iarums-r1-newsletters/ qui fait la part belle à la chasse aux « intruders » sur les bandes de fréquences réservées aux radioamateurs.

Pour la connaissance et le suivi des signaux électromagnétiques :

https://www.sigidwiki.com/wiki/Signal_Identification_Guide

Pour le suivi des forces (gouvernement / armée / police) et des fréquences radio HF

(documents un peu anciens mais très instructif)

Udxf : http://udxf.nl/ute-info.html

Signé : Gimli

Récupérer des fichiers pdf en masse sur Archive.org

Récupérer des fichiers pdf en masse sur Archive.org

Le site d’archivage du web bien connu Archive.org ne stocke pas seulement les versions des sites internet qu’il scrute. Il collecte et indexe également les fichiers déposés sur ces serveurs, et notamment les fichiers pdf. Dans le cadre d’une recherche OSINT, il peut être intéressant de les récupérer pour une exploitation ultérieure. Toutefois cette opération n’est pas triviale à réaliser. Certes, il existe quelques outils de scraping disponibles sur Github tels que wayback-machine-downloader, ou waybackpack, mais le rendu est très aléatoire et il vous faudra alors télécharger l’intégralité des archives et des fichiers dont au fond, vous n’avez pas besoin.

La liste des fichiers disponibles pour un site internet se récupère en ajoutant /* à la fin de l’URL d’archive.org. Ainsi, pour le site d’un célèbre industriel de l’optique français, on peut visualiser le résultat ainsi :

 https://web.archive.org/web/*/https://e***lor.fr/*

Au bout de quelques secondes, vous devriez voir apparaître cette liste dans un tableau filtrable, et en entrant pdf à droite, une liste de 68 documents référencés « pdf » devrait se matérialiser. (Merci Henk pour cette astuce!)

Capture d'écran d'une recherche sur Archive.org

A ce stade, il est possible de remarquer trois choses importantes :

  • Le filtrage est instantané, ce qui laisse supposer que la liste complète des URLs est déjà chargée dans le navigateur et le filtre se fait sans doute par un petit morceau de javacript qui agit uniquement sur l’affichage
  • Le filtre s’applique à la fois sur le titre et à la fois sur le type de fichiers, mais n’est pas très intelligent. Ainsi un fichier dfdfgfdgfgdPDFhjkjhkjh.exe sera sans doute considéré comme un pdf. Le nombre de fichiers final réel obtenu sera sans doute inférieur…
  • Les URLs présentées dans le tableau sont celles du site internet d’origine mais lorsqu’on passe la souris au-dessus du nom de fichier, on constate que le site archive.org ajoute son propre préfixe. Ainsi http[:]//www.nomdorigine.fr/blablabla.pdf devient https[:]//web.archive.org/web/*/http[:]//www.nomdorigine.fr/blablabla.pdf.

Pour un site internet référençant une cinquantaine de documents, il est sans doute humainement faisable de cliquer sur ces liens manuellement, mais récemment, Henk Van Ess a sollicité notre aide pour collecter beaucoup de documents ainsi archivés. Voici la méthodologie que nous avons employé pour résoudre rapidement ce problème sans trop abuser de code, avec les outils dont nous disposons, et en cherchant surtout à comprendre le mode d’archivage et d’accès à ces fichiers.

Idées en vrac, concept et première étape

Il est assez aisé à l’aide d’une simple ligne de commande sous Linux ou Mac (et sans doute sous windows), de télécharger une par une le contenu d’une liste d’URLs, à l’aide de la commande curl. La commande suivante, trouvée sur une simple recherche google, par exemple, fonctionnera très bien.

cat urls.txt | xargs curl -O

Encore faut-il confectionner cette liste d’URLs sur la base de ce que nous obtenons sur Archive.org…

Pour ce faire, nous allons utiliser les Outils de Développement de Firefox, et plus particulièrement l’outil réseau (CRTL+MAJ+E). Rechargeons la page qui nous intéresse une fois l’outil ouvert et regardons les appels et réponses réseau d’Archive.org.

Outil de capture réseau openfacto

Une requête GET, à gauche attire l’attention car elle, ou plutôt sa réponse, est assez volumineuse, et son résultat à droite se présente comme un fichier json, contenant les informations qui nous intéressent, dans un format façon tableau… Précisément ce que l’on cherche!

En cliquant bouton-droit sur cette requête, nous pouvons la copier « comme cURL« . Elle devrait ressembler à cela :

curl 'https://web.archive.org/web/timemap/?url=https%3A%2F%2XXXXXXXXXXXXX.fr%2F&matchType=prefix&collapse=urlkey&output=json&fl=original%2Cmimetype%2Ctimestamp%2Cendtimestamp%2Cgroupcount%2Cuniqcount&filter=!statuscode%3A%5B45%5D..&limit=100000&_=1587306861252' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0' -H 'Accept: application/json, text/javascript, /; q=0.01' -H 'Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H 'X-Requested-With: XMLHttpRequest' -H 'Referer: https://web.archive.org/web//https://XXXXXX.fr/' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Cookie: AMCV_164E38XXXXXX490D4C%40AdobeOrg=283337926%7CMCIDTS%7C18102%7CMCMID%7C77968272189954300089117009554471977435%7CMCAID%7CNONE; TC_PRIVACY=0@004@ALL; TC_PRIVACY_CENTER=ALL; TCPID=120161141189615912963; _ga=GA1.2.513757518.1580664249; didomi_token=eyJ1c2VyX2lkIjoiMTcxNjM5ZDMtMDZmYS02YTMyLTk5NjktMTg5ZWIwY2U4YTIxIiwiY3JlYXRlZCI6IjIwMjAtMDQtMTBUMTA6MjI6NTguMzg3WiIsInVwZGF0ZWQiOiIyMDIwLTA0LTEwVDEwOjIyOjU4LjM5MFoiLCJ2ZW5kb3JzIjp7ImVuYWJsZWQiOltdLCJkaXNhYmxlZCI6W119LCJwdXJwb3NlcyI6eyJlbmFibGVkIjpbXSwiZGlzYWJsZWQiOltdfX0=; kameleoonVisitorCode=_js_ktp4lh5rbmhpipze; _ga=GA1.3.513757518.1580664249; __gads=ID=0aa53a95ef3fef38:T=1586714223:S=ALNI_MZsG0jStcyGTwcb55eVAk8XPvaVkw; amplitude_id_78b8350dea58b176a6bc95ccdb8db850archive.org=eyJkZXZpY2VJZCI6IjA1OWYxODY1LTJmNmYtNGIwMC1iNjUxLWU2NDQ4NDQ1MjkxYlIiLCJ1c2VySWQiOm51bGwsIm9wdE91dCI6ZmFsc2UsInNlc3Npb25JZCI6MTU4NjcxNDUzMTc0MiwibGFzdEV2ZW50VGltZSI6MTU4NjcxNDU1MDcwNCwiZXZlbnRJZCI6MCwiaWRlbnRpZnlJZCI6MSwic2VxdWVuY2VOdW1iZXIiOjF9; amplitude_unsent_78b8350dea58b176a6bc95ccdb8db850=%5B%5D; amplitude_unsent_identify_78b8350dea58b176a6bc95ccdb8db850=%5B%5D; algoliasearch-client-js=%7B%7D; at-rand=0.9707995413033423; __atuvc=3%7C16; at-lojson-cache-ra-5586a3457d766230=%7B%22pc%22%3A%22esb%22%2C%22subscription%22%3A%7B%22active%22%3Atrue%2C%22edition%22%3A%22BASIC%22%2C%22tier%22%3A%22basic%22%2C%22reducedBranding%22%3Afalse%2C%22insightsEnabled%22%3Afalse%7D%2C%22customMessageTemplates%22%3A%5B%5D%2C%22config%22%3A%7B%22_default%22%3A%7B%22widgets%22%3A%7B%22esb%22%3A%7B%22hideEmailSharingConfirmation%22%3Atrue%2C%22numPreferredServices%22%3A5%2C%22widgetId%22%3A%2271xk%22%2C%22creationTimestamp%22%3A1508587749775%2C%22hideDevice%22%3A%22none%22%2C%22position%22%3A%22bottom-right%22%2C%22services%22%3A%22facebook%2Ctwitter%2Cemail%2Cpinterest_share%2Caddthis%22%2C%22id%22%3A%22esb%22%2C%22__hideOnHomepage%22%3Afalse%2C%22toolName%22%3A%22Expanding%22%2C%22hideLabel%22%3Atrue%7D%7D%7D%7D%2C%22perConfig%22%3A%7B%7D%7D; google_pem_mod=788; google_experiment_mod30=724; google_experiment_mod13=321; google_experiment_mod26=662; google_experiment_mod29=688; google_experiment_mod31=899; google_experiment_mod7=758; google_experiment_mod12=128; google_experiment_mod21=103; google_experiment_mod6=780; google_experiment_mod5=482; __utma=268623735.1524382272.1586869540.1586869540.1586869540.1; __utmz=268623735.1586869540.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __unam=210261-17178cb9531-8f7567f-3' -H 'TE: Trailers'

Il est possible dans un terminal de rejouer cette requête et de rediriger le résultat vers un fichier json ou txt en collant cette commande et en ajoutant > listing.json à la suite, puis en tapant sur entrée.

A ce stade, nous avons utilisé les outils de développement web de Firefox pour :

  • analyser le mode de fonctionnement du site
  • repérer la bonne requête pour collecter notre donnée
  • rejouer cette requête et exporter ce résultat au format texte dans un terminal.

Nous disposons maintenant d’un fichier contenant nos URLs, la date de première indexation, la date de dernière indexation, et le type de fichiers. Nous allons nettoyer et enrichir ce fichier à l’aide d’OpenRefine.


Nous allons voir que le parcours n’est pas exempt d’embûches!!!

Openrefine à la rescousse….

OpenRefine permet d’ouvrir facilement un fichier json pour le convertir visuellement en un fichier tabulaire (excel, csv…). Mauvaise surprise, le fichier n’est pas correctement interprété : il n’est pas dans un format json correct!

Ce n’est pas important, car OpenRefine permet de l’interpréter comme un fichier CSV. En quelques clics et transformations, on obtient un joli tableau comme ceci :

Nota : l’objet de cet article n’est pas l’utilisation avancée OpenRefine, c’est pourquoi nous ne nous étendrons pas sur ces premières transformations. L’objectif est juste d’arriver à un fichier texte utilisable.

Nous avons ici un total de 5.766 URLS, mais en filtrant les pdf sur les deux premières colonnes, on obtient en réalité 68 résultats, ce qui est le résultat attendu :

Nous observons cependant ici une nouvelle fois que l’URL du document est toujours celle du site d’origine, nous allons donc ajouter le préfixe d’archive.org à celle-ci, par concaténation.

On pourrait croire que c’est gagné et que nous avons désormais un listing utilisable. Il n’en est rien…

En effet, pour ce type d’URLs, il existe trois possibilités :

  • Le fichier n’est indexé qu’une fois par Archive.org, et dans ce cas un clic sur ce lien aboutira effectivement au document.
  • Le fichier est indexé plusieurs fois et dans ce cas, le lien abouti à un calendrier de choix, ce qui empêche le téléchargement immédiat du document.
  • Dans ce deuxième cas, le document pdf peut être inclus dans une page et ne pas être téléchargeable au premier clic.

Pour parer aux deux premières problématiques, nous allons forcer notre URL à prendre la première version disponible (ou la dernière selon votre goût).
En effet, l’observation de l’URL correctement téléchargeable d’un document montre que le timestamp vient prendre la place de l’étoile dans l’URL.

https://web.archive.org/web/20150416062130/http://www.XXXXXX.fr/_pdf/Bilan_emissions_GES2011_XXXX_France.pdf

Il nous reste une dernière étape….

En analysant le code source d’une des pages, nous nous sommes rendus compte que, parfois, l’URL ne menait pas directement au document, mais à une page contenant ce document

Dans ce cas, l’URL contient une petite subtilité : le timestamp doit être suivi de « if_ » pour être pleinement effectif!!!

Nous y sommes! Nous disposons désormais d’une liste d’URLS parfaitement fonctionnelles menant directement à nos PDFs!!!

Quelques recommandations importantes!

Vous le voyez, en restant méthodique et en utilisant les outils que nous avons à disposition, il est possible de collecter assez rapidement des fichiers disponibles en sources ouvertes sur archive.org :

  • en analysant le contenu des échanges entre votre navigateur et le le serveur d’Archive.org pour récupérer une liste d’URLs
  • en analysant finement les URLs et le mode de fonctionnement du site Archive
  • en appliquant et en répliquant ces informations à notre fichier source

    Une fois votre fichier d’URLs constitué, vous pouvez vous lancer dans le téléchargement.

    Mais soyez raisonnables!
  • Inutile de surcharger Archive.org de requêtes massives. Prévoyez une temporisation aléatoire de deux à cinq secondes entre chaque requête
  • découpez éventuellement votre fichier en plusieurs morceaux et répartissez vos téléchargements de manière respectueuse
  • Utilisez éventuellement un logiciel comme JDownloader, qui vous permettra de régler plus finement vos limites de téléchargement.

Dernier conseil : Ne téléchargez JAMAIS ces fichiers directement sur le site original

PYTHON – Edition du 21 avril 2020

En suivant ce tutoriel, l’ami Yann Guégan a écrit un script python qui fait tout automatiquement.
Le script est téléchargeable ici.

Trace Labs, CTF et tatouages

Trace Labs, CTF et tatouages


Samedi 11 avril 2020, 23h59.  Plus qu’une minute avant le début des recherches...

Si la gamification est un concept qui touche de plus en plus de domaines, c’est peut-être ici une des meilleures applications qui en découle. Dans moins de 60 secondes s’apprêtait à se tenir la quatrième édition du CTF (Capture The Flag) organisé par Trace Labs, une organisation visant à récolter un grand nombre d’informations sur des personnes disparues par le biais d’évènements comme celui-ci. 

Plateforme du CTF (source : vidéo de présentation de Trace Labs)

Une quinzaines de profils sont déposés sur la plateforme dédiée, donnant les informations de bases sur les disparus : nom, prénom, âge, date de naissance, taille, poids, date à laquelle la personne a été vue pour la dernière fois, et parfois des détails concernant sa disparition, comme les personnes avec qui elle est suspectée se trouver. De là, les participants ont 6 heures (de minuit à 6h du matin en France, horaires américains obligent) pour réunir un maximum d’informations sur ces profils, toutes accessibles exclusivement en sources ouvertes. Pas de prise de contact possible avec les membres de la famille et amis ; pas de hack ; pas de récupération d’informations via des sites de médias, légaux, ou en lien direct avec la disparition de la personne (faciles à trouver et pas de valeur ajoutée).

Les données récoltées sont ensuite déposées sur la plateforme du CTF, qui permet d’attribuer des points suivant le contenu : informations sur les amis, 10 points ; informations sur la famille, 20 points ; réseaux sociaux du sujet, 50 points ; détails sur le jour de sa disparition, 500 points ; données trouvées sur le Dark Web, 1000 points, etc. . 

Si la conversion « données sur une vie humaine/points » surprend de prime abord, on comprend vite que le but derrière n’est pas de prendre à la légères ces vies. Il s’agit simplement de donner une dynamique aux recherches, motivées non seulement par la volonté de contribuer à un projet utile et de grande ampleur, mais aussi de trouver un maximum d’informations en un temps limité avec la volonté de se dépasser soi-même – et les autres – où chaque nouveau point gagné s’accompagne d’une montée d’adrénaline propre aux CTFs. Qui dit performance, dit plus de données de récoltées, dit plus de chances de retrouver les sujets disparus.

C’est  dans ce contexte que l’équipe d’OpenFacto a pris part à son premier CTF un dimanche matin en pleine période de confinement. 

Au cours de leurs recherches, un des membres de l’équipe s’est notamment heurté à une problématique à laquelle il n’avait pas l’habitude de se confronter : une des jeunes personnes dont il étudiait le profil présentait un tatouage dans le cou. Que faire du motif inscrit sur sa peau ?  Etait-il possible de faire le lien entre la disparue et une organisation quelconque ?

De l’identification des tatouages

Dans le cas étudié ici, un tatouage est visible dans le cou côté gauche du sujet. On peut observer le nombre « 112 » à l’encre noire, et ce qui pourrait apparaître comme le caractère ‘%’.

Photo floutée et retouchée de la personne portant le tatouage

Un tatouage pour les identifier tous


Si l’identité de la personne est connue dans le cas présent, lorsque l’on ne dispose que d’informations limitées sur un individu (ex : son physique), les tatouages font parti des signes distinctifs permettant d’aiguiller, parfois de manière significative, une enquête. On peut prendre ici l’exemple cité par Katelyn Bowden, fondatrice de la Badass Army qui se donne pour mission de lutter contre le revenge porn, narrant une de ses « premières expériences d’OSINT »  sur le podcast de la conférence d’OSINT et SE Layer 8.

Suite au vol de son sac à main par un homme portant un tatouage de mitrailleuse au visage, et du fait du manque de réactivité des autorités locales, elle décide de chercher par elle-même le malfaiteur. Pour ce faire, elle poste un message sur le groupe Facebook local de la ville. Toute l’astuce dans sa démarche est de ne pas avoir demandé de manière frontale si des gens connaissaient l’homme au visage tatoué. Au contraire, elle a pris le parti de simplement poster un message se lamentant des choix pathétiques de certaines personnes concernant le motif de leurs tatouages. Elle a ensuite demandé aux autres habitants si eux aussi avaient leurs propres exemples. Le commérage étant une activité particulièrement appréciée dans les petites communautés, Katelyn a rapidement reçu la réponse qu’elle attendait : une femme mentionnant le tatouage en forme de mitrailleuse sur le visage de son neveu. L’expérience décrite ici s’inscrit bien dans une démarche de récolte d’informations en source ouverte : le débat a certes été lancé par la victime du vol, mais l’agrégation de données s’est faite de manière passive, les gens postant d’eux-mêmes leurs messages sans qu’il n’y ait besoin de leur soutirer de manière active l’information.

Ce qu’il faut en retenir – outre le fait, comme le fait remarquer Katelyn, qu’un tatouage de mitrailleuse sur le visage n’est pas le meilleur moyen de rester discret – c’est que les tatouages sont clairement des signes distinctifs à prendre en compte dans une investigation. En plus de pouvoir plus facilement repérer la personne sur d’autres photos, ce détail permet, s’il est particulièrement original, d’identifier la personne – à condition de s’adresser à une communauté qui le connaît.


Des tatouages pour… en regrouper certains


C’est d’ailleurs aux communautés auxquelles nous allons nous intéresser dans cette partie. Suite aux interrogations concernant le tatouage cervical, un autre membre de l’équipe a rapidement aiguillé vers une page de l’ADL, Anti-Defamation League. Spécialisée dans les symboles utilisés par les suprémacistes blancs et autres hate groups, cette base de données regroupe ces symboles par catégorie (slogans, nombres, symboles neo-nazis, etc.), accompagnant parfois ces informations de photos illustratives. Constituée sous la forme d’un site disposant de filtres, cette page est particulièrement pratique pour la recherche de symboles très utilisés par ces groupes. A cela peut s’ajouter d’autres ressources, moins pratiques à utiliser car sous format PDF, mais qui ont le mérite de compléter la liste proposée par ADL. Le site de Public Intelligence met ainsi à disposition des documents publiés par diverses autorités américaines (et canadienne), certains portant sur les listes de tatouages surveillés par ces autorités. On trouve notamment :

Il est important toutefois de bien garder à l’esprit que ce genre de tatouage n’indique pas nécessairement l’appartenance d’une personne à un groupe quelconque à l’instant présent (cf. article de l’EFF, Electronic Frontier Foundation, au sujet de l’utilisation des tatouages en vue de l’identification d’un individu et de ses croyances/attachement à une organisation).

On notera au passage que si la culture populaire aurait tendance à associer les tatouages aux bandes criminelles organisées japonaises, les yakuzas, le port de tatouages n’a pas la même symbolique que dans des pays comme les États-Unis, le Mexique, etc.. Traditionnellement, les yakuzas n’ont pas de « tatouages de gangs » à proprement parler, il s’agit plus de la transcription d’expériences de vie à même la peau, comme l’explique un tatoueur interviewé par la BBC. L’article donne l’exemple d’un de ses contacts qui, ayant rencontré un certain nombre de difficultés dans sa jeunesse, a reçu un tatouage de carpe koï remontant le courant, témoignant de sa volonté et sa force à surmonter l’adversité. Ainsi, si les yakuzas avaient pour usage de se rencontrer dans les bains publics, ce n’était pas seulement pour s’assurer qu’aucun ne portait une arme sur lui – difficile de cacher une arme lorsqu’on ne porte pas de vêtements. Cela permettait également aux autres membres de voir les tatouages de chacun afin de se faire une idée de la personne qu’ils avaient face à eux. En bref : si les tatouages sur le sujet étudié vous donnent le sentiment qu’ils sont liés aux yakuzas, il s’agit de chercher la signification qui en découle plus que l’attachement à un gang particulier.

Retour sur le cas étudié


Via le site ADL, on peut voir que la chaîne de caractères « 112% » est affiliée à un motif suprémaciste blanc. Le « 100% » signifierait alors « 100% blanc », et le 12 correspondrait aux lettres « AB » comme « Aryan Brotherhood« . Cet élément a été soumis et accepté par les juges Trace Labs.

Retour d’expérience et conclusion

6h de recherches et quelques cannettes de boisson énergisante plus tard, l’équipe terminait 42ème sur 174 équipes, avec 56 soumissions de données.

Scoreboard final

Des enseignements les plus généraux que nos investigateurs ont pu tirer de cette expérience, il y a tout d’abord l’apprentissage de la gestion du bruit. En effet, si trouver des informations lorsque le sujet semble ne pas avoir de présence sur les réseaux sociaux s’avère ardue, évoluer dans un brouhaha de données l’est tout autant. Dans le cadre du CTF où les analyses portaient sur des personnes disparues, plusieurs profils nécessitaient en premier lieu de faire la part entre les comptes associés à la *disparition de la personne* et les comptes associés à la personne *elle-même*. A défaut de proposer une méthode pour écarter automatiquement ces comptes des recherches, l’équipe recommande de garder à l’esprit que certains comptes seront créés spécifiquement pour chercher la personne disparue. Si les commentaires sur ces comptes peuvent être regardés, une grande majorité ne sera que des expressions de compassion plus que des éléments utiles pour avancer dans l’enquête.

L’autre leçon à retenir s’est dévoilée en fin de parcours, quand la fatigue commençait à se faire sentir…


– J’ai trouvé ! J’ai trouvé son profil Linkedin, s’écria l’un des membres.
– Sérieux ? Bien joué, j’ai pas du tout eu le réflexe de chercher. En même temps, pour une jeune de 16 ans…
– Comment ça 16 ans ? Non, non, vu sa tête, elle a la trentaine bien tassée.
– Ah ? Pourtant sur sa fiche c’est noté 16 ans…


Même nom, même prénom, les deux photos représentant une femme typée hispanique… mais pas la même personne.
Le biais de confirmation, qui consiste à privilégier les informations qui nous confortent dans nos hypothèses, a été expérimenté par l’équipe ce soir-là. Rien de critique, puisque la confrontation des avis a permis de se dégager rapidement de ce biais cognitif. Il s’agit donc ici de se souvenir de l’importance de prendre du recul par rapport à ses recherches, soit en *adoptant* soi-même un autre point de vue, soit en *demandant* à une tierce personne son point de vue.


Enfin, concernant le CTF à proprement parler, les retours d’expériences principaux sont les suivants :

  • il semblerait que la réponse de base en cas de refus d’une donnée par les juges soit « manque de contexte« . L’équipe a interprété ce message comme étant signe que l’information n’était pas intéressante en soit, et pas nécessairement comme un élément à prendre au pied de la lettre – qui impliquerait la « recherche de plus de contexte » pour l’information considérée ;
  • bien penser à préparer son matériel avant le CTF, ce qui inclut notamment :
    • création de comptes dédiés (mails, Linkedin, Twitter, Facebook, TikTok, etc.) ;
    • environnement de travail dédié (VM, navigateur nettoyé des 1500 onglets ouverts en permanence le reste du temps, etc.) ;
    • outils et plugins fonctionnels sur l’environnement de travail ;
    • avoir sous la main des sites spécifiques aux US (@technisette propose sur sa page start-me un certain nombre de bases de données et moteurs de recherches dédiés à chaque pays) ;
  • bien communiquer avec le reste de l’équipe, et ne pas hésiter à être à deux sur un même sujet, afin de permettre un « jeu de ping-pong d’informations » ;
  • suivant ce à quoi l’investigateur carbure : prévoir plus de Guinness au frais, mais moins de boisson énergisante;
  • si le sujet reste moralement lourd (recherche de personnes disparues), l’aspect ludique choisi par Trace Labs permet de mettre cet aspect de côté pour se dédier entièrement aux recherches. L’expérience est enrichissante, et permet même aux novices de s’entraîner sur des cas réels, allant un peu plus loin dans leur formation OSINT. On peut mentionner à ce titre, moins « gamifié » mais également accessible à tous, la plateforme d’Europol « Stop child abuse – Trace an object », qui propose de chercher des informations sur des objets (vêtements, détails de décors) afin d’aider à faire avancer les enquêtes visant à retrouver à la fois les enfants abusés mais aussi les criminels.

Dimanche 12 avril, 6h01. Les membres de l’équipes se déconnectèrent un à un en vue d’aller trouver le repos après ces quelques heures de recherches intensives. Fatigués mais satisfaits de cette expérience, ils étaient unanimes quant à un objectif  : participer au prochain CTF de Trace Labs, en vue de récolter encore plus d’informations et contribuer à l’effort collectif  – et international – investi dans ces campagnes de recherches.

Merci à Mélanie d’avoir pointé à l’auteure le site de Public Intelligence qui s’est avéré bien utile pour la rédaction de cet article.

Syrian Telecom : portail gouvernemental et attaques informatiques…

Syrian Telecom : portail gouvernemental et attaques informatiques…

Dans l’article OpenFacto du 25 mars 2020 sur le télétravail, nous présentions le principe global de fonctionnement de l’outil Shodan, qui est de nouveau au cœur du présent article. Ici, toujours sur Shodan, et grâce à la combinaison de quelques filtres de recherche, nous avons découvert que le même fournisseur d’accès Syrien héberge à la fois le portail officiel du gouvernement et des services susceptibles d’être dédiés à des attaques informatiques…
Voici comment.

Shodan : filtres de recherche et résultats

En utilisant la syntaxe suivante, Shodan nous permet de filtrer les résultats de recherche par pays :

country:codepays

Pour chaque pays, on va utiliser un code de deux lettres, dont la liste est disponible ici. Ainsi, pour la Syrie, on obtient les résultats suivants :

Shodan permet également la combinaison de filtres pour préciser un peu cette recherche par port

country:SY port:22

Le port 22 est traditionnellement utilisé par le protocole SSH, un outil qui facilite les connexions sécurisées entre deux systèmes, en autorisant la prise en main à distance. Vous comprenez donc que la requête ci-dessus permet de lister les services SSH découverts en Syrie, qui sont en nombre beaucoup moins conséquent :

En regardant de plus près les résultats de recherche ci-dessus, on constate que deux d’entre eux sont étiquetés comme « scanner » (à gauche) :

Lorsqu’une adresse IP trouvée par Shodan comporte une telle étiquette, elle est accompagnée de la mention : « This IP has been observed scanning the Internet. » Cela signifie que les services hébergés par cette adresse IP parcourent l’intégralité du web à la recherche de machines vulnérables, et ce dans le but possible de procéder à des attaques informatiques.

Exploration du sous-réseau

Les deux adresses IP trouvées ci-dessus font partie du même réseau /24, à savoir :

  • a.b.c.x
  • a.b.c.y

Dans shodan, un autre filtre de recherche permet de lister toutes les adresses IP trouvées sur un même sous-réseau :

net:a.b.c.0/24

Parmi les résultats de recherche, on trouve la machine suivante, hébergée par Syrian Telecom comme toutes les autres machines du même sous réseau /24 :

Exploration sécurisée d’URLs

Dans la capture d’écran précédente, l’icône suivante permet d’accéder directement à l’URL trouvée par Shodan, non plus via https://www.monadresse.com mais http://monadresseIP:monport :

En faisant un clic droit sur l’icône, on va sélectionner « Copier l’adresse du lien » et la renseigner dans le moteur de recherches du site urlscan.io.

urlscan.io est un scanner d’URL qui permet d’obtenir des informations sur des sites web potentiellement frauduleux, et qui fournit en sortie une capture d’écran des pages capturées. Plus précisément, dans le cas qui nous concerne, cet outil permet de parcourir des sites web à notre place, sans laisser de trace(s) d’accès ni risquer une éventuelle infection.

On constate alors que le site web trouvé par Shodan est le portail officiel du gouvernement Syrien :

Corroboration des résultats trouvés

Lorsque les administrateurs système d’équipements informatiques constatent des requêtes suspectes venant d’adresses IP, ils ont à leur disposition des moteurs de listes noires. Sur ces outils, ils peuvent à la fois renseigner le détail des requêtes suspectes reçues, et rechercher si les adresses IPs en question n’ont pas déjà été la source d’autres requêtes frauduleuses.

Ainsi, sur abuseipdb.com, on remarque que huit adresses IP sur ce range sont signalées :

Parmi celles-ci, une des deux adresses a déjà été mentionnée plus de 600 fois depuis le début de l’année 2020, et est toujours en activité :

Même chose pour la seconde adresse IP, mentionnée plus de 400 fois depuis Décembre 2019, et elle aussi, toujours en activité :

Pour l’anecdote, on notera que durant la rédaction de cet article, le compteur de ces signalements d’abus a continué à tourner!….

Pour aller plus loin

Le dernier rapport d’activité de Syrian Telecom accessible en ligne date de… 2011, conflit oblige.
Mais cet opérateur de télécommunication, très lié au régime syrien (Le chef de l’Etat en est le président…) mène depuis longtemps des activités « agressives » sur et depuis son réseau :

  • sur son territoire pour la surveillance des communications du pays (il est intimement lié à l’affaire Qosmos, par exemple entre 2009 et 2011. Lire à ce sujet les articles de Mediapart et de reflets.info)
  • A l’international, avec au moins deux détournements de trafic (BGP Hijack) identifiés en 2014 et en 2015 par exemple…

Pour autant, il convient d’être particulièrement prudent quant à l’interprétation des résultats des observations ci-dessus et de préciser que l’attribution formelle à l’opérateur des scans opérés par la machine syrienne est impossible à faire sur la base de ces quelques éléments.

En effet, la machine observée ci-dessus, par exemple, fait tourner un certain nombre de services (serveur ftp, web, etc…) qui s’ils apparaissent assez légitimes, n’en sont pas moins obsolètes dans leurs versions déployées et particulièrement sensibles aux vulnérabilités (CVE).
L’hypothèse d’une compromission de ce serveur par un ou plusieurs autres attaquants, nationaux ou internationaux, dans le but de masquer leur(s) réelle(s) origine(s), est ainsi tout à fait envisageable.

Outils

Pour réaliser ces recherches, nous utilisons les services de Shodan. L’accès à l’application est gratuite pour quelques recherches élémentaires mais payante pour des recherches plus approfondies. Les tarifs peuvent être un peu prohibitifs pour les particuliers mais sachez qu’en général, il y a toujours quelques promotions pour le Black Friday par exemple.

Il est également possible d’utiliser Censys.io ou encore l’application française Onyphe

Ajout du 5 avril 2020 : @Mbahal nous recommande également le site internet greynoise.io