TP analyse de malware
Objectifs pédagogiques
L'objectif de ce TP est de savoir réaliser une analyse d'un malware simple. Analyse qui comprend les aspects suivants :
- l'observation des actions visibles d'un malware (constat initial de l'infection)
 - l'identification de binaires malveillants
 - la mise en place de la persistance
 - le reverse de malware sous Ghidra
 - l'utilisation d'un débogueur
 - la définition d'IOCs
 - la réalisation d'un cleaner minimaliste
 
Avertissements préalables
Le malware proposé, bien qu’inspiré de malware réels, est exclusivement conçu dans un but éducatif. Un soin tout particulier a été apporté afin d’éviter tout accident de manipulation :
- Il ne fonctionne que dans une machine virtuelle de type `VMWare` ou `VirtualBox`
 - Il ne se propage pas
 - Il modifie uniquement les fichiers du dossier personnel de l’utilisateur qui le lance
 
À ce titre, toute modification de ces binaires engage directement la responsabilité de l’analyste.
Sujet
Mme Michu, grande amatrice de Sudoku, n’a pas su résister à la tentation de télécharger son jeu favori sur le net. Malheureusement pour elle, après une courte utilisation, elle découvre avec stupeur que certains de ses fichiers personnels s'avèrent maintenant inaccessibles.
Fort heureusement pour Mme Michu, elle connait d’excellents élèves qui, elle n’en doute pas, seront capables de la sortir de ce mauvais pas.
À vous de relever le défi.
Livrables
À l'issue de ce TP, il vous est demandé de fournir:
- un rapport récapitulant votre démarche, c'est-à-dire les réponses aux questions ci-après
 - les codes sources des outils demandés (ainsi que les binaires le cas échéant)
 
Attention
Ne pas envoyer de binaire sur des services en ligne ! Cela n'est pas utile pour le TP et les binaires doivent rester privés.
Questions
Afin d'aider Mme Michu à se sortir de cette situation délicate, plusieurs questions vous sont posées pour vous guider dans cette tâche.
1.
Vous venez de récupérer l'image du disque de Mme Michu (le fichier `BE_Malware_2025.zip` dont le mot de passe est "Centr@lecel3puS!")- À partir de ce fichier disque, reconstituez une machine virtuelle d'analyse
 - Créer un snapshot de la VM pour y revenir si besoin
 - Constatez et décrivez de manière la plus précise possible le problème observé par Mme Michu (types de fichiers modifiés, aspects des fichiers, fichiers créés, etc.)
 - Installez de nouveaux fichiers, que constatez-vous ?
 
2.
Trouvez le(s) binaire(s) responsable(s)- Vous pouvez vous aider des outils de la suite Sysinternals (déjà présente sur le bureau)
 - Quel(s) outil(s) utilisez-vous ?
 
3.
Attention, même en supprimant ce(s) binaire(s), vous constatez que le malware reprend son activité suite à un redémarrage de la machine- Comment expliquez-vous ce phénomène ? Quels outils utilisez-vous pour cela ?
 - Identifiez précisément dans le(s) binaire(s) les portions de code incriminées
 - Expliquez comment est réalisé ce mécanisme
 
4.
Quels sont les types de fichiers impactés ?- Expliquez précisément votre démarche permettant de répondre à cette question
 
5.
Maintenant, nous cherchons à caractériser le type de transformation qu'ont subi les fichiers. Pour cela, résumez en quelques lignes la stratégie d’analyse que vous allez mettre en place pour venir en aide à Mme Michu.- Quel est votre point de départ pour localiser la fonction d'intérêt ?
 - Comment s'assurer qu'il s'agit bien de la bonne fonction ?
 - Est-ce bien l'approche optimale selon vous et pourquoi ?
 
6.
Expliquez pourquoi les fichiers ne sont transformés qu’une seule fois même si le malware s’exécute plusieurs fois7.
Caractérisez le type de transformations qu’ont subi les fichiers- Quel est l'algorithme utilisé (donnez un maximum de précision) ?
 
8.
Quel est le format précis des fichiers transformés ?9.
Expliquez précisément pourquoi il est possible de restaurer les fichiers d’origine10.
Comment s’appelle la technique que vous allez mettre en œuvre ?11.
Résumez sous forme de schéma le fonctionnement macroscopique de l'ensemble du binaire- Prendre exemple sur le schéma Stuxnet slide 73 du cours de virologie
 - Pas besoin d'être un artiste ni de trop détailler
 
12.
Donnez une liste d'IOCs propres à ce malware13.
Écrire un programme (dans le langage que vous voulez) permettant de supprimer le malware de l’ordinateur de Mme Michu14.
Écrire un programme (dans le langage que vous voulez) permettant de restaurer au moins un type de fichiers de Mme Michu (le programme peut se limiter à un seul fichier donné en argument, Mme Michu pouvant itérer elle-même sur tous ses fichiers)Questions bonus
Deux instances du malware peuvent-elles tourner simultanément ? (démontrez vos dires)
Comment s'est fait précisément l'infection initiale ? (démontrez vos dires)