Sous marin

hardware FCSC 2023 résolu le

star star

Description

Vous êtes invité par un collègue à venir tester son nouveau modèle miniature de sous-marin. Ce modèle est équipé d’une caméra « vue à la première personne » et d’un système adéquat pour diffuser ce flux vidéo.

Pour vous appâter, votre collègue précise que sa carte embarquée est basée sur un cœur Risc-V. Vous acceptez donc immédiatement. Le soir venu, vous passez plusieurs minutes à explorer les fonds marins du bassin du campus. Néanmoins, au bout d’une demi-heure, le système de supervision panique et vous perdez la communication. Vous vous jetez dans le bassin pour récupérer le modèle. Votre collègue voit au loin des étudiants partir en courant avec du matériel radio en main. Mais que s’est-il passé ? Est-ce que ces étudiants auraient compromis le système du sous-marin à distance ? Vous proposez d’aider votre collègue à extraire le contenu de sa mémoire Flash et à l’analyser.

Le lendemain, après une douche et une courte nuit de repos, votre collègue dépose la carte électronique du sous-marin sur votre bureau. Il vous confirme qu’il a implémenté un port série en mode 8-N-1, mais il précise qu’il a potentiellement fait une erreur d’implémentation dans la logique du port série synthétisé, mais il ne s’en souvient plus trop.

Parce que le sous-marin n’est pas sous l’eau, son électronique n’est pas correctement refroidie. Vous ne pouvez pas le garder allumé plus que quelques minutes avant qu’il ne s’éteigne par sécurité.

Vous prenez un adaptateur port série vers USB pour vous connecter sur le système et vous commencez à investiguer…

Pour s’interfacer avec le port série à distance, vous aurez besoin de Telnet.

Votre collègue a réussi à retrouver une sauvegarde du chargeur de démarrage bootloader.bin et vous indique que vous pouvez émuler la séquence de démarrage avec la commande qemu-system-riscv64 -M sifive_u -m 45M -kernel bootloader.bin (port série disponible dans View > Serial 0). Cela vous permet de prototyper des idées avant de risquer d’abîmer le sous-marin.

Il faut QEMU 5.1 ou ultérieur pour pouvoir émuler ce challenge.

Fichiers

Auteur

erdnaxe

Instructions

  1. Pour commencer, téléchargez le fichier docker-compose.yml :
    curl https://hackropole.fr/challenges/fcsc2023-hardware-sous-marin/docker-compose.public.yml -o docker-compose.yml
  2. Lancez l'épreuve en exécutant dans le même dossier :
    docker compose up
  3. Dans un second terminal, accédez à l'épreuve via Netcat avec :
    nc localhost 4000
⚠️ Important : Vous devez résoudre l'épreuve en interagissant avec le conteneur Docker via le port réseau exposé. Toute autre interaction n'est pas considérée comme une résolution valide.

Si vous rencontrez des problèmes, veuillez consulter la FAQ.

Flag

Partager ma réussite sur Fediverse, Twitter, Linkedin, Facebook, ou par email.

Soumettez votre solution

Vous pouvez envoyer votre solution rédigée pour cette épreuve. La FAQ contient la marche à suivre.

Vous avez besoin d'être identifié(e) pour soumettre une solution.

Solutions

J'ai cherché longtemps et je ne trouve toujours pas le flag !

Vous pouvez voter pour les solutions que vous préférez en utilisant le présent sur leurs pages respectives.

DateAuteur Langue Tags Vote
2023-11-15
CypElf
🇬🇧
TeamFrance