Bugs Buggy

crypto reverse RSA linux x86/x64 FCSC 2020 résolu le

star star star

Description

Le service RSSI de votre entreprise a besoin de votre expertise en cryptographie. La confidentialité de plusieurs fichiers a été compromise, indiquant qu’un attaquant a réussi à casser RSA-2048 sur cette machine.

Une première analyse faite par votre stagiaire indique que le seul processus d’intérêt qui tournait était /usr/local/bin/python3.8. Des signes de compromissions indiquent potentiellement l’installation d’une backdoor. On vous fournit ce binaire ainsi qu’un accès au prompt Python. (Note : il est inutile de regarder à l’extérieur du prompt Python pour cette épreuve, ni même d’essayer d’en sortir).

On vous donne également accès à un oracle de signature utilisé par l’attaquant qui tourne sur la machine compromise (oracle.py).

Votre but est de comprendre comment l’attaquant a procédé, de factoriser les clés qui sont générées puis de déchiffrer le contenu qui vous est envoyé.

Services :

  • Python : nc localhost 4001
  • Signature : nc localhost 4000

Note : l’épreuve Bugs Buggy du FCSC 2020 a été découpée en deux pour Hackropole. Une version plus simple est disponible ici : Bugs Buggy Easy.

Fichiers

  • docker-compose.yml
  • python3.8
    16.46 MiB – b8f33291abc56422e0bd40becd2a54a7780f42eb7ac3523d6ec06cec63dcc00f
  • oracle.py
    805 B – 49b9ad4c12f72cd9641ef2484c4e4a63a67d02f27b07e9f58b932d643ac00772

Instructions

  1. Pour commencer, téléchargez le fichier docker-compose.yml :
    curl https://hackropole.fr/challenges/fcsc2020-crypto-bugs-buggy/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 4001
  4. 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.