
Durante la conferenza RSA, la National Security Agency statunitense ha annunciato l'apertura dell'accesso al toolkit di reverse engineering "Ghidra" , che include un disassemblatore interattivo con supporto per la decompilazione del codice C e fornisce potenti strumenti per l'analisi dei file eseguibili.
Il progetto è in fase di sviluppo da quasi 20 anni ed è attivamente utilizzato dalle agenzie di intelligence statunitensi per identificare marcatori, analizzare codice dannoso, studiare vari file eseguibili e analizzare codice compilato.
In termini di funzionalità, il prodotto è paragonabile alla versione estesa del pacchetto proprietario IDA Pro , ma è progettato esclusivamente per l'analisi del codice e non include un debugger.
D'altro canto, Ghidra offre supporto per la decompilazione in pseudocodice simile al C (in IDA, questa funzionalità è disponibile tramite plugin di terze parti), nonché strumenti più potenti per l'analisi congiunta di file eseguibili.
caratteristiche principali
All'interno del toolkit di reverse engineering di Ghidra possiamo trovare quanto segue:
- Supporto per vari set di istruzioni del processore e formati di file eseguibili.
- Analisi del supporto di file eseguibili per Linux, Windows e macOS.
- Include un disassemblatore, un assemblatore, un decompilatore, un generatore di grafici di esecuzione del programma, un modulo per eseguire script e un ampio set di strumenti ausiliari.
- Capacità di eseguire in modalità interattiva e automatica.
- Supporto plug-in con l'implementazione di nuovi componenti.
- Supporto per l'automazione delle azioni e l'estensione delle funzionalità esistenti tramite la connessione di script nei linguaggi Java e Python.
- Disponibilità di fondi per il lavoro di squadra dei gruppi di ricerca e coordinamento del lavoro durante il reverse engineering di progetti molto grandi.
È interessante notare che, poche ore dopo il rilascio di Ghidra, il pacchetto ha scoperto una vulnerabilità nell'implementazione della modalità di debug (disabilitata per impostazione predefinita), che apre la porta di rete 18001 per il debug remoto delle applicazioni tramite JDWP (Java Debug Wire Protocol).
Per impostazione predefinita, le connessioni di rete venivano stabilite tramite tutte le interfacce di rete disponibili, anziché tramite 127.0.0.1 , consentendo di connettersi a Ghidra da altri sistemi ed eseguire qualsiasi codice nel contesto dell'applicazione.
Ad esempio, puoi connetterti a un debugger e interrompere l'esecuzione impostando un punto di interruzione e sostituire il codice per un'ulteriore esecuzione utilizzando il comando "stampa nuovo", ad esempio »
stampa nuovo java.lang.Runtime (). exec ('/ bin / mkdir / tmp / dir') ».
Inoltre, è possibile osservare la pubblicazione di un'edizione quasi completamente rivista del disassemblatore interattivo open source REDasm 2.0.
Il programma ha un'architettura estensibile che consente di collegare i driver per ulteriori set di istruzioni e formati di file sotto forma di moduli. Il codice del progetto è scritto in C ++ (interfaccia basata su Qt) e distribuito sotto licenza GPLv3. Lavoro supportato su Windows e Linux.
Il pacchetto base è compatibile con i formati firmware PE, ELF, DEX (Android Dalvik), Sony Playstation, Xbox, Game Boy e Nintendo 64. I set di istruzioni supportati includono x86, x86_64, MIPS, ARMv7, Dalvik e CHIP-8.
Tra le funzionalità, possiamo citare il supporto per la visualizzazione interattiva in stile IDA, l'analisi multi-thread delle applicazioni , la creazione di un grafico di avanzamento visivo, il motore di elaborazione della firma digitale (compatibile con i file SDB) e gli strumenti per la gestione dei progetti.
Come installare Ghidra?
Per coloro che sono interessati a installare questo toolkit di reverse engineering "Ghidra" , devono sapere che è necessario disporre almeno dei seguenti elementi:
- 4 GB di RAM
- 1 GB per l'archiviazione del kit
- Avere Java 11 Runtime and Development Kit (JDK) installato.
Per scaricare Ghidra, devi andare sul suo sito web ufficiale dove potrai scaricarlo. Il link è qui.
Una volta completata questa operazione, basterà decomprimere il pacchetto scaricato e all'interno della cartella troverete il file "ghidraRun" che avvierà il programma.
Se desideri saperne di più, puoi visitare il seguente link.