J’ai eu la chance de participer avec mon équipe au TRACS (Tournoi de Renseignement et d’Analyse de CentraleSupélec) édition 2023 qui se déroulait à CentraleSupélec le samedi 2 décembre. Sous le club GCC de l’ENSIBS, notre équipe [GCC] Abracadabrhack a terminé 15ème sur 87 équipes.
Je vais ici présenter mon Write-Up du challenge d’OSINT (Open Source Intelligence) Joe-lier dont j’ai eu la charge durant le CTF.
Merci à mes coéquipiers Nathan Dunand, Matthieu Breuil, Paul Guennec et Victor Blanchard et merci à CentraleSupélec, ViaRézo et la DGSE (Direction générale de la Sécurité extérieure) pour l’événement.
Le challenge Joe-lier
Ce challenge avait pour but de rassembler des informations sur une personne fictive. Ces informations devaient pouvoir nous aider à exfiltrer un collègue retenu dans le pays malveillant EvilCountry.
La seule information à notre disposition en premier lieu est un pseudonyme : shadowatch87
Découverte du dashboard
La première partie du challenge nous indiquait que cette personne semble utiliser un service de gestion de projet en ligne. Notre objectif est simple, retrouver précisément la page qui est utilisée.
Je n’ai qu’un pseudo, mon premier réflexe est donc d’utiliser WhatsMyName mais sans trop de résultats.
J’utilise donc Maigret afin d’avoir un listing des comptes existants avec un outil différent :
| |
En vérifiant les différents résultats obtenus, le seul compte probant est celui de 9gag.

Je pivote donc avec ce nouveau pseudo et toujours avec Maigret (il a fait ses preuves 😎) :
| |
Quelques résultats, mais encore une fois un seul nous intéresse, le profil Reddit.

Une nouvelle information est disponible, une adresse mail : joelier198703@gmail.com
Cette fois, je me retourne vers mon ami EPIOS qui m’indique qu’un compte Google existe bien ainsi qu’un compte Trello, une application de gestion de projet en ligne. Nous approchons du but.
Afin de retrouver le Trello public associé, je dois me tourner vers un autre outil, je ne peux malheureusement pas me payer l’abonnement EPIOS, pauvre étudiant que je suis 🥲. Je vais donc utiliser BLACKBIRD et l’adresse mail obtenue. Entre quelques résultats inintéressants, je retrouve bien un lien vers un Trello public : Lien vers l’API Trello
Je retrouve ensuite le profil de Joe Lier puis dans cette nouvelle page, j’observe les activités récentes du compte qui me permet de retrouver le Tableau de Xx_CRYPTOKILLER87_xX.

Le flag pour la première partie est donc : https://trello.com/b/xB6a3O2f/tableau-de-xxcryptokiller87xx
Retrouver le badge
La seconde partie du challenge nous demande de retrouver un badge qui aurait été perdu par Joe Lier. En commençant par fouiller le dashboard Trello, je trouve une carte avec le texte et l’image suivante :
On a roulé environ 120 km en partant de là, et y’a un site touristique auquel on s’est arrêtés pour déjeuner. L’après-midi on est allé à quelques kilomètres de là faire de la randonnée, y’a une montagne qui culmine à 1665 mètres, on a réussi à aller au sommet mais j’ai perdu ma sacoche en redescendant, j’avais de l’argent et quelques affaires dedans, notamment mon badge du boulot… Bon du coup il faut que je copie mon badge pour pas me faire toper par les officiers de sécu…

