Bentornati.
Introduzione all'analisi statica e dinamica.
Processo di analisi del malware.
Il processo di analisi del malware può essere generalmente suddiviso in due classi principali.
La prima è l'analisi statica e la seconda è l'analisi dinamica.
Il primo passo, ovviamente, è quello di ottenere il malware stesso.
L'ultimo passo sarà la stesura dei rapporti.
Dopo aver effettuato l'analisi.
Qual è la differenza tra analisi statica e dinamica?
L'analisi statica analizza il malware senza eseguirlo.
Nell'analisi dinamica, eseguiamo il malware stesso e poi effettuiamo l'analisi.
Che cos'è l'analisi statica?
L'analisi statica comporta tre elementi.
Si potrebbe innanzitutto eseguire un hash utilizzando strumenti per ottenere un hash crittografico.
Una volta ottenuto un hash crittografico, possiamo cercare su Internet se qualcun
altro ha già fatto un'analisi simile.
Questo è anche il modo in cui possiamo scoprire ulteriori informazioni su qualsiasi file, perché, come abbiamo visto
nelle lezioni precedenti, non ci si può basare sull'estensione o sul nome del file per sapere di quale file si tratta.
Quindi l'unico modo affidabile è ottenere l'hash crittografico.
In secondo luogo, possiamo anche analizzare le stringhe incorporate.
Quindi stringhe incorporate.
Stringhe Unicode, stringhe
ASCII o anche stringhe criptate o codificate.
In terzo luogo, si analizza l'intestazione.
L'intestazione conterrà molte informazioni, come abbiamo visto nelle lezioni precedenti.
Questi tre modi di eseguire l'analisi ci daranno un indizio su cosa fa il file, cosa contiene.
E possiamo avere una buona idea di cosa cercare quando passiamo all'analisi dinamica.
Gli strumenti di analisi statica sono quindi i seguenti.
Abbiamo TrID.
Il TrID verrà utilizzato per identificare il tipo di file.
Si può fare la stessa cosa utilizzando Exeinfo PE.
Da qui è possibile sapere se si tratta di un file PE o di un file DLL o di un file PDF, di un file zip o di qualsiasi altro tipo di file.
Poi si può passare all'uso di BinText.
BinText viene utilizzato per la ricerca di stringhe incorporate.
Lo stesso vale per le corde.
Strings è anche uno strumento, uno strumento a riga di comando che si può usare per cercare le stringhe incorporate.
Un altro strumento utile è XORSearch.
XORSearch ci permette di cercare i file crittografati, le stringhe crittografate nei file e può invertire le
stringhe trovate usando lo XOR.
Al suo interno è presente l'algoritmo XOR.
I successivi sono CFF Explorer e PE Studio, che vengono utilizzati principalmente per esaminare l'intestazione dei PE e che abbiamo già
visto come utilizzare nelle lezioni precedenti.
L'ultimo strumento è HashMyFiles.
HashMyFiles viene utilizzato per creare l'hash crittografico di un determinato file.
Questa è una schermata di un'analisi, una sessione di analisi statica.
In alto a sinistra, si vede lo strumento TrID utilizzato per identificare il tipo
di file, se si tratta di un file EXE o PE o DLL o altro.
Ed ecco Exeinfo PE.
Questo può essere usato per identificare se il file è stato impacchettato o meno.
Ad esempio, qui si può vedere il file che viene impacchettato e il packer.
Può anche fornire informazioni sul tipo di file.
E poi PE Studio. PE Studio può dire quali sono le API sospette utilizzate dal file.
E anche altre informazioni che possono essere ottenute dall'intestazione.
L'intestazione stessa. PE Studio è stato creato appositamente per analizzare il malware e può
cercare file sospetti, campi sospetti all'interno dell'intestazione PE stessa.
Qui in basso a sinistra c'è CFF Explorer, che abbiamo già visto nelle lezioni precedenti.
Si passa quindi all'analisi dinamica.
L'analisi dinamica può essere ulteriormente suddivisa in due categorie principali: monitoraggio dei cambiamenti e monitoraggio del comportamento.
Nel monitoraggio delle modifiche, creeremo un'istantanea, un'istantanea del sistema operativo prima di eseguire il file.
Prima di eseguire il malware.
E una volta ottenuta un'istantanea, si esegue il malware stesso,
lo si esegue e lo si lascia agire per qualche secondo o qualche minuto, in modo che il malware esegua
le modifiche al sistema operativo, come la creazione di nuove voci di registro, la creazione
di nuovi file, l'avvio di nuovi processi e così via.
O anche l'eliminazione di file e così via.
Una volta terminate le modifiche, gli diamo qualche minuto per eseguire tutte le modifiche.
Quindi si procederà a una seconda istantanea.
Ora possiamo confrontare le due istantanee.
E poi dal confronto sapremo quali sono le modifiche apportate dal malware.
In questo modo è possibile sapere se il malware ha creato una nuova chiave di registro e ha creato
nuovi file.
Il prossimo è il monitoraggio del comportamento.
Il monitoraggio del comportamento è il momento in cui si studia più dettagliatamente il comportamento del malware in esecuzione.
Ad esempio, possiamo vedere se il malware ha creato nuovi processi.
E se ha scritto un nuovo file o se ha cancellato dei file.
E così via.
Queste sono le due categorie principali dell'analisi dinamica.
Strumenti di analisi dinamica.
Alcuni degli strumenti più comuni utilizzati per l'analisi dinamica
sono Regshot.
Regshot può essere utilizzato per creare un'istantanea del sistema operativo prima dell'esecuzione del malware.
Dopo l'esecuzione del malware, Regshot può scattare una seconda istantanea e confrontare
le due istantanee, indicando le modifiche apportate dal malware al sistema
operativo.
Da qui possiamo sapere se il malware ha creato nuove chiavi nel registro di sistema e possiamo
anche sapere quali sono i nuovi file creati dal malware.
E anche altri cambiamenti.
Il prossimo strumento è Autoruns.
Ora Autoruns sarà in grado di dirvi quali sono i meccanismi di persistenza utilizzati dal malware.
Ora è tipico che il malware cerchi di sopravvivere a un riavvio del sistema operativo creando nuove voci di registro
all'interno del registro o creando copie di se stesso in determinate posizioni delle cartelle che avvieranno automaticamente qualsiasi programma
contenuto al suo interno.
Quindi Autoruns vi mostrerà tutte queste cose.
FakeNet.
FakeNet viene utilizzato per catturare qualsiasi tipo di connessione di rete a server esterni.
Quindi FakeNet fingerà di essere i server che il malware sta cercando di raggiungere
ed è così che sappiamo quali sono i nomi dei server, gli URL e così via a cui il malware sta cercando di connettersi.
In questo modo non consentirà al malware di connettersi effettivamente a Internet perché FakeNet intercetterà
i pacchetti e fingerà una risposta.
Infine, salviamo un file chiamato PCAP, che contiene tutte le interazioni e le connessioni di rete,
che possiamo analizzare con un altro strumento chiamato Wireshark.
Quindi Wireshark è molto potente.
È possibile aprire il file PCAP da FakeNet e analizzare tutti i pacchetti in dettaglio.
Poi arriviamo a Procmon, noto anche come Process Monitor.
Procmon può essere utilizzato per analizzare tutte le API chiamate da un malware ed è molto utile.
È possibile analizzare dove sta scrivendo il file, creando file, creando nuove chiavi di registro, eliminando file
e così via.
E poi possiamo salvare questa sessione di Procmon in un file CSV.
E poi possiamo usare un altro strumento chiamato ProcDOT per aprire il file CSV di Procmon e disegnare un bel grafico,
un grafico di sessione visualizzato, che può mostrarci cose che probabilmente ci sfuggono se usiamo
solo l'output testuale di Procmon.
Quindi, utilizzando ProcDOT possiamo vedere quali sono i file che sono stati rinominati, se il malware ha creato una copia di se stesso
e l'ha rinominata.
Possiamo anche vedere quali sono le chiavi di registro create per mantenere la persistenza del malware.
ProcDOT mostra anche i vari thread creati dal malware.
Per questo ProcDOT è molto utile.
Esistono anche altre tecniche.
Ad esempio, il reverse engineering, in cui si cerca di disassemblare il malware stesso per studiare il codice e il
codice assembly o anche il codice decompilato.
Un'altra tecnica è l'analisi della memoria.
Ora, anche se alcuni malware possono essere impacchettati per resistere all'analisi, qualsiasi malware impacchettato
ha bisogno di scompattarsi in memoria.
Ed è qui che l'analisi della memoria può essere utilizzata per sconfiggere l'impacchettamento.
Infine, c'è l'automazione, che si avvale di strumenti di automazione per eseguire l'analisi stessa.
Ora, l'obiettivo di tutte queste analisi è scoprire quali sono le modifiche al file system apportate dal malware.
Quali sono le modifiche al registro?
Quale traffico di rete viene generato?
Si chiama a casa per scaricare pacchetti aggiuntivi, strumenti aggiuntivi?
E come fa il malware ad avviarsi automaticamente?
E infine, avvia qualche altro processo?
Queste sono alcune delle domande che cerchiamo quando eseguiamo l'analisi del malware.
Con questo concludiamo la conferenza.
Grazie per aver guardato.
Ci vediamo alla prossima.