Guida Malware Reversing Malware Analysis e analisi blackbox su Windows

JunkCoder

Moderatore
5 Giugno 2020
1,682
25
1,500
653
Ultima modifica da un moderatore:

michael-geiger-JJPqavJBy_k-unsplash.jpg

Malware Analysis - Analisi blackbox per Windows - Parte 2​







Nella prima parte introduttiva è illustrata una panoramica sul mondo della Malware Analysis. Adesso tratteremo un tipo di analisi passiva per raccogliere informazioni sul comportamento di programmi in modo non invasivo e soprattutto semplice.

1    Metodi di analisi blackbox

Per "blackbox" intendiamo letteralmente "scatola nera", ovvero che non sappiamo cosa ci sia dentro, si tenta di capire il suo comportamento per vie esterne. I metodi più popolari sono:
  • API Hooking: si monitorano le chiamate di sistema per capire dove il programma sta operando (lettura/scrittura file, operazioni su registro...) che possono essere intercettate a diversi livelli (kernel32, ntdll, nel Kernel...). Ci sono pro e contro sul dove piazzare un hook, sul Kernel ad esempio siamo sufficientemente sicuri che un programma in user-mode non possa evadere il nostro hook, cosa non certa su interfaccie di più alto livello come kernel32. Il contro in questo esempio è che si ha molta meno conoscenza del contesto in cui gira il programma (osservarlo da kernel può risultare complesso e se si sbaglia rischioso).
  • Osservare i risultati tramite snapshot: immaginate di fare una "fotografia" del sistema prima di aprire il programma, di farne un'altra dopo che ha finito e comparare i risultati. Questo può darvi un idea su cosa il software si è lasciato dietro e potrebbe aiutarvi a capire il suo scopo.
  • Eventi: è possibile, tramite API, ricevere delle "notifiche" dal sistema qualora si verifichino modifiche al filesystem, ai servizi ed altri tipi di eventi.

2    Strumenti utili


2.1    Procmon


procmon.png

In cima alla lista va sicuramente Procmon di Sysinternals. Questo strumento ha un driver Microsoft che permette di monitorare le chiamate di sistema lato kernel e vi permette di filtrare le informazioni in moltissimi modi (per processo, per file, per tipo di operazione...)

2.2    Regshot


regshot.png

Come strumento utile abbiamo anche Regshot: è sufficiente fare uno snapshot prima ed uno dopo aver terminato l'esecuzione di un programma per comparare le modifiche fatte al registro di sistema. Ci sarà sempre spazzatura in mezzo perché diversi programmi scrivono continuamente sul registro.

2.3    Wireshark


wireshark.png

Wireshark vi permette tramite un driver di monitorare tutto il traffico di rete, potete usarlo per scoprire se il programma tenta di connettersi ad internet ed eventualmente carpire anche il contenuto delle richieste se non cifrate.

2.4    Autoruns


autoruns.png

Autoruns di Sysinternals vi aiuterà a cercare il modo in cui il malware cerca di mantenere la persistenza, presentandovi un'ampia lista di tutti i programmi all'avvio del computer divisi per categorie.

2.5    Event Viewer


eventlog.png

Event Viewer di Windows contiene diversi canali dove leggere importanti eventi applicativi e di sistema

Nella prossima parte del corso si entrerà nel tecnico, parlando di Reversing e strumenti che facilitano il lavoro di ingegneria inversa su Windows.

3    Risorse aggiuntive

Di seguito sono elencati tutti i capitoli del corso ed ulteriori risorse utili per comprendere al meglio l'arte dell'analisi di malware e gli strumenti necessari: