Come il malware OopsIE evita le sandbox

Una sandbox senza malware

Un’analisi del malware OopsIE da parte di Unit 42 ha portato alla luce tutta una serie di tecniche adottate dal trojan per evadere i controlli degli analisti. Difatti una delle attività preliminari che svolgono molti malware prima di procedere all’infiltrazione è capire se si trovano all’interno di una macchina virtuale (una sandbox). Per farlo vi sono diversi metodi, ma la nuova versione di OopsIE, creato dal gruppo di hacker OilRig per infiltrare aziende e organizzazioni del Medio Oriente, ne ha creati di nuovi che vale la pena guardare più da vicino.

  • Controllo della ventola: il malware lancia la query WMI (Windows Management Instrumentation): Select * from Win32_Fan
    La query dovrebbe restituire dettagli sulla ventola della macchina. Se le informazioni fornite sono uguali a zero il malware capisce di trovarsi probabilmente in una sandbox e smette di funzionare.
  • Controllo della temperatura: la query SELECT * FROM MSAcpi_ThermalZoneTemperature permette di leggere la temperatura della CPU, ma il malware cerca nei risultati il termine “supported”, se lo trova capisce di trovarsi in un ambiente virtuale (di solito il messaggio di errore restituito dalla query è “not supported”).
  • Controllo del puntatore del mouse: dopo la query Select * from Win32_PointingDevice il malware cerca nei risultati uno dei termini fra VMware, Virtual, VBox, VM o Oracle, che se presente indica un probabile ambiente virtuale.
  • Controllo dell’hard disk: stesso discorso del mouse, dove dopo una query Select * from Win32_DiskDrive vengono cercati i medesimi termini.
  • Controllo della scheda madre: anche in questo caso si cercano i termini relativi a un possibile ambiente virtuale a seguito della query Select * from Win32_BaseBoard.
  • Controllo specifico per Sandboxie: il malware cerca di caricare il file SbieDll.dll, specifico del software “Sandboxie“.
  • Controllo specifico per VBox: il malware cerca il file vboxmrxnp.dll nella directory di sistema.
  • Controllo specifico per VMware: il malware cerca i file vmGuestLib.dll o vmbusres.dll nella directory di sistema.

Infine il malware compie due controlli finali, il primo verificando che la proprietà TimeZone.CurrentTimeZone.DaylightName contenga i termini Iran, Arab, Arabia o Middle East, per essere sicuro di trovarsi in un fuso orario corrispondente al Medio Oriente.

Il secondo controllo richiede un’interazione dell’utente, poiché il malware mostra il messaggio di errore “An error occurred while processing user32.dll!” offrendo all’utente la possibilità di chiuderlo premendo su “Ok”.

Il gruppo OilRig, forse di origine iraniana, lancia ormai da diversi anni attacchi contro aziende e istituzioni di Paesi mediorientali, cercando di migliorare sempre i tool utilizzati. La persistenza degli attacchi, oltre alla quantità di accorgimenti e tecniche per evadere i controlli e le analisi, suggeriscono che il gruppo sia ben motivato e che abbia a disposizione apprezzabili risorse economiche.

Si è ipotizzato che OilRig possa avere punti in comune con il team APT34, un gruppo di hacker iraniani che secondo FireEye lavorano per il governo, ma non ci sono conferme certe in merito.

Ho iniziato a interessarmi di cybersecurity dal 1989, quando ho "trovato" il mio primo virus. Dal 1992 me ne occupo professionalmente: per oltre un decennio come collaboratore di testate specializzate (fra cui PC Professionale), poi come consulente del Ministro delle Comunicazioni su aspetti di sicurezza delle reti, quindi con collaborazioni sui medesimi temi con Telespazio (gruppo Finmeccanica). Oggi mi interesso di nuove tecnologie (AI) e cyber warfare. Sono socio fondatore del chapter italiano di Internet Society e membro dell'Associazione Italiana esperti in Infrastrutture Critiche. Dal 2006 lavoro presso ESET Italia, dove ricopro il ruolo di Operations Manager. Il blog è personale.