Installation et utilisation de Ghidra (reverse engineering)

Ghidra est un outil de la NSA (National Security Agency aux Etats Unis) qui permet de décompiler n’importe quel logiciel afin d’en analyser le code source. Il peut être très utile pour réaliser du reverse engineering notamment sur des malwares afin d’étudier leur comportement.

Dans ce tutoriel, nous allons voir comment installer Ghidra sous Kali Linux.

On télécharge tout d’abord la dernière version depuis Github.

On installe ensuite openjdk pour faire tourner l’environnement de développement Java sur Kali.

Rendez-vous ici pour trouver la dernière version d’openjdk et la télécharger au format .tar.gz

Rendez-vous maintenant dans votre dossier de téléchargements sur votre kali :

cd /home/user/Téléchargements

Décompressez openjdk

tar xvf open*

On édite ensuite .bashrc

nano ~/.bashrc

A la fin du fichier, ajoutez la ligne

export PATH=/chemin vers le répertoire openjdk extrait/bin :$PATH

comme ici :

Fermez maintenant vos terminaux et réouvrez-les.

Dézippez ghidra avec la commande :

unzip ghidra*

Naviguez ensuite dans le nouveau répertoire ghidra :

cd ghidra*

Passez root et tapez la commande :

./ghidraRun

Au lancement, vous devrez indiquer l’emplacement de votre jdk :

Si tout se passe bien, vous devriez obtenir la fenêtre suivante :

Vous pouvez maintenant créer un projet (file -> NewProject) et analyser le code d’une application :

Indiquez un répertoire de travail :

Déplacez votre fichier à analyser en glisser déposer de votre explorateur de fichier vers ghidra (ici 7zip.exe) :

Votre fichier va alors être analysé :

Votre logiciel apparaît désormais dans le logiciel. Pour ma part j’ai choisi un logiciel open source mais évitez de réaliser cette même opération avec des logiciels propriétaires.

Cliquez maintenant sur le dragon pour ouvrir le code du logiciel :

Analysez le fichier avec ghidra. Vous devriez alors être en mesure de visualiser le code source de l’application.


Sources :

OPENJDK

Github : Ghidra

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *