Tobias Scheible Cyber Security & IT-Forensik Dozent

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 Linux Installation 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 Ghidra Nutzungsvereinbarungen 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 Ghidra Hauptfenster 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 Hilfe Ausfü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.

Kommentare

Es wurde noch kein Kommentar abgegeben.

Schreibe einen Kommentar!

Hilfe zum Kommentieren und Hiweise

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen, eine Gefährdung anderer Besucher darstellen oder keinen sinvollen Inhalt beinhalten, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und damit ich direkt Kontakt aufnehmen kann. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzhinweis des Blogs.