SOC Prime Bias: Crítico

30 Jun 2026 06:48 UTC

KimJongRAT sigue evolucionando aprovechándose de sitios confiables

Author Photo
SOC Prime Team linkedin icon Seguir
KimJongRAT sigue evolucionando aprovechándose de sitios confiables
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Se ha observado una campaña reciente del KimJongRAT utilizando GitHub Releases y Google Drive como plataformas confiables para alojar y entregar malware. Esta variante actualizada combina funcionalidades de InfoStealer y RAT mientras se basa en técnicas de Living Off Trusted Sites (LOTS) para disminuir la posibilidad de detección. También ha evolucionado para recuperar direcciones de comando y control dinámicamente desde Google Drive, reduciendo la necesidad de volver a compilar repetidamente.

Investigación

La investigación revisó una campaña de mayo de 2026 en la que las víctimas fueron redirigidas a través de enlaces acortados a archivos ZIP alojados en GitHub que contenían archivos LNK maliciosos. Los investigadores mapearon la cadena de ejecución, incluyendo el abuso de mshta.exeVBScript y PowerShell para lanzar cargas útiles en varias etapas. El análisis también descubrió una nueva capacidad que involucra la implementación de MeshAgent para acceso remoto a largo plazo.

Mitigación

Las organizaciones deben aplicar controles estrictos sobre la ejecución de archivos LNK y mshta.exe cuando se originen de ubicaciones no confiables. Es esencial monitorear el comportamiento sospechoso de PowerShell, incluyendo comandos codificados en Base64 y descargas de servicios en la nube como Google Drive y GitHub. Restringir herramientas de gestión remota no autorizadas como MeshAgent puede limitar aún más el impacto del compromiso.

Respuesta

Si se detecta esta actividad, aísle de inmediato los hosts afectados para prevenir el movimiento lateral y la exfiltración de datos. Realice análisis de memoria para identificar cualquier DLL maliciosa activa o componentes de PowerShell. Revise los registros de acceso a Google Drive y GitHub para detectar actividad inusual relacionada con la infraestructura identificada, y actualice las detecciones de endpoints con los indicadores de compromiso extraídos.

"flowchart TD step_initial_access["T1566.001 & T1566.002 u2013 Phishing: Spearphishing Attachment/Link: Atraído a través de URLs acortadas para descargar tax_edoc.zip desde GitHub"] step_user_execution["T1204.002 u2013 Ejecución del Usuario: Archivo Malicioso: La víctima abre un archivo LNK malicioso del ZIP extraído"] rules_for_user_execution("<b>Nombre de la Regla</b>: Ejecución desde el Archivo ZIP [7zip] (vía process_creation)<br/><b>ID de la Regla</b>: 43917da8-4e9a-4cd2-b3f9-dc60e2326534") step_proxy_execution["T1218.005 u2013 Ejecución de Proxy de Binario del Sistema: Mshta: Usa Mshta para descargar y ejecutar pdfko.zip desde GitHub"] step_script_execution["T1218.001 & T1216.002 u2013 Ejecución de Proxy de Binario/Script del Sistema: VBScript Ofuscado en HTA usa Archivo HTML Compilado y SyncAppvPublishingServer"] step_decoy_steganography["T1027.003 u2013 Archivos o Información Ofuscada: Esteganografía: Descarga un documento señuelo para distraer al usuario"] step_branching{"Verificación del Entorno: Determina si Windows Defender está activo"} step_defender_inactive["T1027 & T1218.011 u2013 Archivos Ofuscados & Rundll32: Descargas cifradas user.txt/sys.log vía AES/RC4 y ejecuta sys.dll"] step_defender_active["T1027.006 u2013 Archivos o Información Ofuscada: Contrabando de HTML: Ejecuta PowerShell 1.ps1 para decodificar KimJongRAT"] step_persistence_c2["T1219 & T1568 & T1578 u2013 Persistencia & C2: Instala MeshAgent y usa Resolución Dinámica vía Google Drive para actualizar direcciones C2"] step_initial_access –>|leads_to| step_user_execution step_user_execution –>|leads_to| step_proxy_execution step_user_execution -.->|detected_by| rules_for_user_execution step_proxy_execution –>|leads_to| step_script_execution step_script_execution –>|leads_to| step_decoy_steganography step_decoy_steganography –>|leads_to| step_branching step_branching –>|if_inactive| step_defender_inactive step_branching –>|if_active| step_defender_active step_defender_inactive –>|leads_to| step_persistence_c2 step_defender_active –>|leads_to| step_persistence_c2 "

Flujo de Ataque

Ejecución de Simulación

Prerequisito: La Verificación de Telemetría y Línea Base Pre-vuelo 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 narrativas DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.

  • Narrativa de Ataque y Comandos: El adversario ha ganado con éxito un punto de apoyo y está intentando ejecutar la carga útil de KimJongRAT. Para evadir la detección basada en firmas simples, el malware está diseñado para ejecutar un script de PowerShell en una ventana oculta, evitando la política de ejecución y pasando un nombre de archivo de registro específico como parámetro para manejar su configuración cifrada. El objetivo es establecer un troyano de acceso remoto persistente y sigiloso (RAT) en la máquina de la víctima. Ejecutaremos el patrón de comando exacto identificado en la regla de detección para validar la lógica de «selection_execute».

  • Script de Prueba de Regresión:

    # Simulación del patrón de ejecución de KimJongRAT
    # Esto crea un script ficticio para cumplir con el requisito '-File'
    "Write-Output 'Simulando Carga Útil de KimJongRAT'" | Out-File -FilePath "1.ps1" -Encoding ascii
    
    # Ejecutando el comando que activa la regla de detección
    # Nota: Esto se ejecuta de una manera que imita exactamente los argumentos de línea de comando.
    Start-Process powershell.exe -ArgumentList "-ExecutionPolicy Bypass -WindowStyle Hidden -NoProfile -File 1.ps1 -FileName 1.log" -WindowStyle Hidden
  • Comandos de Limpieza:

    # Elimina los archivos ficticios creados durante la simulación
    Remove-Item -Path "1.ps1" -ErrorAction SilentlyContinue
    Remove-Item -Path "1.log" -ErrorAction SilentlyContinue