fbpx

Le but de réaliser le reverse engineering d’un ransomware est la proposition concrète et améliorée de ce même logiciel malveillant. Cet exercice met les étudiants dans le bain pour les confronter à une réalité certaine.

Alexandre Robine

Alexandre Robine
Intervenant cybersécurité

Sollicitation en qualité d’analyste avec la reverse engineering

La reverse engineering consiste à démonter un objet pour voir comment il fonctionne afin de le dupliquer ou de l’améliorer. Cette pratique, empruntée à des industries plus anciennes, est maintenant fréquemment utilisée sur le matériel et les logiciels informatiques.

Utilisation d’un binaire

Création d'un Cheval de Troie pour le projet reverse engineering

Le binaire est un programme simple qui procède au téléchargement d’une payload plus évoluée sur un serveur distant. La payload est installée sous la forme d’un service Linux qui démarre avec la machine. Cette étape permet à l’étudiant en tant qu’analyste de trouver les éléments suivants :

  • – Le serveur sur Internet utilisé par les attaquants
  • – Le service Linux installé sur la machine et les modalités de son démarrage
  • – Le malware qui va procéder au chiffrement des fichiers.

Analyse du ransomware

La payload procède au listing de l’ensemble des fichiers dans l’arborescence du dossier puis chiffre les fichier un à un.
Pour pouvoir procéder au chiffrement, le binaire va générer une clé de 64 bits de long à partir du dev/urandom. Le malware chiffre alors tous les fichiers des utilisateurs et envoie la clé de chiffrement sur une page d’un site web sur le serveur distant.Le malware reste alors démarré avec la clé conservée dans la mémoire vive du processus.

Cette étape permet à l’analyste de trouver les éléments suivants :

  • – Le service web sur le serveur des attaquants
  • – Les fichiers ciblés par le malware
  • – La méthode de génération de la clé de chiffrement
  • – La méthode de chiffrement utilisée
  • – La clé de chiffrement toujours accessible en RAM.

Par la suite, le serveur des attaquants présente des failles qui peuvent être exploitées pour retrouver les éléments suivants : toutes les clés de chiffrements récupérées par le serveur des attaquants. Un accès administrateur au serveur des attaquants.

Objectif du projet livrable

L’objectif du projet est de proposer l’analyse d’un ransomware en plusieurs étapes et de fournir par la suite une version plus évoluée du malware.

Analyse d'un exécutable compilé

Devsecops, serveurs, cloud, sécurité réseaux

Analyse de la RAM d'un exécutable en fonctionnement
Et de la sécurité d'un serveur

apprendre à coder, dev fullstack

Analyse des méthodes
De chiffrement, de persistence et d'obfuscation de code

hacker, white hat, black hate en cybersécurité

Attaque et prise en main d'un serveur distant
Écriture d'un malware en C

Profil étudiant, postbac, licence, master informatique

Proposition de recommandations de sécurité
Améliorations d'une architecture logicielle

Création d'un programme C en guise de solution

Proposition d’une nouvelle solution

À partir des analyses précédentes, il est demandé aux étudiants de produire une solution permettant le recouvrement de l’ensemble des fichiers, le code source ainsi que la manière de l’utiliser est attendu en annexe.

Une fois la méthode ainsi que les clés de chiffrements retrouvées, l’analyste doit proposer une solution de déchiffrement de tous les fichiers des utilisateurs. À la fin de cette étape, l’analyste doit posséder :

  • – Un programme (écrit en C) qui prend une clé de chiffrement en argument et déchiffre tous les fichiers des utilisateurs
  • – Une solution qui transmet automatiquement les nouvelles clés récupérées par le serveur des attaquants vers un autre serveur

En plus de ces éléments, ce rapport doit contenir des recommandations concernant les bonnes
pratiques de sécurité qui auraient du être mises en oeuvre afin qu’un incident du genre ne se reproduise pas.

Déconstruction du malware

Pour finaliser ce travail, les apprenants (toujours en tant qu’analystes) proposent une version améliorée du binaire afin de rendre son étude et son analyse plus complexe (sont attendus : le code source ainsi que la méthode de compilation à utiliser).

Une fois le malware pleinement sous contrôle, l’analyste décide de changer de camp et déconstruire un nouveau malware meilleur que le premier. Le choix de la méthode et du fonctionnement est libre mais ce nouveau malware doit suivre la même trame que le premier (chiffrement, upload de la clé sur un serveur distant, …). Il est cependant nécessaire de combler toutes les failles de fonctionnement du précédent binaire.

Parcours cybersécurité

5 ans – Accessible post-bac

Tenté par un parcours

Vous aussi, réalisez le reverse engineering d’un ransomware en intégrant un parcours complet du post-bac au bac+5.

IPSSI n’attend plus que vous !

Prenez contact tout au long de l’année pour échanger avec l’un de nos coachs et parler de votre avenir ! 🤝

Je prends contact