Évidemment pas de donnée EXIF sur l’image. Je m’intéresse donc au texte sur le camion. Avec un passage dans Google image, je récupère et traduis directement ce qui me donne à partir du Norvégien :
K KRAEMER MARITIME Votre partenaire
Après une courte recherche, K Kraemer est bien une entreprise norvégienne spécialisée dans la livraison de nourritures ou de produits ménagers.
Après avoir passé une bonne heure en essayant de retrouver le lieu précis sur l’image, j’ai changé mon fusil d’épaule pour juste rechercher une montagne de 1 665 m d’altitude située en Norvège.
Grâce au site Peakery, je peux rechercher les montagnes avec une altitude comprise entre 5 000 et 5 500 pieds (1 665 mètres correspondent à 5 462 pieds).
Je trouve assez vite un seul résultat probant, le sommet Alnestinden. Notre équipe a décidé de tester ce flag, car nous n’avions pas un temps infini lors de l’épreuve et nous devions passer à d’autres challenges.
Heureusement, le flag était bien Alnestinden.
Portrait-robot
Pour le troisième flag, nous devons retrouver la couleur des yeux de Joe Lier afin de réaliser un portrait-robot. La couleur que nous devons retrouver doit être la manière dont il se décrit lui-même.
Actuellement sur le dashboard, je n’ai pas d’information se rapportant au physique de notre cible. Cependant, en cherchant au niveau des tâches archivées sur le Trello, je tombe sur la carte suivante :
Bon là y’a pas les branches parce que c’est un vieux montage, mais let’s go elles sont trop stylées!

J’ai donc une image de Joe Lier, mais cette piste ne donnera rien. Pas d’information spécifique sur l’image, ni de retour avec des recherches inversées sur Yandex, Google ou Bing.
Je décide donc me pencher sur une autre carte :
Twitter c’est devenu un enfer, let’s go sur le serveur hosnet ! N.B : penser à changer la photo N.B2: La crypt0 c’est la vie !
Je décide donc de me lancer à la recherche du serveur Hosnet mentionné dans la carte. Le texte précédant me fait penser aux vagues de départ de Twitter au début de l’année où les utilisateurs partaient vers Mastodon. Avec une recherche google simple, je retrouve l’instance suivante : mastodon.hosnet.fr
Sur le flux en direct, j’observe un compte ayant la photo de profil que nous recherchions avec le compte crypt0_ki113r87 et je trouve l’information suivante :

Le flag est donc châtaignes
Des transactions douteuses
Voici l’énoncé tel qu’il nous était fourni :
Il semblerait que Joe Lier organise des transactions. Pouvez-vous trouver la trace d’une transaction qui a été finalisée ? Si oui, indiquez le message exacte qui y est associé.
Au vu du dashboard, je me suis douté que les transactions finalisées étaient les cartes présentes dans la catégorie terminé avec les indicateurs comme BA - C312 - P452317.

N’ayant pas pu terminer cette dernière partie durant l’épreuve, je remercie les copains de isFred pour l’aide après la compétition afin de trouver la solution.
Le détail qu’il me manquait lors de la compétition était l’utilisation de Wayback Machine sur le Trello de Joe Lier. En effet, en passant les url des cartes sur Wayback Machine, on peut voir qu’une carte a un détail supplémentaire :

Au vu du format, cette suite de caractères m’a fait penser à un hash de transaction crypto. Le fait que chaque compte de Joe Lier visité précédemment parlait de crypto renforce cette hypothèse.
Sur le site Blockchair, je retrouve la transaction qui est sur la blockchain BNB. En allant sur un site spécialisé sur cette blockchain comme BscScan, j’observe qu’il y a des champs supplémentaires qui contiennent une chaîne Hexadécimal. Soit je change la visualisation pour l’afficher en UTF-8 sur le site, soit je cherche un convertisseur Hexa vers UTF-8. Ce qui nous donne dans tous les cas la chaîne suivante : Bloc A - Cellule 312 - Prisonnier 452317 => 1 tel // 2 clopes
Le dernier flag est donc Bloc A - Cellule 312 - Prisonnier 452317 => 1 tel // 2 clopes
Ce challenge était fort intéressant et une première expérience d’OSINT sur la blockchain, ce fut une expérience fort enrichissante. Dommage que je n’ai pas pu le terminer durant l’épreuve 😅. Malgré tout, cette édition du TRACS était une super opportunité et merci encore aux staffs et aux organisateurs d’avoir organisé un événement de cette qualité. Et un grand merci à mes coéquipiers pour leur acharnement lors de la compétition !
Pour finir, merci à vous pour votre patience et n’hésitez pas à me contacter sur LinkedIn si vous avez des questions.
