Scoperto il malware RedLine Stealer veicolato come LastPass

04/11/2021

rat RedLine

Nel corso delle sue attività di monitoraggio, il CERT-AGID ha rilevato un dominio con una pagina che simula approssimativamente quella del famoso password manager “LastPass”.

La pagina non è identica a quella reale ma riporta lo stesso logo ed invita all’installazione del noto plugin per i vari browser. In realtà, tutti i link puntano al download alla stessa risorsa: un file di 52 MB denominato “LastPass.iso” ed ospitato su un dominio austriaco.

Step #1 LastPass.exe

Analizzando il file PE (scritto in .NET) contenuto all’interno del file ISO si evince subito che l’obiettivo è quello di scaricare un ulteriore file da una postazione differente ed eseguirlo.

All’avvio infatti viene eseguito un Timer (funzione timer1_Tick) che esegue una serie di istruzioni powershell codificate in base64.

Il codice powershell viene ricomposto scaricando ulteriori pezzi di codice da “cdn.discordapp.com” che è ormai diventato repository ufficiale per diverse famiglie di malware.

Lo scopo del codice, una volta messi insieme tutti i pezzi, è quello di scaricare da un server localizzato in Olanda un ulteriore file di tipo PE denominato “traff.exe”. La richiesta per ottenere il file richiede le credenziali di autenticazione riportate in chiaro all’interno del codice.

Step #2 traff.exe

Questo sample è scritto in Delphi e il suo compito è di eseguire in memoria un ulteriore file PE facilmente estraibile impostando un solo breakpoint sulla funzione VirtualProtect.

Il file estratto è un PE scritto in C++ di circa 800 KB che chiameremo traff_030C0000.exe.

Step #3 traff_030C0000.exe

Per l’analisi di quest’altro file non è necessario un debugger: con un editore esadecimale è facilmente rilevabile la presenza di un PE annidato ricercando l’header (4D5A) all’interno del codice. In ogni caso, dal debugger verrà estratto dalla sezione .data

Una volta ripulito, otteniamo un nuovo file PE di circa 700 KB questa volta scritto in .NET e riconosciuto con il seguente nome: “bjpu5lp0wmf.exe”.

Step #4 bjpu5lp0wmf.exe

Siamo all’ultimo stadio e il sample RedLine risulta quindi occultato dal seguente schema:

File ISO -> EXE (.NET) -> EXE (Delphi) -> EXE (C++) -> EXE (.NET)

Una volta avviato, RedLine raccoglie una serie di informazioni relative al sistema compromesso:

indirizzo IP            // contatta il servizio "eth0.me"
Paese di provenienza    // contatta un dominio russo 7fdt[.federguda[.ru

Queste sono le prime azioni compiute da RedLine quando viene lanciato per la prima volta sul sistema. L’Entry Point punta direttamente alla classe “Module” che contiene una lunga lista di funzioni. Le operazioni successive, costituite da una serie di chiamate a funzioni di classi esterne, hanno il compito di raccogliere informazioni sensibili sul sistema in esecuzione.

Informazioni raccolte

La routine viene eseguita ogni minuto e i dati raccolti inviati al server C2 qualora il json che verrà prodotto conterrà nuove informazioni.

Screenshot

RedLine enumera i display presenti e, su richiesta, può effettuare screenshot ed inviarli al C2.

Download esterno

Dopo aver stabilito una connessione con il C2, RedLine è in grado di scaricare ulteriori file (altri malware, tool o aggiornamenti) ed eseguirli sul sistema o aprire link.

Preparazione del socket

Configurazione per il C2

b = buffer size
c = ip
d = porta
e = build id
g = Un URL da cui scaricare uno script in caso di fallimento
h = chiave AES CBC per decifrare i pacchetti

Esempio di comunicazione con il C2:

RedLine -> C2

{
   "Type":"ConnectionType",
   "ConnectionType":"Client",
   "SessionID":"XXXXXXXXXXXXXXXXXXXXXXXX",
   "BotName":"admin",
   "BuildID":"traff",
   "BotOS":"Microsoft Windows 7 Professional ",
   "URLData":"XXXXxxxXXxxXXXxXXXXXxxXX==",
   "UIP":"XXX.XXX.XXX.XXX"
}

