L’analisi statica consiste nell’analizzare un Malware senza avviarlo, studiandone il codice e le funzioni per determinarne il comportamento. Questo articolo vuole essere un’introduzione alle tecniche di base per riconoscerne uno e iniziare ad analizzarlo.
I link sottolineati e in rosso potrebbero risultare dannosi, apriteli con le dovute precauzioni; anche se si scaricheranno malware già riconosciuti e non si avvieranno, consiglio di testare il tutto su una macchina virtuale (io userò Remnux) o su un dispositivo fisico da utilizzare solo per questo scopo. Il file che utilizzerò l’ho scaricato da questa lista ed è questo.
Sembrerà strano, ma il primo utile passo da compiere è fare una scansione antivirus del file in questione in modo da capire subito quanto è considerato dannoso e identificare già cosa possa essere. Una scansione con VirusTotal, mostra che è considerato un Trojan da 22 antivirus su 57, il che fa pensare che del codice maligno sicuramente è presente.
Oltre a farlo analizzare online, potete ricavare l’MD5 con questo comando (in linux)
md5sum setup.exe
e poi cercare su un qualsiasi motore di ricerca la stringa risultante.
Questa funzione può essere utile per programmi piccoli, o per Malware con poche righe di codice. Digitando
strings setup.exe
mi escono migliaia di righe, quelle utili possono essere:
Molti malware sono ofuscati in modo da rendere più difficoltoso il riconoscimento. Per esserlo includono almeno le funzioni _LoadLibrary _e GetProcAddress. Per vedere se è ofuscato o impacchettato potete usare [UPX](http:// upx.sourceforge.net/) con il comando
upx -d setup.exe
Con il software peframe vado ad analizzare il file. Per prima cosa scopro che è impacchettato
e rileva anche una sezione sospetta, nella quale probabilmente si trovano le istruzioni maligne
Come si può osservare, questo tipo di analisi fornisce poche informazioni rilevanti, ma ci permette di stabilire con che tipo di malware abbiamo a che fare e le funzioni che danneggiano il dispositivo.
I software principali per questa analisi sono: