Ultima modifica da un moderatore:
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
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
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 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 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
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:- Primo articolo: Malware analysis cosa è, come funziona e perché è importante conoscerla
- Secondo articolo: Malware Analysis e analisi blackbox su Window
- Terzo articolo: Malware Analysis - Reversing e Strumenti per Windows
- Quarto articolo: Malware Analysis - Laboratorio di pratica con CTF
- Tutti gli strumenti necessari per il Reverse Engineering