SOC Prime Bias: Medio

27 Apr 2026 15:22 UTC

RAT di Telegram basato su Rebex che prende di mira il Vietnam

Author Photo
SOC Prime Team linkedin icon Segui
RAT di Telegram basato su Rebex che prende di mira il Vietnam
shield icon

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 technique fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ffeb99 classDef operator fill:#ff9900 %% Nodes initial_access[“<b>Tecnica</b> – <b>T1204.001 Esecuzione utente: link malevolo</b><br/><b>Descrizione</b>: Le vittime cliccano un link creato per eseguire contenuti dannosi.”] class initial_access technique delivery_html_smuggling[“<b>Tecnica</b> – <b>T1027.006 File o informazioni offuscate: HTML Smuggling</b><br/><b>Descrizione</b>: JavaScript malevolo distribuito via pagina web che nasconde il payload in HTML.”] class delivery_html_smuggling technique delivery_compile_after[“<b>Tecnica</b> – <b>T1027.004 Compilazione dopo consegna</b><br/><b>Descrizione</b>: Il payload viene assemblato sul sistema dopo la consegna.”] class delivery_compile_after technique delivery_embedded_payloads[“<b>Tecnica</b> – <b>T1027.009 Payload incorporati</b><br/><b>Descrizione</b>: Payload nascosto dentro file come JavaScript.”] class delivery_embedded_payloads technique delivery_deobfuscate[“<b>Tecnica</b> – <b>T1140 Decodifica/deoffuscamento</b><br/><b>Descrizione</b>: Dati Base64 decodificati nel browser.”] class delivery_deobfuscate technique persistence_run_key[“<b>Tecnica</b> – <b>T1127.002 Esecuzione proxy strumenti affidabili</b>”] class persistence_run_key technique persistence_appcert[“<b>Tecnica</b> – <b>T1546.009 DLL AppCert</b>”] class persistence_appcert technique recon_hardware[“<b>Tecnica</b> – Raccolta informazioni hardware”] class recon_hardware technique recon_firmware[“<b>Tecnica</b> – Raccolta informazioni firmware”] class recon_firmware technique c2_web_protocols[“<b>Tecnica</b> – Protocollo web C2”] class c2_web_protocols technique c2_bidirectional[“<b>Tecnica</b> – Comunicazione bidirezionale”] class c2_bidirectional technique c2_oneway[“<b>Tecnica</b> – Comunicazione unidirezionale”] class c2_oneway technique c2_encrypted[“<b>Tecnica</b> – Canale cifrato”] class c2_encrypted technique c2_data_encoding[“<b>Tecnica</b> – Codifica dati”] class c2_data_encoding technique c2_config_repo[“<b>Tecnica</b> – Repository di configurazione”] class c2_config_repo technique asset_drain[“<b>Tecnica</b> – Approvazione token”] class asset_drain technique %% Tools / Processes tool_malicious_link[“<b>Strumento</b>: Link di phishing”] class tool_malicious_link tool tool_js_payload[“<b>Strumento</b>: Payload JavaScript offuscato”] class tool_js_payload tool process_installer[“<b>Processo</b>: Installer Windows”] class process_installer process tool_node_exe[“<b>Strumento</b>: node.exe”] class tool_node_exe tool tool_web3modal[“<b>Strumento</b>: UI Web3Modal”] class tool_web3modal tool %% Connections unchanged initial_access –>|leads_to| delivery_html_smuggling delivery_html_smuggling –>|uses| tool_malicious_link delivery_html_smuggling –>|uses| tool_js_payload delivery_html_smuggling –>|enables| delivery_compile_after delivery_compile_after –>|enables| delivery_embedded_payloads delivery_embedded_payloads –>|triggers| delivery_deobfuscate delivery_deobfuscate –>|creates| process_installer process_installer –>|drops| persistence_run_key process_installer –>|may_use| persistence_appcert persistence_run_key –>|executes| tool_node_exe persistence_appcert –>|loads| tool_node_exe tool_node_exe –>|collects| recon_hardware tool_node_exe –>|collects| recon_firmware recon_hardware –>|feeds| c2_web_protocols recon_firmware –>|feeds| c2_web_protocols c2_web_protocols –>|supports| c2_bidirectional c2_web_protocols –>|supports| c2_oneway c2_bidirectional –>|uses| c2_encrypted c2_oneway –>|uses| c2_encrypted c2_encrypted –>|encodes| c2_data_encoding c2_data_encoding –>|stores_config_in| c2_config_repo c2_config_repo –>|provides| asset_drain asset_drain –>|uses| tool_web3modal

Flusso di Attacco

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

    1. Consegna: L’attaccante consegna un file .chm malevolo (chiamato UpdateHelp.chm) alla vittima.

    2. Decompilazione: La vittima (o uno script malevolo) esegue hh.exe con il -decompile flag per estrarre il payload incorporato:

      hh.exe -decompile C:TempPayloads C:UsersPublicUpdateHelp.chm

      Questo genera l’evento processo‑creazione che la regola osserva (hh.exe + -decompile).

    3. Esecuzione del Payload – Interprete Rinominato: All’interno dei file estratti c’è un interprete Python rinominato (_pJifgWSwPi.exe). L’attaccante lo avvia tramite cmd.exe per mantenere un basso profilo:

      cmd.exe /c "C:TempPayloads_pJifgWSwPi.exe -c "import os; os.system('whoami')""

      Questo soddisfa la condizione della cmd.exe regola.

    4. Proxy di Binary Firmato – Msbuild: Il payload Python scrive un file .proj malevolo e quindi invoca msbuild.exe per 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."