Featured image of post TRACS 2023 : Jeo-Lier

TRACS 2023 : Jeo-Lier

Write Up du challenge Jeo-lier du TRACS édition 2023

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 :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
┌──(kali㉿kali)-[~/maigret]
└─$ ./maigret.py shadowatch87
[-] Starting a search on top 500 sites from the Maigret database...
[!] You can run search by full list of sites with flag `-a`
[*] Checking username shadowatch87 on:
[+] Pinterest: https://www.pinterest.com/shadowatch87/
[+] metacritic: https://www.metacritic.com/user/shadowatch87
[+] 9GAG: https://www.9gag.com/u/shadowatch87
[+] CreativeMarket: https://creativemarket.com/users/shadowatch87
[+] Lolchess: https://lolchess.gg/profile/na/shadowatch87
[+] Contently: https://shadowatch87.contently.com/
[+] club.cnews.ru: https://club.cnews.ru/shadowatch87
100%|█████████████████████████████████████████| 500/500 [00:17<00:00, 28.15it/s]
[-] Restarting checks for 2 sites... (1 attempts left)
100%|█████████████████████████████████████████| 2/2 [00:15<00:00,  7.53s/it]
[*] Short text report:
Search by username shadowatch87 returned 7 accounts.
Extended info extracted from 0 accounts.
Countries: us, kr, in, ru
Interests (tags): art, sharing, photo, stock, freelance, blog

En vérifiant les différents résultats obtenus, le seul compte probant est celui de 9gag. Profil 9gag obtenu

Je pivote donc avec ce nouveau pseudo et toujours avec Maigret (il a fait ses preuves 😎) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
┌──(kali㉿kali)-[~/maigret]
└─$ ./maigret.py Xx_CRYPTOKILLER87_xX
[-] Starting a search on top 500 sites from the Maigret database...
[!] You can run search by full list of sites with flag `-a`
[*] Checking username Xx_CRYPTOKILLER87_xX on:
[+] Pinterest: https://www.pinterest.com/Xx_CRYPTOKILLER87_xX/
[+] Reddit: https://www.reddit.com/user/Xx_CRYPTOKILLER87_xX
[+] CreativeMarket: https://creativemarket.com/users/Xx_CRYPTOKILLER87_xX
[+] Lolchess: https://lolchess.gg/profile/na/Xx_CRYPTOKILLER87_xX
[+] Contently: https://Xx_CRYPTOKILLER87_xX.contently.com/
[+] club.cnews.ru: https://club.cnews.ru/Xx_CRYPTOKILLER87_xX
100%|█████████████████████████████████████████| 500/500 [00:16<00:00, 29.53it/s]
[-] Restarting checks for 2 sites... (1 attempts left)
100%|█████████████████████████████████████████| 2/2 [00:15<00:00,  7.54s/it]
[*] Short text report:
Search by username Xx_CRYPTOKILLER87_xX returned 6 accounts.
Extended info extracted from 0 accounts.
Countries: kr, in, ru
Interests (tags): art, photo, sharing, discussion, news, stock, freelance, blog

Quelques résultats, mais encore une fois un seul nous intéresse, le profil Reddit. Profil Reddit obtenu

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.

Dashboard de Joe Lier

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…

Image d’un camion stoppé sur un parking à côté d’un cours d’eau, des montagnes son visible en arrière-plan

É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!

Une image de Joe Lier avec un photomontage de lunette

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 profil de Joe Lier sur le serveur Mastodon

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.

Les cartes terminées du dashboard

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 :

La carte BA - C312 - P452317 possède une information supplémentaire : 0x6286df9af2fb04e6b8b6e4b4774bbb2824ffa5adb6b94723ff44c5d81999ffdb

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.

Généré avec Hugo
Thème Stack conçu par Jimmy