Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

ragno spider malware

Infiltrati nel Canale Telegram di Rilide Infostealer! Gli esperti italiani ci spiegano come funziona

Giuseppe Calì : 4 Ottobre 2024 10:27

A partire dal 2023, Rilide è emerso come una minaccia in crescita nel panorama degli infostealer. Prendendo di mira principalmente browser basati sul motore Chromium, come Google Chrome e Microsoft Edge, Rilide opera come un’estensione del browser, accedendo a credenziali di accesso, cookie e persino carte di credito e portafogli di criptovalute.

I ricercatori italiani di Delfi Security con questo articolo, hanno svolto un’indagine su un campione di Rilide distribuito insieme a un loader PowerShell per eludere i sistemi di detection. Il codice del loader include un meccanismo che invia un avviso con le informazioni di sistema a un canale Telegram ogni volta che il loader viene eseguito. A causa di una configurazione errata dei permessi del canale, è stato possibile accedervi, recuperare l’elenco completo dei dispositivi infetti e identificare l’account Telegram dal threat actor per gestire il canale.

Analisi del loader

Il loader PowerShell è suddiviso in due stage. Nel primo stage vengono definite due costanti: “p94oc”, che contiene il secondo stage crittografato con AES, e “UG8Nu5”, che contiene la chiave di decrittazione. Il codice viene eseguito tramite la funzione Invoke-Expression dopo essere stato decrittato dalla funzione decrypt():

Vuoi diventare un Ethical Hacker?
Non perdere i nostri corsi e scrivi subito su WhatsApp al numero
375 593 1011  per richiedere informazioni dicendo che hai trovato il numero sulle pagine di Red Hot Cyber

Supporta RHC attraverso:


Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.

Set-Variable p94oc -Option Constant -Value 'qlzVmHUcEvt0o[...]'

Set-Variable UG8Nu5 -Option Constant -Value System.Text.Encoding]::UTF8.GetString(([byte[]] ( 87, 103, 47, [...] ))))

function decrypt( $UG8Nu5, $T7Ek )

{

    $LV2q = [System.Convert]::FromBase64String( $T7Ek )
    $irW2N = $LV2q[0..15]
    $nTMr = createAesManagedObject $UG8Nu5 $irW2N
    $ybXNa = $nTMr.CreateDecryptor()
    $M5Tz = $ybXNa.TransformFinalBlock( $LV2q, 16, $LV2q.Length - 16 )
    $nTMr.Dispose()
    return [System.Text.Encoding]::UTF8.GetString( $M5Tz ).Trim( [char] 0 )

}

Invoke-Expression ( decrypt $UG8Nu5 $p94oc )

Il secondo stage, una volta decrittato, esegue le seguenti azioni:

  • Raccoglie informazioni sull’utente corrente, i suoi privilegi, il dispositivo e i gruppi locali presenti su di esso.
  • Recupera l’indirizzo IP e la posizione del dispositivo inviando una richiesta GET a “http://ipapi.com/json/?fields=status,message,query,country,regionName,city,isp,timezone”.
  • Estrae l’estensione Rilide – memorizzata all’interno del secondo stage stesso – in una cartella temporanea: “C:\Users\[utente]\AppData\Roaming[valore casuale]\”.
  • Raccoglie un elenco dei browser basati su Chromium installati e installa l’estensione copiando manualmente i file e modificando alcune chiavi di registro e file delle preferenze di sicurezza del browser.
  • Elimina la cartella temporanea creata.
  • Invia un report al threat actor tramite un canale Telegram dedicato, includendo le informazioni raccolte nel primo punto e un log completo dell’installazione. Per consentire ciò, nel codice sono inclusi il token del bot e l’ID del canale.

Un comportamento tipico per un loader di un information stealer. Durante l’analisi, il token del bot utilizzato per inviare messaggi al canale Telegram era ancora attivo. Ciò è stato verificato chiamando il metodo /getMe dell’API di Telegram tramite una richiesta GET all’indirizzo:

https://api.telegram.org/bot[BOT_ID]:[TOKEN]/getMe

La chiamata /getMe ha restituito informazioni di base sul bot, come il suo ID e il nome utente, confermando che il token era ancora valido:

Accesso al canale di notifica del loader

Al momento dell’analisi, il canale utilizzato per inviare i messaggi era privato, il che significa che solo i membri potevano vederne il contenuto. L’API Bot di Telegram offre numerose funzionalità, ma nessuna per leggere i messaggi da un canale. Tuttavia, alcuni metodi possono essere sfruttati per accedere al contenuto se il canale è configurato in modo insicuro.

Se il bot è amministratore del canale e dispone delle autorizzazioni necessarie, è possibile utilizzare il metodo /createChatInviteLink per generare un link che consente a qualsiasi utente di Telegram di unirsi al canale, inviando una richiesta GET a:

Nella maggior parte dei casi, i canali utilizzati dagli infostealer per ricevere aggiornamenti non consentono questo tipo di accesso. Tuttavia, questa volta, alla chiamata del metodo /createChatInviteLink, è stata restituita la seguente risposta:

Aprendo il link, qualsiasi utente poteva unirsi al canale, che al momento dell’analisi contava 3 iscritti (incluso il bot):

Il canale era attivo al momento dell’analisi e riceveva quotidianamente dozzine di nuovi messaggi da dispositivi infetti. Questi messaggi contenevano un allegato di testo con un log dell’installazione del malware, che riportava dati sull’ambiente di esecuzione (come il nome del dominio Active Directory, il percorso di installazione del malware e altro), eventuali errori riscontrati – probabilmente per scopi di debug – e informazioni di base sul sistema appena infettato:

Lo scraping del canale ha permesso di scoprire 291 dispositivi infetti insieme a informazioni di base sui sistemi. Laddove è stato possibile identificare le vittime tramite i dati presenti nel log di installazione (ad esempio attraverso i nomi dei domini Active Directory), le parti interessate sono state avvisate.

Identificazione dell’account utilizzato per gestire il canale

Utilizzando una richiesta GET all’indirizzo:

è stato possibile identificare l’account utilizzato dal threat actor per gestire il canale:

L’account era ancora attivo al momento dell’analisi:

Sebbene talvolta sia possibile scoprire informazioni interessanti sugli account Telegram se le loro impostazioni di privacy sono configurate in modo errato, in questo caso non è stato così. Pertanto, l’indagine su questo account è stata interrotta a questo punto.

Conclusione

Telegram è stato sfruttato da attori malevoli per anni, e i distributori di infostealer non fanno eccezione. L’uso dei canali Telegram offre diversi vantaggi agli attaccanti, come l’eliminazione della necessità di un hosting web. Tuttavia, i canali configurati in modo errato possono fornire informazioni cruciali agli analisti, poiché è sempre possibile estrarre il token del bot e l’ID del canale dal campione di malware. Inoltre, è possibile inondare il canale con dati falsi, rendendolo inutilizzabile per il proprietario. In alcuni casi, si può persino rimuovere il proprietario o chiudere il canale.

Delfi Security ritiene che ogni incident responder potrebbe trarre beneficio dalla capacità di valutare la sicurezza dei canali Telegram e di applicare tale conoscenza quando affronta campioni di malware che li utilizzano per C&C o esfiltrare i dati.

Giuseppe Cali
Classe '97, inizia la carriera come Red Team Operator nei Paesi Bassi. Come Red Team Operator, ha condotto decine di simulazioni di attacco per organizzazioni pubbliche e private di ogni dimensione. Dal gennaio 2024 è fondatore e Threat Intelligence Analyst di Delfi Security, startup che offre soluzioni avanzate per la protezione da infostealer e data breach.