PewPew

hardware fault attacks FCSC 2024 résolu le

star star

Description

Vous avez à disposition un système embarqué permettant de déchiffrer et de signer des messages avec RSA. La clé privée utilisée est stockée de manière sécurisée dans ce système et est réputée impossible à extraire ou cloner. Malheureusement, suite à une mésaventure vous l’avez endommagé et n’est plus possible que de signer un message fixe.

Votre mission, si vous l’acceptez, est d’extraire la clé privée RSA de cette carte embarquée, puis de l’utiliser pour déchiffrer le flag. Pour cela, nous vous mettons à disposition un banc d’injection de fautes électromagnétiques (EMFI). Ce banc d’injection de fautes est équipé d’un injecteur de fautes électromagnétiques placé sur un axe motorisé 2D.

Afin de vous aider, nous vous mettons à disposition le même système embarqué, mais avec un code remplacé par :

LDR r4, =0xCAFECAFE     ; charge 0xCAFECAFE dans le registre r4
ORR R4, R4              ; r4 <- r4 OU r4
ORR R4, R4              ; r4 <- r4 OU r4
ORR R4, R4              ; r4 <- r4 OU r4
; [...] 1000x
ORR R4, R4              ; r4 <- r4 OU r4
ORR R4, R4              ; r4 <- r4 OU r4
ORR R4, R4              ; r4 <- r4 OU r4
J   print_r4            ; affiche r4, r4 devrait être égal à 0xCAFECAFE

Nous vous invitons à utiliser cette seconde carte pour vous entraîner à réaliser des fautes.

Connectez-vous au serveur pour commencer votre aventure.

Banc d&rsquo;expérience

Auteur

erdnaxe

Instructions

  1. Pour commencer, téléchargez le fichier docker-compose.yml :
    curl https://hackropole.fr/challenges/fcsc2024-hardware-pewpew/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

Il n'y a pas encore de solutions pour cette épreuve, mais vous pouvez soumettre la vôtre après avoir trouvé le flag.