Notizie e breve analisi sul malware MassLogger

09/06/2020

.NET MassLogger

MassLogger è un infostealer e keylogger che ha fatto recentemente ingresso nel vasto panorama dei malware in circolazione. Scritto in .NET, la sua modalità di funzionamento ricorda da vicino quella di AgentTesla. Al momento, non risulta essere stato usato in campagne su obiettivi italiani ma, poichè è acquistabile a buon mercato (disponibile qui a 45$ per una licenza a vita, ma il prezzo può scendere fino a 25$), non è difficile ipotizzare il suo utilizzo nel prossimo futuro anche nello scenario italiano, motivo per cui il CERT-AgID dedica al malware una particolare attenzione.

Non si trovano in circolazione vere analisi di MassLogger ma è possibile riscontrare principalmente immagini di dump delle stringhe o delle connessioni dello stesso malware.
Il gruppo che vende MassLogger possiede anche un account github NYANxCAT (o NYAN CAT).

Packer

Il campione analizzato era contenuto all’interno di due packer .NET che utilizzano tecniche comuni per l’occultazione del proprio payload (in questo caso si trattava di dati codificati nelle risorse immagine) e che non presentano difficoltà particolari riguardo al recupero dell’assembly .NET finale. Un packer, tra l’altro, era già noto. L’utilizzo di due packer separati può rallentare l’analista meno esperto in quanto il primo packer ha le risorse contenenti il payload finale (e un assembly secondario per la decodifica dell’altro packer) ma è il secondo packer che ne esegue l’estrazione.

Questo è infatti caricato nel contesto del primo (dandogli accesso a tutte le risorse di quest’ultimo) a partire da un buffer di dati e non è quindi possibile debuggarlo passo passo. Salvando su file il secondo packer e modificando opportunamente il primo (dnSpy permette di ricompilare i metodi di una classe) è possibile far caricare il secondo packer da file ed eseguire il suo entry-point per permetterne facilmente il debug (in particolare, basta aggiungere un riferimento al modulo del secondo packer salvato su file, avendo quindi accesso a tutti i suoi tipi, e poi invocare il metodo designato come entry-point).
Una volta reso “debuggabile” il secondo packer, il dump del payload finale, ovvero MassLogger, è banale.
Per questo motivo, una più dettagliata descrizione dei due packer non verrà fornita.

Link: Scarica il documento completo (PDF)