Resoker RAT utiliza Telegram para Comando y Control
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
ResokerRAT es un troyano de acceso remoto recientemente identificado que utiliza la API de Telegram Bot para comando y control. Persiste a través de un valor de registro Run e incluye capacidades para elevar privilegios, capturar capturas de pantalla, bloquear el Administrador de tareas y debilitar los controles de UAC. Para reducir la visibilidad, ejecuta PowerShell en una ventana oculta e intenta terminar herramientas de análisis comunes. La detección puede centrarse en su mutex, modificaciones clave del registro y actividad C2 basada en Telegram.
Investigación
El análisis de Resoker destaca la creación de mutex, lógica anti-depuración y terminación agresiva de procesos dirigida a utilidades de seguridad y análisis. El malware establece un gancho de teclado, acepta un conjunto definido de comandos entregados por Telegram y cambia valores de registro para deshabilitar el Administrador de tareas y relajar el comportamiento de UAC. Las cargas útiles posteriores pueden ser recuperadas a través de la ejecución oculta de PowerShell, apoyando la expansión modular tras el compromiso inicial.
Mitigación
Monitorear el mutex conocido y alertar sobre cambios de registro relacionados con DisableTaskMgr y claves relacionadas con UAC. Restringir o bloquear el acceso saliente a los puntos finales de la API de Telegram donde sea posible, y hacer cumplir el control de aplicaciones para prevenir la ejecución no autorizada de PowerShell. Las detecciones basadas en host que señalan el comportamiento del gancho de teclado y la actividad sospechosa de PowerShell en ventana oculta pueden reducir aún más el impacto.
Respuesta
Si se detecta, aislar el host, detener el proceso malicioso y eliminar la entrada de persistencia de la clave Run. Conservar la evidencia volátil (valor mutex, indicadores de bot/C2 de Telegram, telemetría de línea de comandos) y realizar un barrido forense completo para cargas adicionales o persistencia. Revertir los cambios en el registro que afectan al Administrador de tareas y UAC, rotar las credenciales expuestas si se sospecha de robo y volver a aplicar políticas de ejecución de privilegios mínimos para prevenir recurrencias.
"graph TB %% Class definitions classDef action fill:#ffcc99 classDef technique fill:#99ccff classDef persistence fill:#ffd699 classDef command_and_control fill:#ffdd99 %% Node definitions action_execution["<b>Acción</b> – <b>T1059.001 PowerShell</b>: Ejecutar comando de PowerShell oculto a través de Resoker.exe<br/><b>Técnica</b>: Usar PowerShell para ejecutar comandos"] class action_execution action tech_hide_window["<b>Técnica</b> – <b>T1564.003 Ventana Oculta</b>: Ejecutar comando en ventana oculta para evadir la visibilidad del usuario"] class tech_hide_window technique action_process_enum["<b>Acción</b> – <b>T1057 Descubrimiento de Procesos</b>: Enumerar procesos en ejecución y terminar herramientas de análisis"] class action_process_enum action action_keylogging["<b>Acción</b> – <b>T1056.001 Registro de Teclado</b>: Instalar gancho de teclado de baixo nivel global para capturar la entrada"] class action_keylogging action persistence_run_key["<b>Persistencia</b> – <b>T1037.005 Claves de Registro Run</b>: Crear entrada de registro HKCU Run para inicio automático"] class persistence_run_key persistence defense_disable_taskmgr["<b>Técnica</b> – <b>T1562.001 Deshabilitar Administrador de Tareas</b>: Establecer el valor de registro DisableTaskMgr en 1"] class defense_disable_taskmgr technique action_screen_capture["<b>Acción</b> – <b>T1113 Captura de Pantalla</b>: Capturar pantalla a través de PowerShell y guardar archivos PNG"] class action_screen_capture action action_download["<b>Acción</b> – <b>T1059.001 PowerShell</b> y <b>T1202 Ejecución de Comando Indirecto</b>: Descargar archivos adicionales usando comandos ocultos de PowerShell"] class action_download action c2_telegram["<b>Comando y Control</b> – <b>T1102.002 Servicio Web</b> y <b>T1102.003 Mensajes Unidireccionales</b>: Comunicarse con atacante a través de la API del bot de Telegram sobre HTTPS"] class c2_telegram command_and_control %% Conexiones mostrando flujo de ataque action_execution –>|usa| tech_hide_window action_execution –>|desencadena| action_process_enum action_process_enum –>|termina| action_keylogging action_process_enum –>|establece| persistence_run_key persistence_run_key –>|endurece| defense_disable_taskmgr action_process_enum –>|habilita| action_screen_capture action_screen_capture –>|invoca| action_download action_download –>|exfiltra vía| c2_telegram "
Flujo de Ataque
Detecciones
Posible Abuso de Telegram como Canal de Comando y Control (a través de dns_query)
Ver
Puntos de Persistencia Posibles [ASEPs – Software/NTUSER Hive] (a través de evento de registro)
Ver
Descargar o Subir a través de PowerShell (a través de línea de comandos)
Ver
IOCs (DestinoIP) para detectar: Resoker: Un Troyano de Acceso Remoto Basado en Telegram
Ver
IOCs (HashMd5) para detectar: Resoker: Un Troyano de Acceso Remoto Basado en Telegram
Ver
IOCs (SourceIP) para detectar: Resoker: Un Troyano de Acceso Remoto Basado en Telegram
Ver
Detección de Ejecución de ResokerRAT [Creación de Procesos de Windows]
Ver
Detectar Ejecución Silenciosa de PowerShell para Captura de Pantalla [Powershell de Windows]
Ver
Ejecución de Simulación
Prerrequisito: La Verificación Pre-vuelo de Telemetría & Línea Base debe haber pasado.
Racional: 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 DEBEN reflejar directamente las TTPs identificadas y apuntar a generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa & Comandos de Ataque:
Un adversario que ha obtenido un punto de apoyo en una estación de trabajo de Windows desea capturar el escritorio del usuario sin causar señales visuales. Lanza PowerShell con el-WindowStyle Hiddeninterruptor, carga el .NETSystem.Windows.FormsandSystem.Drawingensamblados, captura la pantalla principal usando elCopyFromScreenmétodo, y escribe el bitmap en un archivo temporal. El comando está diseñado en una sola línea para asegurar que la cadena completa aparezca en el registro de Bloque de Script de PowerShell, coincidiendo con todos los cuatro selectores de detección. -
Script de Prueba de Regresión:
# Captura de pantalla silenciosa – reproduce la telemetría de detección $psCommand = @" Add-Type -AssemblyName System.Windows.Forms Add-Type -AssemblyName System.Drawing $bounds = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds $bitmap = New-Object System.Drawing.Bitmap $bounds.Width, $bounds.Height $graphics = [System.Drawing.Graphics]::FromImage($bitmap) $graphics.CopyFromScreen($bounds.Location, [System.Drawing.Point]::Empty, $bounds.Size) $output = "C:Tempscreenshot.png" $bitmap.Save($output, [System.Drawing.Imaging.ImageFormat]::Png) Write-Host "Screenshot saved to $output" "@ # Ejecutar PowerShell con el comando ensamblado powershell -WindowStyle Hidden -Command $psCommand -
Comandos de Limpieza:
# Borrar la captura de pantalla y cualquier objeto residual Remove-Item -Path "C:Tempscreenshot.png" -ErrorAction SilentlyContinue