
Scanner YARA nativo X-Tension per X-Ways Forensics, che consente la scansione di file in-snapshot con supporto RVS multi-threaded, output in tabelle di report e nessuna scrittura su disco.
Questa X-Ways Forensics X-Tension consente l'uso nativo di YARA all'interno di X-Ways. Utilizza sia l'API di X-Ways Forensics che l'API di YARA per raggiungere questo obiettivo.
Nota: Questo è un progetto open source, non un prodotto formale di CrowdStrike.
Ci sono molti vantaggi nell'eseguire YARA all'interno di X-Ways, rispetto all'esecuzione di YARA tramite interfaccia a riga di comando.
Supponendo che X-Ways Forensics sia installato e configurato correttamente, basta scaricare la DLL compilata dalla e copiarla nella cartella all'interno della cartella di installazione di X-Ways Forensics.
L'X-Tension può essere eseguita tramite l'interfaccia grafica di X-Ways Forensics o tramite la riga di comando. Questo readme si concentrerà sul metodo GUI.
All'interno della GUI, ci sono due modi per eseguire l'X-Tension: tramite il menu Refine Volume Snapshot ("RVS") o tramite il menu Directory Browser Context ("DBC"). Il metodo dipende da ciò che si intende ottenere. Tipicamente, eseguire YARA tramite il menu RVS sarà molto veloce se l'utente specifica una dimensione massima del file ragionevole (ad esempio 25MB). Se per qualsiasi motivo l'utente desidera eseguire YARA su file individuali più grandi tramite il menu DBC, l'X-Tension suddividerà i dati in blocchi (la cui dimensione è fornita dall'utente).
Se una qualsiasi delle regole YARA non viene compilata, verrà visualizzato un errore nella finestra Messaggi di X-Ways che mostra su quale riga si è verificato l'errore e il messaggio di errore YARA. Correggere questi errori nella regola YARA e riprovare. Un conteggio degli avvisi YARA verrà visualizzato tramite la finestra Messaggi di X-Ways, e i dettagli esatti di questi avvisi vengono registrati nel log del caso X-Ways.
L'X-Tension supporta l'uso di più file di regole YARA (nota che YARA genererà un errore per regole duplicate e non riuscirà a compilare). In alternativa supporta anche l'uso di un singolo file di regole già compilato (.yara/.yar).
Nota: Esiste il rischio che un risultato YARA valido venga perso se i dati scansionati si trovano a cavallo di due confini di blocco/buffer. Se questo è un problema, aumentare la dimensione del buffer o copiare il file fuori da X-Ways e scansionare utilizzando l'interfaccia a riga di comando di YARA.
| Metodo -> | RVS | DBC |
|---|---|---|
| Multi-thread | Sì | No |
| Richiedi dimensione massima file | Sì | No |
| Richiedi dimensione buffer di scansione | Sì* | Sì |
* Solo se la dimensione massima del file inserita dall'utente è maggiore di 100MB. Se la dimensione massima del file è inferiore a 100MB, utilizza 100MB come dimensione del buffer.
All'interno della GUI, dopo aver creato o aperto un caso precedentemente esistente, vai su Specialist -> Refine Volume Snapshot. Quindi spunta l'opzione "Run X-Tensions" e clicca sui tre puntini che appaiono. Nel menu che compare, clicca sul simbolo più (+) e naviga fino al file XT_Yara.dll scaricato da questo repository, quindi premi OK.
Ti verrà quindi chiesto di selezionare il tuo file di regole YARA. Verrà visualizzata una finestra di input e ti verrà chiesto di fornire una dimensione massima del file da scansionare, che è obbligatoria. 25-50MB potrebbe essere una dimensione massima adeguata se stai cercando solo campioni di malware o web shell, ad esempio.
Se l'utente ha selezionato una dimensione massima del file superiore a 100MB, verrà visualizzato un secondo prompt di input che chiede la dimensione del buffer utilizzata dallo scanner YARA. È stato testato fino a 2GB senza problemi, ma scegli saggiamente in base ai vincoli di memoria e al numero di thread selezionati.
All'interno della GUI, dopo aver creato o aperto un caso precedentemente esistente, seleziona i file che desideri scansionare e fai clic con il tasto destro su uno di essi e seleziona "Run X-Tensions...". Ti verrà quindi chiesto di specificare i file di regole YARA. Verrà visualizzato un prompt di input che chiede la dimensione del buffer utilizzata dallo scanner YARA. È stato testato fino a 2GB senza problemi, ma scegli saggiamente in base ai vincoli di memoria e al numero di thread selezionati.
Non viene richiesta la dimensione massima del file.
I file con risultati YARA vengono aggiunti alla Tabella dei Rapporti chiamata "YARA Hits". Le regole esatte che hanno colpito vengono aggiunte per file, per riga, nel campo "Comments" all'interno di X-Ways Forensics.
Un tipico output è mostrato di seguito:
[XT] YARA 4.2.2 library initialised
[XT] There were 9 YARA compile warnings. Check the XWF case log for details
[XT] YARA rules compiled successfully
[XT] Operation Complete. Processing time: 0.000000s
[XT] Summary: Found 240 YARA hits
[XT] YARA library finalised