Prechall 2026 🇫🇷

intro
April 12, 2026 FCSC 2026 #misc

Comme tous les ans l’ANSSI propose un préchallenge pour le FCSC. La première étape est de le trouver…

J’ai commencé par vérifier les WU sur hackropole des préchallenges des années précédentes pour me faire une idée d’où le trouver. En gros il est souvent sur la page principale du fcsc.

Un curl de la page et on obtient

<!--
                                      /--------------------------\
                                     |   Salut toi, ça shrimp ?   |
                                      \--------------------------/
                                                \
                                                 \
                                                  \_ .~q`,
        ░▓▓▒░░░░▒▒▓▒▓░                               {__,  \
    ▒░                     ▒▓▒                           \' \
  ░                               ▓▒                      \  \
                   ▒▓▒▓▓▒▒             ▓                   \  \
 ▓     ░▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓         ▒                \  `._            __.__
 ░ ▒▓▓▓▓▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓░▒▒                        \    ~-._  _.==~~     ~~--.._
   ▒  ░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓                        \        '                  ~-.
              ▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓ ▒▓▓▓▓                        \      _-   -_                `.
              ▒▒      ░      ▒▓▒ ▓▓▓▓▓▒░                        \    /       }        .-    .\
           ▒    ▒    ▒          ▒▓▓▓▒ ▓▓░                        `. |      /  }      (       ; \
                                 ▓▓▓▓▓▓▓▒                          `|     /  /       (       :  '\
                                ▓▓▓▓▓▓▓▓                            \    |  /        |      /     \    =
                               ▒▒▓   ░                               |     /`-.______.\     |^-.      \
                   ▓▓▒▓     ▓▓ ▓▓▓▓▓▓▓                               |   |/           (     | `.      \_
                   ▓▓▓▓▓▓▓ ▓▓▓▓▒ ▓▓▓                                 |   ||            ~\   \    '._    `-.._____..----.._=__
                        ▓▓▓ ░▓▓░                                     |   |/             _\   \     =~-.__________.-~~~~~~~~~'''
                                                                   .o'___/            .o______}
-->
<!-- Prechall is at https://fcsc.fr/teasing -->

Un shrimp… et c’est la panique.

Première étape - clef ssh corrompue

On a une clef ssh privée et une clef publique sans le commentaire. Heuresement c’est possible de récupérer la clef publique depuis une clef privée.

ssh-keygen -y -f i-ve-lost-my-comment > i-ve-FOUND-my-comment.pub

On obtient une deuxième URL

Deuxième étape - reverse de calculatrice

On télécharge un fichier qui est un binaire pour calculatrice :

file veggie-dino.8xp
veggie-dino.8xp: TI-83+ Graphing Calculator (assembly program)

On trouve un émulateur de ti83 plus en ligne, une rom de ti83 plus(c’était pas si facile que ça) et on peut lancer le programme. On voit qu’on a un programme de snake avec un dinosaure qui veut manger une pomme.

syntax error

Après quelques recherches, c’est parce que le programme est déjà compilé donc il faut le lancer avec Asm(prgmDINO)

On le lance et là magie: le programme se lance

9999 apples

Après avoir fait monter le score raisonnablement on se dit qu’il faut probablement atteindre le score de 9999 avant qu’il se passe autre chose et qu’on puisse finir cette étape.

J’ai essayé de postpone l’étape reverse le plus possible.

J’ai cherché les strings du programme, on voit apparaître 9999 quand on le change à 0001, rien ne change dans l’exécution. En revanche quand on change 0f27 (9999 en little endian) par 0100 (0001 en little endian) on obtient le flag !

ti flag

Troisième étape - audio steganography

On obtient cette super vidéo:

Je remets le disclaimer d’origine

⚠️ Attention, le son peut être fort. 

On réalise qu’il y a un lien entre le son affiché et les images… et le warning nous dit très clairement que le son à une importance…

De plus le nom de la vidéo oscillart.webm nous met la puce à l’oreille. Quand on ouvre l’audio dans audacity on voit deux canaux, et le concept de l’oscillart est de faire de l’art sur oscilloscope, en mode xy avec une piste qui décrit le mouvement selon l’axe x et l’autre le mouvement selon l’axe y.

La vidéo correspond donc à l’audio.

On trouve un oscilloscope en ligne qui prend des wav, donc on convertit notre vidéo en wav et on la relance et on voit “s’afficher” le flag. J’ai pris beaucoup de temps avant de réaliser que le . était un _ mais à part ça tous les caractères étaient très lisibles.

Merci pour ce préchall très original !