Alcuni utenti hanno recentemente subito una nuova infezione. Velocemente abbiamo verificato come questo attacco fosse dovuto a Expiro. Abbiamo quindi deciso di condurre un’indagine e un’analisi approfondita di Expiro e di ciò che lo rende una minaccia così pericolosa e potente. Questo articolo riassume l’analisi dei nostri Security Research Lab ed illustra gli step necessari di sicurezza per gli utenti colpiti.
Iniziamo!
Expiro in breve
Expiro è un file infector che danneggia e infetta i file delle applicazione sui sistemi degli utenti aggiungendo il codice del virus ai file PE (eseguibili). Il vettore di infezione di Expiro proviene dalle seguenti fonti:
- versioni patchate o crackate di software;
- drive-by-download: download del file infetto dopo la visita ad un sito web compromesso;
- scaricato da altri malware;
- drive USB;
- campagne di malvertising.
Expiro colpisce file eseguibili sia a 32 che 64bit- La nuova variante di Expiro è un “appender”, un malware che infetta i file inserendo il codice del malware stesso alla fine del file, in dettaglio alla fine dell’ultima sezione del file eseguibile.
Analisi comportamentale
Una volta eseguito, Expiro aggiunge il file indicato sotto. I file è criptato e contiene certificati e password rubati dai browser
- %AppData%\.bin
Ad esempio: %AppData%\60ca123a243237b7.bin
Per assicurarsi che sia in esecuzione nel sistema una sola istanza di Expiro, vengono creati io seguenti mutex:
- \BaseNameObjects\SM0::WilStagig_02
- \BaseNameObjects\Multiarch.m0yv–inf
- \BaseNameObjects\Multiarch.m0yv-b7f3f232-b
Expiro quindi si connette al server remoto e inizia a ricevere i comandi da eseguire sul sistema infetto.
Processo di infezione dei file
Le precedenti varianti di Expiro modificavano e rubavano codice dall’entry point del file e aggiungevano il payload alla fine del file originale. Un comportamento tipico di ogni file infector e piuttosto scontato. La nuova variante, tuttavia, modifica una call nella sezione eseguibile che poi salta all’ultima sezione, in un offset dove si trova il codice dannoso del malware.
Il codice per calcolare e selezionare quale Call modificare è altamente offuscato. Una volta che è stata individuata la Call, questa viene sovrascritta col codice del malware. Il codice malware aggiunto viene mantenuto in forma criptata. La routine di decriptazione usa una combinazione di operazioni aritmetiche e logiche, rendendo assai complessa la decriptazione. Il codice è decriptato all’esecuzione. Contiene un buffer compresso che viene decompresso all’avvio. Questo buffer viene di nuovo decriptato implementando ChaCha e algoritmi personalizzati.
Analizzando più file di questa variante abbiamo scoperto che il buffer decompresso rimane lo stesso per la maggior parte dei file. Il wrapper invece continua a cambiare. Eseguita decompressione e decriptazione, l’applicazione infetta è avviata e infetta anche altri eseguibili nel sistema. Il processo di infezione è implementato in maniera tale che l’applicazione infetta continua a funzionare normalmente, senza che l’utente possa rendersi conto che l’applicazione è stata corrotta.
Che cosa rende così difficile il ripristino dei file compromessi da Expiro?
A causa dell’uso della routine di patching della call offuscata e del codice del malware criptato, ripulire il codice con accuratezza è una grande sfida che condanna gli eseguibili ad un alto rischio di instabilità. Una volta che la call è modificata, gli indirizzi originali sono criptati con più livelli, quindi compressi. La decompressione e decriptazione di questi indirizzi avviene all’avvio nella memoria. Calcolare e ripristinare questi indirizzi in chiaro è complicato e può danneggiare il file originale.
Come opera Expiro?
Una volta che un sistema è stato colpito con Expiro, il malware mappa i drive e la rete e infetta file eseguibili lungo i drive di rete. Ha capacità simili a quelle di un worm. L’infezione a questo punto si estende lungo la rete. Expiro si connette ad un server remoto C&C e agisce come una backdoor: invia le informazioni sul sistema e riceve i comandi dal server remoto. In alcuni casi questi server C6C sono mantenuti indisponibili ed offline per la maggior parte del tempo e tornano online solo periodicamente.
Expiro: le funzionalità dannose
Avendo la possibilità di comunicare con un server C&C, Expiro può ricevere comandi diversi dal proprio controller ed eseguirli sul sistema infetto. Ad esempio Expiro può:
- installare altri malware, soprattutto keylogger, spyware, ransomware ecc…
- rubare e caricare nei server informazioni sensibili;
- disabilitare i software di sicurezza;
- hijacking dei server;
- garantirsi la persistenza sul sistema.
Come scoprire se il sistema o la rete sono stati colpiti con Expiro
La famiglia malware di Exiro è definibile come “appender”. Ne consegue che i sintomi conseguenti ad un infezione col malware Expiro possono variare. Alcuni sintomi comuni sono:
1. Il Firewall di Quick Heal mostra un alert
2. Crash delle applicazioni:
le app installate sul sistema potrebbero andare in crash o arrestarsi frequentemente mentre sono in uso. Sarà sufficiente dare uno sguardo al Log degli Eventi per le applicazioni Windows e per il sistema Operativo per averne conferma
- Dalla barra di ricerca di Windows basterà cercare il Visualizzatore di eventi e selezionare l’app;
- nel Visualizzatore eventi, espandere la cartella Registri di Windows, quindi Applicazione.
3. Quick Heal individua e blocca Expiro
Se hai individuato uno di questi sintomi nel tuo sistema o nella tua intranet ci sono alte possibilità che il tuo sistema o la tua rete siano stati colpiti da Expiro. In questo caso, ti consigliamo caldamente i seguenti step:
- proteggi tutte le macchine nella rete con Seqrite. Assicurati che l’antivirus sia aggiornato al più recente database dei virus.
- esegui una scansione completa del sistema su tutti i nodi.
Nota: se possibile, fai la scansione su tutti gli endpoint in modalità isolamento. Disconnetti gli endpoint da qualsiasi rete.
Cosa fare se il sistema è infetto?
Se un’applicazione è stata infettata, la cosa migliore è reinstallarla dal sito web del vendor oppure scaricandone una versione pulita da una fonte affidabile. Potresti anche ripristinare l’applicazione dal backup, ma non prima di aver eseguito una scansione completa del backup e esserti assicurato che è pulito e sicuro.
Nota bene: reinstalla le applicazioni solo dopo averle scansionate ed aver avuto conferma che sono pulite. Prima di installare una nuova copia dell’applicazione, scansiona l’intero sistema e assicurati che Expiro non sia presente sulla macchina. Al contrario, le applicazioni appena scaricate e installabili potrebbero essere di nuovo compromesse.
Expiro può colpire anche applicazioni del sistema operativo come Windows Installer Service [C:\Windows\system32\msiexec.exe] o drive di sistema dove il sistema operativo è installato. Ti invitiamo a fare riferimento a questo screenshot
Se i file del sistema operativo sono corrotti, l’opzione più sicura è contattare l’amministratore IT e ricostruire il sistema operativo.
Prima di connettere il sistema alla rete è fondamentale convalidare l’integrità del sistema e della rete stessa. Il collegamento di un sistema nuovo e pulito ad una rete dove Expiro si nasconde ancora può portare ad una nuova infezione.
Seqrite individua Expiro come:
- W32.Expiro.R3
- Worm.Expiro.S28986130
- Worm.Expiro.S28994724
- SMB/Expiro.Infector!AR.47445
Resta al sicuro da Expiro e infezioni simili!
- Non installare e scaricare software crackati o patchati;
- installa software solo se provenienti da fonti sicure o genuine;
- non navigare su siti web che mostrano pop up e advertisement eccedente e non necessario;
- usa i drive USB con molta cautela. Disabilita la funzione Autorun;
- non fare click su link e non scaricare allegati ricevuti da fonti sconosciute, inattese o sospette;
- fai sempre un backup dei tuoi dati e mantienilo aggiornato;
- mantieni aggiornati browser, sistema operativo e altri sowftare come Adobe, Java, il software antivirus ecc….
- prendi l’abitudine a leggere attentamente l’EULA e a verificare quali componenti aggiuntivi sono installati insieme ad ogni software.