Tobias ScheibleCybercrime Dozent & Live Hacking Speaker

Ghidra – Reverse-Engineering-Framework

Ghidra ist eine Open-Source-Software, um Reverse-Engineering von Anwendungen durchzuführen. Mittels Ghidra werden ausführbare Programme (Executables) dekompiliert, um anschließend den wiederhergestellten Code analysieren zu können. Damit kann zum Beispiel Schadsoftware oder aber auch das Verhalten von normalen Programmen analysiert werden.

Sonntag, 15. August 2021
0 Kommentare

Das Tool wurde ursprünglich durch den US-Geheimdienst NSA entwickelt. Die Nutzung der Analyse-Software war schon vor der Veröffentlichung bereits bekannt seit Jahren durch WikiLeaks. Die Software wurde auf der RSA Conference im März 2019 von der NSA selbst veröffentlicht und die Quellen wurden einen Monat später auf GitHub veröffentlicht. Ghidra wird häufig als Konkurrent von IDA Pro angesehen.

Ghidra ist ein Software-Reverse-Engineering (SRE) und umfasst eine Reihe von High-End-Softwareanalysetools, mit denen Benutzer kompilierten Code auf einer Vielzahl von Plattformen analysieren können. Zu den Funktionen gehören Disassemblierung, Assemblierung, Dekompilierung, grafische Darstellung und Skripterstellung sowie Hunderte weiterer Funktionen. Ghidra unterstützt eine Vielzahl von Prozessorbefehlssätzen und ausführbaren Formaten und kann sowohl im benutzerinteraktiven als auch im automatisierten Modus ausgeführt werden. Benutzer können auch ihre eigenen Ghidra-Erweiterungskomponenten und/oder Skripte mit Java oder Python entwickeln.

Installation von Ghidra

Die Software ist in Java geschrieben und verwendet das Swing-Framework für die grafische Benutzeroberfläche. Dadurch ist Ghidra für Microsoft Windows, macOS und Linux erhältlich. Die Decompiler-Komponente ist in C++ geschrieben. Ghidra-Plug-ins können in Java oder in Python (über Jython) entwickelt werden.

Durch die Integration in die Version von Kali Linux 2021.2 kann Ghidra wie gewohnt installiert werden:

$ sudo apt install ghidra -y

Die Installation dauert einen Moment, da die Java Runtime Environment (JRE) installiert werden muss und insgesamt das Setup fast 1 GB Speicherplatz belegt.

Installation von Ghidra unter Kali Linux
Installation von Ghidra unter Kali Linux
Installation von Ghidra unter Kali LinuxInstallation von Ghidra unter Kali Linux

Aufruf von Ghidra

Nach der Installation von Ghidra kann das Tool wie gewohnt über das Terminal gestartet werden:

$ ghidra

Nach dem ersten Start erscheinen die Nutzungsvereinbarungen von Ghidra, denen zugestimmt werden muss:

Nutzungsvereinbarungen von Ghidra
Nutzungsvereinbarungen von Ghidra
Nutzungsvereinbarungen von GhidraNutzungsvereinbarungen von Ghidra

Danach erscheint das Hauptfenster von Ghidra. Die eigentliche Arbeit findet in Form von Projekten statt.

Hauptfenster von Ghidra
Hauptfenster von Ghidra
Hauptfenster von GhidraHauptfenster von Ghidra

Nach dem ersten Start erscheint automatisch die ausführliche Hilfe von Ghidra in einem extra Fenster, die auch über das Menü Help > Contents aufgerufen werden kann. Sie ist für neue Benutzer die erste Anlaufstelle und dort werden alle Funktionen ausführlich erläutert.

Ausführliche integrierte Ghidra Hilfe
Ausführliche integrierte Ghidra Hilfe
Ausführliche integrierte Ghidra HilfeAusführliche integrierte Ghidra Hilfe

Weitere Ressourcen zu Ghidra:

Kali Linux 2021.2 Artikelserie

Dieser Blog-Artikel ist Teil der Kali Linux 2021.2 Artikelserie, bei der ich mich intensiver mit den neuen Anwendungen der aktuellen Version beschäftige.

Über Tobias Scheible

Tobias Scheible

Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog und in meinem Fachbuch. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.