Flash news

MirrorBlast. Come davanti ad uno specchio

In questo articolo, prenderemo in considerazione un giovane rappresentante della classe dei downloader di malware: MirrorBlast. Il primo campione è arrivato nelle mie mani alla fine di settembre. Una caratteristica distintiva di questo malware è la presenza di versioni nella cui creazione i criminali informatici hanno utilizzato un insieme originale di strumenti. Il malware MirrorBlast è attualmente presentato sotto forma di due implementazioni: Rebol script (un linguaggio di programmazione di oggetti sensibile al contesto creato appositamente per l’elaborazione distribuita sul Web) e basato su KiXtart (un linguaggio di scripting proprietario semi-libero per Windows). Il set di tecnologie presentato distingue questo malware tra tanti noti downloader. La catena di infezione MirrorBlast non è meno interessante.

La catena di infezione

I campioni rilevati del downloader MirrorBlast sono stati distribuiti dai criminali informatici come parte dei classici messaggi di massa dannosi:

Email dannosa

Tutti i messaggi rilevati contenevano un documento XLS con una macro incorporata come allegati:

  • XLS (come Rebol): 7fc2fed914bdc1d7f49bd36d6196fffe818156bd05f48c73ad68021f7723cd4b
  • XLS (in KiXtart): d6c487b1fb3d31851921b343f3d131f7cb4c0469a60484037a6fa8cfbdc29dea

Gli script incorporati venivano eseguiti quando l’utente apriva un documento dannoso. Per contrastare il rilevamento, lo script JS annidato viene memorizzato capovolto:

Lo script annidato

Di seguito è riportato il codice dello script deoffuscato:

Quando lo script viene avviato, il file MSI viene caricato dal server di gestione e lanciato utilizzando la tecnica LOLbin utilizzando l’utility legittima MSIEXEC.

  • MSI (per Rebol): 61f1b9c62af8cabeb930ac0046adf6844be88896bfb3a5bd659a0d061c559791
  • MSI (in KiXtart): 83e4c90dc8bc1c53a4000bef83a355c4e36d2a1ba4a5d0982bc5b9b350278f1f

Al momento dell’analisi, i file MSI avevano una bassa percentuale di rilevamento da parte delle soluzioni antivirus:

Cosa diceva VirusTotal

Il programma di installazione MSI contiene uno script dannoso e un file eseguibile dell’interprete firmato per eseguire lo script:

Rebol -scenario: 2de2bb951191a895f0bab7a6e65daecdb5164886ac592901fe3cd8646c4a6f5c

KiXtart : d0d415dbe02e893fb1b2d6112c0f38d8ce65ab3268c896bfc64ba06096d4d09a

Durante l’esecuzione del programma di installazione MSI, è stato lanciato uno script dannoso utilizzando l’interprete appropriato. Durante l’esecuzione, può essere risolto nel sistema aggiungendo una chiave alla chiave di registro Esegui (in alcuni dei campioni rilevati, questa funzionalità era assente). Di seguito è riportato un esempio di avvio della versione Rebol del malware MirrorBlast:

Lo script è codificato in base64:

Lo script decodificato si presenta così:

La funzionalità dello script può essere suddivisa in 2 blocchi principali:

  • Raccolta di informazioni sul sistema infetto (versione del sistema operativo, nome del computer, nome utente, architettura del processore). La versione del malware viene aggiunta alle informazioni raccolte (nel campione considerato, la versione è 1.0.0).
  • Comunicazione con il server C&C e avvio di un payload aggiuntivo.

I payload aggiuntivi vengono recuperati utilizzando lo script PowerShell codificato. Di seguito è riportato il codice decodificato per questo script:

Sfortunatamente, non è stato possibile recuperare il payload archive.zip durante l’analisi.

Comunicazione con il server C2:

La prima richiesta viene inviata al server per registrare il dispositivo:

In risposta dal server, viene restituito un identificatore host univoco, che viene generato sul server in base ai dati di sistema precedentemente raccolti:

Tutte le richieste al server vengono inviate in un loop infinito con il passaggio dell’identificatore generato codificato in base64 come parametro GET. L’identificatore viene salvato sul dispositivo infetto nella seguente directory:

Dopo aver registrato il dispositivo, viene inviata una richiesta, in risposta alla quale il server C2 restituisce un elenco di server di gestione attivi:

Viene inviata la seguente richiesta per ottenere il codice di comando per l’esecuzione del payload sull’host:

Se il valore è “3”, verrà eseguito uno script PowerShell per caricare il payload. Al momento dell’analisi, il server C2 restituiva i valori “0” e “-1”.

ModoAppuntamento
http://c2_address/p /r ?x=base64<system_info>Registrazione di un dispositivo
http://c2_address/p /m ?x=base64<UUID>Ottenere un elenco di indirizzi disponibili C2
http://c2_address/p /p ?x=base64<UUID>Ottenere un comando di download e un payload aggiuntivo
http://c2_address/p /d ?x=base64<UUID>Scarica il carico utile

Versione KiXtart dello script

Il file KiXtart ha una struttura crittografata e compressa e non contiene il codice dello script in chiaro:

Puoi utilizzare il seguente strumento pubblicamente disponibile per ripristinare il codice sorgente dello script: Kixtart-Detokenizer.

Le principali differenze tra la versione KiXtart del malware MirrorBlast e la versione implementata in linguaggio Rebol stanno nel modificare l’insieme dei dati di sistema raccolti dal malware per la registrazione sul server C2, oltre che nel semplificare il meccanismo di interazione con il server stesso .

A differenza della versione Rebol, questo script raccoglie e invia informazioni sui processi in esecuzione. Questa versione di MirrorBlast non contiene un parametro che indichi la versione del malware. I dati vengono inviati in forma codificata:

Di seguito i dati decodificati:

Una coincidenza interessante

Nel processo di analisi del malware, è stato deciso di raccogliere informazioni più dettagliate sul dominio C2. Di seguito è riportato il record Whois del dominio:

% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian) 
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).

domain:        MENORUKIS.SU
nserver:       elmo.ns.cloudflare.com.
nserver:       harleigh.ns.cloudflare.com.
state:         REGISTERED, NOT DELEGATED
person:        Private Person
e-mail:        ctouma2@gmail.com
registrar:     R01-SU
created:       2020-12-25T10:03:53Z
paid-till:     2021-12-25T10:03:53Z
free-date:     2022-01-27
source:        TCI

Last updated on 2021-10-25T13:26:30Z

L’indirizzo e-mail ctouma2@gmail.com utilizzato per registrare il dominio è stato precedentemente utilizzato in una campagna dannosa dal gruppo TA505 per registrare un altro dominio nella zona “.su”.

Per concludere

Dopo che un dispositivo è stato infettato, il malware viene utilizzato dai criminali informatici come “beacon”. MirrorBlast invia richieste al server C&C finché non riceve un comando per salvare ed eseguire il payload aggiuntivo. Sfortunatamente, non è stato possibile ottenere un carico utile aggiuntivo dal server di comando e controllo durante l’analisi del campione. Tuttavia, l’uso di linguaggi di programmazione non standard per lo sviluppo di malware può indicare che MirrorBlast appartiene a un gruppo avanzato di criminali informatici, che è indirettamente indicato dall’intersezione nell’infrastruttura di rete con una delle campagne dannose del gruppo TA505.