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
Intervenant cybersécurité
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.
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 :
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 :
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.
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é
Analyse de la RAM d'un exécutable en fonctionnement
Et de la sécurité d'un serveur
Analyse des méthodes
De chiffrement, de persistence et d'obfuscation de code
Attaque et prise en main d'un serveur distant
Écriture d'un malware en C
Proposition de recommandations de sécurité
Améliorations d'une architecture logicielle
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.
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