Ghidra – La NSA libère son outil de rétro-ingénierie

De temps en temps, quand ils s’ennuient à espionner, l’« intelligence agency » les agences de renseignements des États-Unis nous permettent de jeter un œil à certains de leurs jouets. Par exemple, le logiciel Ghidra, qui peut intéresser des experts en « reverse engineering » Rétro-Ingénierie et sécurité informatique.

Serpent rouge sur fond noir qui se mort la queue et forme un huit horizontal.
Logo de Ghildra

Écrit en langage de programmation Java, il est distribué, sous forme incomplète mais sous licence libre Apache 2.0. De plus il est gratuit, ce qui en fait une alternative intéressante à IDA Pro, un programme fermé et pas vraiment bon marché.

Développée de manière réservée depuis de nombreuses années, il a été montré au public pour la première fois lors de la conférence RSA qui s’est tenue à San Francisco.

Un logiciel capable d’analyser des fichiers binaires (par exemple des logiciels malveillants) inversant le processus de compilation, vers pseudo-code C, permettant aux analystes de comprendre la fonctionnalité de celui-ci.

Il est multi-plateforme (Linux, MacOos, Windows), et compatible avec des logiciels destinés à tous les types de processeurs et de multiples architectures (environ une douzaine). Également extensible dans ses fonctions à base de plugins, à la fois Python et Java, que l’utilisateur peut créer lui-même.

Il se caractérise par ses nombreuses possibilités : effectuer un travail collaboratif, assembleur/dés-assembleur, mode interactif ou automatique, graphiques et diagrammes de flux, raccourcis clavier avancés, possibilité d’annuler les changements. Plus d’une centaine de fonctions différentes et beaucoup à explorer dans cet outil.

Comme toujours, il est conseillé un minimum de précaution dans l’exécution du code de la NSA. Bien qu’ils jurent  qu’il n’y a pas de backdoor (porte dérobée) dans The Register, ils ont déjà fait écho à un bug qui, en mode débogueur, permet à Ghidra de se connecter à d’autres systèmes de son réseau et d’exécuter du code.

Site Ghidra pour le téléchargement.

Voyez les photos d’écran plus bas…
Pour l’exécuter, il faut avoir Java runtime.
Une fois Ghidra installé, pour le lancer :

./ghidra_run
Capture d’écran de l’accord utilisateur de Ghidra, un framework de reverse engineering développé par la NSA, affichant les termes de la licence Apache 2.0, incluant une clause de responsabilité utilisateur.
Ghidra, l’outil de reverse engineering de la NSA, présente son accord utilisateur sous licence Apache 2.0, insistant sur la responsabilité de l’utilisateur dans l’usage légal du logiciel.
Capture d’écran de la page d’introduction du guide utilisateur de Ghidra, montrant une vue d’ensemble de l’outil de reverse engineering, incluant les sections 'Introduction', 'Public cible', 'Portée du document' et 'Avertissement'.
La page d’accueil du guide utilisateur de Ghidra présente les bases de l’outil, son public cible et les limites de la documentation fournie, soulignant son extensibilité via des plugins.
Capture d’écran de l’interface principale de Ghidra, montrant l’état "NO ACTIVE PROJECT" dans la section "Active Project", avec des options pour créer ou charger un projet, ainsi qu’une liste vide dans l’onglet "Tool Chest".
L’interface de Ghidra s’ouvre sur une page indiquant qu’aucun projet n’est actif, avec des outils de gestion de projet désactivés et une liste vide d’outils disponibles.
Capture d’écran de l’interface de Ghidra montrant un projet en cours d’analyse, avec les panneaux "Program Trees", "Symbol Tree" et "Data Type Manager", une vue hexadécimale du code, ainsi qu’un résumé des résultats d’import dans le navigateur de code.
Ghidra, l’outil de reverse engineering de la NSA, affiche un projet en cours : ELBA, avec ses structures de programme, ses symboles et ses types de données, ainsi qu’une vue détaillée du code et un résumé des résultats d’import.

Source: une traduction d’un article du site « La Mirada Del Replicante » – La NSA libera su herramienta de ingeniería inversa Ghidra