Ghidra, sada nástrojů pro reverzní inženýrství NSA

ghydra

Během konference RSA oznámila Národní bezpečnostní agentura USA otevření přístupu k sadě nástrojů pro reverzní inženýrství „Ghidra“ , která obsahuje interaktivní disassembler s podporou dekompilace kódu C a poskytuje výkonné nástroje pro analýzu spustitelných souborů.

Projekt je vyvíjen téměř 20 let a aktivně jej využívají americké zpravodajské služby k identifikaci markerů, analýze škodlivého kódu, studiu různých spustitelných souborů a analýze kompilovaného kódu.

Co se týče možností, produkt je srovnatelný s rozšířenou verzí proprietárního balíčku IDA Pro , ale je určen výhradně pro analýzu kódu a neobsahuje debugger.

Na druhou stranu Ghidra má podporu pro dekompilaci do pseudokódu, který se podobá jazyku C (v IDA je tato funkce dostupná prostřednictvím pluginů třetích stran), a také výkonnější nástroje pro společnou analýzu spustitelných souborů.

Hlavní charakteristiky

V rámci sady nástrojů pro reverzní inženýrství Ghidra najdeme následující:

  • Podpora různých sad instrukcí procesoru a formátů spustitelných souborů.
  • Analýza podpory spustitelných souborů pro Linux, Windows a macOS.
  • Obsahuje disassembler, assembler, dekompilátor, grafický generátor pro provádění programu, modul pro provádění skriptů a velkou sadu pomocných nástrojů.
  • Schopnost provádět v interaktivních a automatických režimech.
  • Podpora zásuvných modulů s implementací nových komponent.
  • Podpora automatizace akcí a rozšíření stávajících funkcí prostřednictvím připojení skriptů v jazycích Java a Python.
  • Dostupnost finančních prostředků na týmovou práci výzkumných týmů a koordinaci prací při reverzním inženýrství velmi velkých projektů.

Je zajímavé, že několik hodin po vydání Ghidry balíček nalezl zranitelnost v implementaci ladicího režimu (ve výchozím nastavení zakázaného), který otevírá síťový port 18001 pro vzdálené ladění aplikací pomocí protokolu JDWP (Java Debug Wire Protocol).

Ve výchozím nastavení byla síťová připojení navazována přes všechna dostupná síťová rozhraní, nikoli přes 127.0.0.1 , což vám umožnilo připojit se k Ghidra z jiných systémů a spustit libovolný kód v kontextu aplikace.

Můžete se například připojit k debuggeru a přerušit provádění nastavením zarážky a nahradit svůj kód dalším spuštěním pomocí příkazu „tisknout nový“, například »
vytisknout nový java.lang.Runtime (). exec ('/ bin / mkdir / tmp / dir') ».

Kromě toho je možné sledovat vydání téměř kompletně přepracované edice otevřeného interaktivního disassembleru REDasm 2.0.

Program má rozšiřitelnou architekturu, která vám umožňuje připojit ovladače pro další sady pokynů a formáty souborů ve formě modulů. Kód projektu je napsán v C ++ (rozhraní založené na Qt) a distribuován pod licencí GPLv3. Práce podporovaná v systémech Windows a Linux.

Základní balíček je kompatibilní s formáty firmwaru PE, ELF, DEX (Android Dalvik), Sony Playstation, Xbox, GameBoy a Nintendo 64. Mezi podporované instrukční sady patří x86, x86_64, MIPS, ARMv7, Dalvik a CHIP-8.

Mezi funkcemi lze zmínit podporu interaktivní vizualizace ve stylu IDA, analýzu vícevláknových aplikací , konstrukci vizuálního grafu průběhu, engine pro zpracování digitálních podpisů (který pracuje se soubory SDB) a nástroje pro řízení projektů.

Jak nainstalovat Ghidru?

Pro ty, kteří mají zájem o instalaci této sady nástrojů pro reverzní inženýrství „Ghidra“ , by mělo být jasné, že musí mít alespoň následující:

  • 4 GB RAM
  • 1 GB pro úložiště Kit
  • Nechte si nainstalovat Java 11 Runtime a Development Kit (JDK).

Chcete-li si stáhnout Ghidru, musíte navštívit její oficiální webové stránky, kde si ji můžete stáhnout. Odkaz je zde.

Jakmile to uděláte, stačí rozbalit stažený balíček a uvnitř adresáře najdete soubor „ghidraRun“, který spustí sadu.

Pokud se o tom chcete dozvědět více, můžete navštívit následující odkaz.


Přidat jako preferovaný zdroj v Googlu