
Plugin Python per IDA per scansionare binari con regole Yara
Usa questo plugin IDA Python per scansionare il tuo binario con regole Yara. Tutti i match delle regole Yara saranno elencati con il loro offset in modo da poterci saltare rapidamente!
🍻 Tutto il merito di questo plugin e del codice va a David Berard (@p0ly) 🍻
Questo plugin è copiato dall'eccellente plugin findcrypt-yara di David. Questo plugin estende il suo per utilizzare qualsiasi regola Yara.
Il plugin può essere lanciato dal menu usando Edit->Plugins->FindYara o con la combinazione di tasti Ctrl-Alt-Y. Una volta lanciato, FindYara aprirà una finestra di selezione file che ti permette di scegliere il tuo file di regole Yara. Dopo aver selezionato il file delle regole, FindYara scannerà il binario caricato alla ricerca di match.
Tutti i match delle regole sono mostrati in una finestra di selezione che ti consente di fare doppio clic sui match e saltare alla loro posizione nel binario.
FindYara scansiona le sezioni PE caricate in IDA, il che significa che le regole Yara che includono match sull'intestazione PE non corrisponderanno in IDA. IDA non carica l'intestazione PE come sezione scansionabile. Inoltre, se non hai selezionato Load resources durante il caricamento del binario in IDA, la sezione delle risorse non sarà disponibile per la scansione.
Ciò può portare a situazioni frustranti in cui una regola Yara corrisponde al di fuori di IDA ma non quando si usa FindYara. Se incontri questo problema, prova a modificare la regola Yara rimuovendo i match sull'intestazione PE e sulle sezioni delle risorse.
Prima di utilizzare il plugin devi installare il modulo python Yara nel tuo ambiente IDA. Il modo più semplice è usare pip da una shell al di fuori di IDA.
pip install yara-python
Non installare il modulo yara per errore. Il modulo python yara interferirà con il modulo yara-python, quindi deve essere disinstallato se è stato installato per errore.
Una volta installato il modulo Yara, copia semplicemente l'ultima release di findyara.py nella directory dei plugin di IDA e sei pronto per iniziare a scansionare con Yara!
FindYara è stato sviluppato per l'uso con IDA 7+ e Python 3; non è retrocompatibile.
FindYara richiede il modulo python Yara versione 4+ installato. Versioni precedenti di Yara non sono compatibili con il plugin e potrebbero causare problemi a causa di modifiche sostanziali nel formato dei match di Yara.
Un enorme ringraziamento a David Berard (@p0ly) - Seguilo su GitHub qui! Questo è in gran parte il suo codice e lui ottiene tutto il merito per la struttura originale del plugin.
Inoltre, un plauso ad Alex Hanel @nullandnull - Seguilo su GitHub qui. Alex mi ha aiutato a districare come vengono usati i metodi IDC. Il suo libro su IDA Python è un riferimento fantastico!!