La chiave “URLData” è codificata in base64 e contiene informazioni strutturate nel seguente modo (url, email, password, browser):

https://www.facebook.com/ || user@email.com || password |*| Google_[Chrome]_Default dd

C2 -> RedLine

{
    "Type":"SessionID",
    "SessionID":"XXXXXXXXXXXXXXXXXXXXXXXX"
}
{
    "Type":"OneStartOneBlad"
}
{
    "Type":"InitStealer",
    "Config":"YYYyYYYYYyYYYYyyYYYY+"
}
{
    "Type":"ServerAfkSystem",
    "Status":"ok"
}

La chiave “Config” è ancora una volta un base64:

<StealerSettingConfigParce xmlns="SettingsParces" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><discord>true</discord><endbled>true</endbled><files>true</files><ftp>true</ftp><grabber xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><a:string>%userprofile%\Desktop|*.txt,*.doc*,*key*,*wallet*,*seed*|1</a:string><a:string>%userprofile%\Documents|*.txt,*.doc*,*key*,*wallet*,*seed*|1</a:string></grabber><steam>true</steam><telegram>true</telegram><vpn>true</vpn></StealerSettingConfigParce>

Nota: Per individuare la chiave (tra le stringhe nelle risorse) e decifrare i pacchetti scambiati con il C2 il CERT-AGID rende disponibili due script python scaricabili da questo link.

Persistenza

Al fine di garantirsi la persistenza anche al riavvio della macchina, RedLine aggiunge la chiave “sys_w4” al registro:

HKCU\Software\Microsoft\Windows\CurrentVersion\Run

Informazioni che possono essere esfiltrate dal sistema infettato.

Informazioni generiche:

  • ZipCode
  • Monitor
  • ScreenSize
  • IPv4
  • TimeZone
  • City
  • Country
  • Language
  • OSVersion
  • MachineName
  • Hardware
  • ReleaseID

Scansioni sul sistema alla ricerca di:

  • SecurityUtils
  • AvailableLanguages
  • Softwares
  • Processes
  • SystemHardwares
  • Browsers
  • FtpConnections
  • GameLauncherFiles
  • ScannedWallets
  • MessageClientFiles

Riguardo ai Browser colleziona nello specifico:

  • BrowserName
  • BrowserProfile
  • Logins
  • Autofills
  • Cookies

Verifica se sono presenti i seguenti software:

  • ScanFTP
  • ScanWallets
  • ScanScreen
  • ScanTelegram
  • ScanVPN
  • ScanSteam
  • ScanDiscord
  • ScanFilesPaths
  • ScanChromeBrowsersPaths
  • ScanGeckoBrowsersPaths

Ricerca configurazioni per le seguenti VPN:

  • NordVPN
  • OpenVPN
  • ProtonVPN

Conclusioni

RedLine stealer è tra i più noti malware utilizzati dai criminali per esfiltrare informazioni. È attivo nel mercato dagli inizi del 2020 e da allora è stato visto circolare al di fuori dell’Italia mascherato da utility o gioco.

Si tratta di uno dei tanti prodotti venduti come MaaS, contattando gli autori tramite Telegram e sottoscrivendo un abbonamento che varia da 150$ per un mese fino a 800$ per tre mesi, con l’aggiunta di ulteriori “bonus”.

I suoi autori sono molto attivi su Telegram ed hanno creato diversi canali per fornire supporto e informazioni sui nuovi rilasci. La versione attuale, pubblicata lo scorso 1 settembre 2021, è la 21.2 e vanta compatibilità con la precedente piattaforma di gestione ed una detection di 5/26 antivirus.

Sui forum specializzati, RedLine Stealer è noto per essere utilizzato dagli IAB per raccogliere informazioni da rivendere ad attori malevoli specializzati nel ransomware.

Indicatori di compromissione

Il CERT-AGID ha già condiviso gli IoC attraverso la sue piattaforme per favorirne la loro diffusione.

Al fine di rendere pubblici i dettagli di questa campagna si riportano di seguito gli indicatori rilevati:

Link: Download IoC