RAT di Telegram basato su Rebex che prende di mira il Vietnam
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Un file CHM malevolo fornito all’interno di un archivio ZIP rilascia un runtime Python dannoso insieme a una DLL C++ che decripta un payload incorporato. Quel payload stabilisce la persistenza attraverso un hijack della shell di Winlogon, un’attività pianificata e l’abuso di MSBuild, quindi lancia un RAT basato su .NET Telegram. Il malware comunica con un bot di Telegram utilizzando un token codificato e supporta l’esecuzione di comandi, la sostituzione di token e il download di file. La campagna è stata osservata colpire vittime in Vietnam e attualmente non mostra rilevamenti su VirusTotal.
Indagine
L’analisi del file CHM ha rivelato uno script che decompilava l’archivio, cancellava PYTHONHOME, e lanciava un eseguibile Python rinominato con un file di bytecode compilato. Il bytecode quindi caricava una DLL che decriptava un blob DOCX crittografato, estraeva componenti aggiuntivi e li scriveva in posizioni temporanee. La DLL creava voci nel registro, pianificava un’attività chiamata Doubt, ed eseguiva un MSBuild file XML per caricare una seconda DLL, che alla fine distribuiva il RAT Telegram .NET. Il RAT si basava su credenziali codificate del bot Telegram per il comando e controllo.
Mitigazione
I difensori dovrebbero bloccare l’esecuzione dei file CHM da fonti non attendibili e limitare l’uso di hh.exe, msbuild.exe, e PowerShell per script non firmati o sospetti. Il monitoraggio dovrebbe concentrarsi sulle modifiche del registro della Shell di Winlogon, sulla creazione insolita di attività pianificate e sui nuovi DLL rilasciati nelle directory temporanee. Le organizzazioni dovrebbero anche ispezionare il traffico API di Telegram attraverso controlli proxy e applicare l’accesso minimo necessario per gli utenti finali. Shell registry modifications, unusual scheduled task creation, and newly dropped DLLs in temporary directories. Organizations should also inspect Telegram API traffic through proxy controls and enforce least-privilege access for end users.
Risposta
I team di sicurezza dovrebbero identificare e isolare i dispositivi compromessi, raccogliere prove volatili ed estrarre le DLL e gli script malevoli per l’analisi. Il valore di Winlogon e l’attività pianificata dovrebbero essere rimossi, i file depositati cancellati e le impostazioni del registro modificate ripristinate a uno stato noto buono. Qualsiasi token del bot Telegram esposto deve essere ruotato immediatamente e i difensori devono continuare a monitorare per ulteriori attività di comando e controllo. È raccomandata un’indagine forense completa per determinare se i dati siano stati esfiltrati. Shell value and the scheduled task should be removed, dropped files deleted, and altered registry settings restored to a known-good state. Any exposed Telegram bot tokens should be rotated immediately, and defenders should continue monitoring for additional command-and-control activity. A full forensic investigation is recommended to determine whether data was exfiltrated.
"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef registry fill:#ffddaa %% Nodes initial_access_phishing["<b>Azione</b> – <b>T1566.001 Allegato Spearphishing</b><br/>Email con CHM malevolo travestito da documento Word inviato alla vittima."] class initial_access_phishing action file_chm["<b>Malware</b> – <b>File</b>: CV – Vu PLPC KT nam 2026.chm<br/>Travestito con doppia estensione per apparire come .doc."] class file_chm malware defense_masquerade["<b>Azione</b> – <b>T1036.008 Mascheramento</b><br/>Il file CHM si spaccia per un documento Word utilizzando la doppia estensione."] class defense_masquerade action defense_obfuscation["<b>Azione</b> – <b>T1027.006 File o Informazioni Offuscati</b><br/>Il contrabbando HTML nasconde il codice malevolo all’interno del CHM."] class defense_obfuscation action execution_user["<b>Azione</b> – <b>T1204.002 Esecuzione Utente</b><br/>La vittima apre il CHM, HTML/JS esegue il tag OBJECT lanciando cmd.exe."] class execution_user action process_cmd["<b>Processo</b> – cmd.exe<br/>Lanciato dal CHM tramite il tag OBJECT."] class process_cmd process execution_msbuild["<b>Azione</b> – <b>T1127.001 Esecuzione Proxy Utility Sviluppatore Attendibile</b><br/>Lo script rilascia mechaniSm.xml e chiama msbuild.exe per caricare DLL .NET malevola."] class execution_msbuild action tool_msbuild["<b>Strumento</b> – msbuild.exe<br/>Utilizzato per caricare ioy24euj.dll."] class tool_msbuild tool file_dll["<b>Malware</b> – <b>DLL</b>: ioy24euj.dll<br/>Contiene il codice .NET per persistenza e consegna del payload."] class file_dll malware persistence_autostart["<b>Azione</b> – <b>T1547.014 Configurazione Attiva</b><br/>La DLL modifica HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell per puntare al wrapper msbuild rinominato."] class persistence_autostart action registry_mod["<b>Registro</b> – HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell<br/>Impostato sul wrapper msbuild personalizzato per l’autou2011run."] class registry_mod registry persistence_event["<b>Azione</b> – <b>T1546.009 DLL AppCert</b><br/>DLL caricata tramite ctypes.CDLL e successivamente eseguita per decrittografare ulteriori payloads."] class persistence_event action dll_load["<b>Processo</b> – ctypes.CDLL load<br/>Carica la DLL malevola nello spazio di processo."] class dll_load process privilege_injection["<b>Azione</b> – <b>T1055.001 Iniezione di Processo</b><br/>La DLL inietta codice in cmd.exe per eseguire i payloads."] class privilege_injection action process_injection["<b>Processo</b> – Iniezione DLL in cmd.exe<br/>Consente l’esecuzione di ulteriori routine malevole."] class process_injection process command_and_control["<b>Azione</b> – <b>T1573 Canale Crittografato</b><br/>.NET RAT comunica con il bot di Telegram usando messaggi XORu2011crittografati e codificati base64."] class command_and_control action c2_telegram["<b>Strumento</b> – Bot di Telegram<br/>Riceve comandi ed esfiltra dati tramite canale crittografato."] class c2_telegram tool impact_shutdown["<b>Azione</b> – <b>T1529 Arresto/Spegnimento del Sistema</b><br/>Attività pianificata u201cDoubtu201d creata per spegnere il sistema ogni Venerdì a mezzanotte."] class impact_shutdown action scheduled_task["<b>Processo</b> – Attività Pianificata u201cDoubtu201d<br/>Attiva lo spegnimento del sistema a data fissa."] class scheduled_task process %% Connections initial_access_phishing –>|fornisce| file_chm file_chm –>|utilizza| defense_masquerade file_chm –>|utilizza| defense_obfuscation file_chm –>|attiva| execution_user execution_user –>|lancia| process_cmd process_cmd –>|abilita| execution_msbuild execution_msbuild –>|utilizza| tool_msbuild tool_msbuild –>|carica| file_dll file_dll –>|abilita| persistence_autostart persistence_autostart –>|modifica| registry_mod file_dll –>|abilita| persistence_event persistence_event –>|carica tramite| dll_load dll_load –>|esegue| privilege_injection privilege_injection –>|inietta in| process_injection process_injection –>|facilita| command_and_control command_and_control –>|utilizza| c2_telegram command_and_control –>|porta a| impact_shutdown impact_shutdown –>|crea| scheduled_task "
Flusso di Attacco
Rilevamenti
Punti di Persistenza Possibili [ASEPs – Software/NTUSER Hive] (via evento_registro)
Visualizza
Spegnimento Usato Per Forzare un Arresto o Riavvio del Sistema (via cmdline)
Visualizza
Argomenti Sospetti del Programma Eseguibile HTML Help di LOLBAS HH (via cmdline)
Visualizza
Binari / Script Sospetti in Posizione Autostart (via evento_file)
Visualizza
Esecuzione Possibile tramite Scrittura di File con Estensione Microsoft Compiled HTML Help (.chm) (via evento_file)
Visualizza
Possibile Abuso di Telegram Come Canale di Comando e Controllo (via query_dns)
Visualizza
IoC (HashSha256) per rilevare: RAT Telegram basato su Rebex che prende di mira il Vietnam
Visualizza
Esecuzione del File CHM che Porta ad Attività Malevole [Creazione Di Processi Windows]
Visualizza
Esecuzione di Simulazione
Prerequisito: Il Check Pre-volo di Telemetria & Baseline deve essere superato.
Motivo: Questa sezione descrive l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione riflettono direttamente i TTP identificati e mirano a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrazione dell’Attacco & Comandi
-
Consegna: L’attaccante consegna un file
.chmmalevolo (chiamatoUpdateHelp.chm) alla vittima. -
Decompilazione: La vittima (o uno script malevolo) esegue
hh.execon il-decompileflag per estrarre il payload incorporato:hh.exe -decompile C:TempPayloads C:UsersPublicUpdateHelp.chmQuesto genera l’evento processo‑creazione che la regola osserva (
hh.exe+-decompile). -
Esecuzione del Payload – Interprete Rinominato: All’interno dei file estratti c’è un interprete Python rinominato (
_pJifgWSwPi.exe). L’attaccante lo avvia tramitecmd.exeper mantenere un basso profilo:cmd.exe /c "C:TempPayloads_pJifgWSwPi.exe -c "import os; os.system('whoami')""Questo soddisfa la condizione della
cmd.exeregola. -
Proxy di Binary Firmato – Msbuild: Il payload Python scrive un file
.projmalevolo e quindi invocamsbuild.exeper eseguirlo, ottenendo persistenza o ulteriore esecuzione del codice:msbuild.exe C:TempPayloadsmalicious.proj /target:Build
-
-
Script di Test Regressivo
#============================================================= # Simulazione di Attacco Basato su CHM – Attiva Regola Sigma #============================================================= # Variabili $chmPath = "C:UsersPublicUpdateHelp.chm" $outFolder = "C:TempPayloads" $renamedPy = "_pJifgWSwPi.exe" $projFile = "malicious.proj" # 1. Assicurarsi che la cartella di output esista New-Item -ItemType Directory -Force -Path $outFolder | Out-Null # 2. Simulare la decompilazione del file CHM Write-Host "[*] Decompiling CHM..." hh.exe -decompile $outFolder $chmPath # 3. Posizionare una copia di python.exe (o qualsiasi exe benigno) come interprete rinominato Copy-Item -Path "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" ` -Destination "$outFolder$renamedPy" -Force # 4. Eseguire l'interprete rinominato tramite cmd.exe Write-Host "[*] Launching renamed interpreter via cmd.exe..." cmd.exe /c "`"$outFolder$renamedPy`" -c `"Write-Host 'Simulated payload executed'`"" # 5. Creare un progetto msbuild banale che visualizzi un messaggio $projContent = @" <Project ToolsVersion='4.0' xmlns='http://schemas.microsoft.com/developer/msbuild/2003'> <Target Name='Build'> <Message Text='Msbuild executed malicious project' Importance='High'/> </Target> </Project> "@ Set-Content -Path "$outFolder$projFile" -Value $projContent -Encoding ASCII # 6. Eseguire msbuild.exe sul progetto malevolo Write-Host "[*] Executing msbuild.exe..." msbuild.exe "$outFolder$projFile" /target:Build Write-Host "[+] Simulazione completata." -
Comandi di Pulizia
# Interrompere eventuali processi residui (se ancora in esecuzione) Get-Process -Name "_pJifgWSwPi","hh","msbuild","cmd" -ErrorAction SilentlyContinue | Stop-Process -Force # Rimuovere file e cartelle generate Remove-Item -Recurse -Force -Path "C:TempPayloads" # Opzionalmente eliminare il file CHM se è stato creato per il test Remove-Item -Force -Path "C:UsersPublicUpdateHelp.chm" -ErrorAction SilentlyContinue Write-Host "[+] Pulizia completata."