Infiltrati nel Canale Telegram di Rilide Infostealer! Gli esperti italiani ci spiegano come funziona
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():
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 “ipapi.com/json/?fields=status,…
- 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 es
L'articolo Infiltrati nel Canale Telegram di Rilide Infostealer! Gli esperti italiani ci spiegano come funziona proviene da il blog della sicurezza informatica.