RAT de Telegram basado en Rebex que apunta a Vietnam
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Un archivo CHM malicioso entregado dentro de un archivo ZIP deja un entorno de ejecución de Python falso junto con un DLL en C++ que descifra una carga útil incrustada. Esa carga útil establece persistencia a través de un secuestro del shell de Winlogon, una tarea programada y el abuso de MSBuild, luego lanza un RAT basado en .NET de Telegram. El malware se comunica con un bot de Telegram usando un token codificado y soporta ejecución de comandos, reemplazo de tokens y descarga de archivos. Se ha observado que la campaña apunta a víctimas en Vietnam y actualmente no muestra detecciones en VirusTotal.
Investigación
El análisis del archivo CHM reveló un script que descompiló el archivo, limpió PYTHONHOME, y lanzó un ejecutable de Python renombrado con un archivo de código byte compilado. Luego, el bytecode cargó un DLL que descifró un blob ENCRIPTADO de DOCX, extrajo componentes adicionales y los escribió en ubicaciones temporales. El DLL creó entradas en el registro, programó una tarea llamada Doubt, y ejecutó un MSBuild archivo XML para cargar un segundo DLL, que finalmente desplegó el RAT de Telegram en .NET. El RAT dependía de las credenciales de bot de Telegram codificadas para el mando y control.
Mitigación
Los defensores deben bloquear la ejecución de archivos CHM de fuentes no confiables y restringir el uso de hh.exe, msbuild.exe, y PowerShell para scripts no firmados o sospechosos. El monitoreo debe enfocarse en las modificaciones del registro de Winlogon Shell , la creación inusual de tareas programadas y nuevos DLLs dejados en directorios temporales. Las organizaciones también deben inspeccionar el tráfico de la API de Telegram a través de controles proxy y aplicar el principio de menor privilegio para los usuarios finales.
Respuesta
Los equipos de seguridad deben identificar e aislar los hosts afectados, recopilar evidencia volátil y extraer los DLLs maliciosos y scripts para el análisis. El valor de Winlogon Shell y la tarea programada deben ser eliminados, los archivos dejados deben ser borrados, y la configuración alterada del registro debe ser restaurada a un estado conocido como bueno. Cualquier token de bot de Telegram expuesto debe ser rotado inmediatamente, y los defensores deben continuar monitoreando para detectar actividades adicionales de comando y control. Se recomienda una investigación forense completa para determinar si se exfiltraron datos.
"graph TB %% Definiciones de clase classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef registry fill:#ffddaa %% Nodos initial_access_phishing["<b>Acción</b> – <b>T1566.001 Adjunto de Spearphishing</b><br/>Correo electrónico con CHM malicioso disfrazado de documento de Word enviado a la víctima."] class initial_access_phishing action file_chm["<b>Malware</b> – <b>Archivo</b>: CV – Vu PLPC KT nam 2026.chm<br/>Disfrazado con doble extensión para parecer un .doc."] class file_chm malware defense_masquerade["<b>Acción</b> – <b>T1036.008 Enmascaramiento</b><br/>El archivo CHM se disfraza de documento de Word usando doble extensión."] class defense_masquerade action defense_obfuscation["<b>Acción</b> – <b>T1027.006 Archivos o Información Ofuscados</b><br/>El contrabando HTML oculta código malicioso dentro del CHM."] class defense_obfuscation action execution_user["<b>Acción</b> – <b>T1204.002 Ejecución del Usuario</b><br/>La víctima abre el CHM, HTML/JS ejecuta la etiqueta OBJECT lanzando cmd.exe."] class execution_user action process_cmd["<b>Proceso</b> – cmd.exe<br/>Lanzado por CHM vía etiqueta OBJECT."] class process_cmd process execution_msbuild["<b>Acción</b> – <b>T1127.001 Ejecución por Proxy de Utilidades de Desarrollador de Confianza</b><br/>El script deja caer mechaniSm.xml y llama a msbuild.exe para cargar DLL malicioso .NET."] class execution_msbuild action tool_msbuild["<b>Herramienta</b> – msbuild.exe<br/>Usado para cargar ioy24euj.dll."] class tool_msbuild tool file_dll["<b>Malware</b> – <b>DLL</b>: ioy24euj.dll<br/>Contiene código .NET para persistencia y entrega de carga útil."] class file_dll malware persistence_autostart["<b>Acción</b> – <b>T1547.014 Configuración Activa</b><br/>El DLL modifica HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell para apuntar al envoltorio renombrado de msbuild."] class persistence_autostart action registry_mod["<b>Registro</b> – HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell<br/>Configurado a un envoltorio personalizado de msbuild para ejecución autoautomática."] class registry_mod registry persistence_event["<b>Acción</b> – <b>T1546.009 DLLs de AppCert</b><br/>DLL cargado a través de ctypes.CDLL y posteriormente ejecutado para descifrar cargas adicionales."] class persistence_event action dll_load["<b>Proceso</b> – carga de ctypes.CDLL<br/>Carga el DLL malicioso en el espacio de proceso."] class dll_load process privilege_injection["<b>Acción</b> – <b>T1055.001 Inyección de Proceso</b><br/>DLL inyecta código en cmd.exe para ejecutar cargas útiles."] class privilege_injection action process_injection["<b>Proceso</b> – Inyección de DLL en cmd.exe<br/>Permite la ejecución de otras rutinas maliciosas."] class process_injection process command_and_control["<b>Acción</b> – <b>T1573 Canal Encriptado</b><br/>.NET RAT se comunica con el bot de Telegram usando mensajes encriptados con XOR y codificados en base64."] class command_and_control action c2_telegram["<b>Herramienta</b> – Bot de Telegram<br/>Recibe comandos y exfiltra datos a través de un canal encriptado."] class c2_telegram tool impact_shutdown["<b>Acción</b> – <b>T1529 Apagado/Reinicio del Sistema</b><br/>Tarea programada «Doubt» creada para apagar el sistema todos los viernes a la medianoche."] class impact_shutdown action scheduled_task["<b>Proceso</b> – Tarea Programada «Doubt»<br/>Activa el apagado del sistema según el horario."] class scheduled_task process %% Conexiones initial_access_phishing –>|entrega| file_chm file_chm –>|usa| defense_masquerade file_chm –>|usa| defense_obfuscation file_chm –>|desencadena| execution_user execution_user –>|lanza| process_cmd process_cmd –>|habilita| execution_msbuild execution_msbuild –>|usa| tool_msbuild tool_msbuild –>|carga| file_dll file_dll –>|habilita| persistence_autostart persistence_autostart –>|modifica| registry_mod file_dll –>|habilita| persistence_event persistence_event –>|carga vía| dll_load dll_load –>|realiza| privilege_injection privilege_injection –>|inyecta en| process_injection process_injection –>|facilita| command_and_control command_and_control –>|usa| c2_telegram command_and_control –>|conduce a| impact_shutdown impact_shutdown –>|crea| scheduled_task "
Flujo de ataque
Detecciones
Puntos de Persistencia Posibles [ASEPs – Colmena Software/NTUSER] (vía registro_evento)
Ver
Apagado Usado Para Forzar una Detención del Sistema o Reinicio (vía cmdline)
Ver
LOLBAS HH – Argumentos Sospechosos del Programa Ejecutable HTML Help (vía cmdline)
Ver
Binary/Scripts Sospechosos en Ubicación de Autoarranque (vía file_event)
Ver
Ejecución Posible al Escribir un Archivo con Extensión de Ayuda HTML Compilada de Microsoft (.chm) (vía file_event)
Ver
Abuso Posible de Telegram Como Canal de Comando y Control (vía dns_query)
Ver
IOCs (HashSha256) para detectar: RAT de Telegram basado en Rebex que Objetivo a Vietnam
Ver
Ejecución de Archivo CHM que Conduce a Actividad Maliciosa [Creación de Proceso de Windows]
Ver
Ejecución de Simulación
Prerequisito: El Chequeo Pre-Vuelo de Telemetría y Línea Base debe haber pasado.
Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa reflejan directamente los TTPs identificados y apuntan a generar la exacta telemetría esperada por la lógica de detección.
-
Narrativa del Ataque & Comandos
-
Entrega: El atacante entrega un
.chmarchivo malicioso (nombradoUpdateHelp.chm) a la víctima. -
Descompilación: La víctima (o un script malicioso) ejecuta
hh.execon la-decompilebandera para extraer la carga útil incrustada:hh.exe -decompile C:TempPayloads C:UsersPublicUpdateHelp.chmEsto genera el evento de creación de proceso que la regla observa (
hh.exe+-decompile). -
Ejecución de Carga Útil – Intérprete Renombrado: Dentro de los archivos extraídos hay un intérprete de Python renombrado (
_pJifgWSwPi.exe). El atacante lo lanza a través decmd.exepara mantener un perfil bajo:cmd.exe /c "C:TempPayloads_pJifgWSwPi.exe -c "import os; os.system('whoami')""Esto satisface la
cmd.execondición de la regla. -
Proxy de Binario Firmado – Msbuild: La carga útil de Python escribe un archivo
.projmalicioso y luego invocamsbuild.exepara ejecutarlo, logrando persistencia o ejecución adicional de código:msbuild.exe C:TempPayloadsmalicious.proj /target:Build
-
-
Script de Prueba de Regresión
#============================================================= # Simulación de Ataque Basado en CHM – Activa la Regla Sigma #============================================================= # Variables $chmPath = "C:UsersPublicUpdateHelp.chm" $outFolder = "C:TempPayloads" $renamedPy = "_pJifgWSwPi.exe" $projFile = "malicious.proj" # 1. Asegúrese de que exista la carpeta de salida New-Item -ItemType Directory -Force -Path $outFolder | Out-Null # 2. Simule la descompilación del archivo CHM Write-Host "[*] Descompilando CHM..." hh.exe -decompile $outFolder $chmPath # 3. Coloque una copia de python.exe (o cualquier exe benigno) como el intérprete renombrado Copy-Item -Path "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" ` -Destination "$outFolder$renamedPy" -Force # 4. Ejecute el intérprete renombrado a través de cmd.exe Write-Host "[*] Lanzando intérprete renombrado a través de cmd.exe..." cmd.exe /c "`"$outFolder$renamedPy`" -c `"Write-Host 'Simulated payload executed'`"" # 5. Cree un proyecto msbuild trivial que muestre un mensaje $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. Ejecute msbuild.exe en el proyecto malicioso Write-Host "[*] Ejecutando msbuild.exe..." msbuild.exe "$outFolder$projFile" /target:Build Write-Host "[+] Simulación completa." -
Comandos de Limpieza
# Detener cualquier proceso restante (si aún está en ejecución) Get-Process -Name "_pJifgWSwPi","hh","msbuild","cmd" -ErrorAction SilentlyContinue | Stop-Process -Force # Eliminar archivos y carpetas generados Remove-Item -Recurse -Force -Path "C:TempPayloads" # Eliminar opcionalmente el archivo CHM si se creó para la prueba Remove-Item -Force -Path "C:UsersPublicUpdateHelp.chm" -ErrorAction SilentlyContinue Write-Host "[+] Limpieza completada."