SOC Prime Bias: High

01 Sep 2026 16:33 UTC

La campaña TerminalFix construye túneles inversos para acceso persistente

Author Photo
SOC Prime Team linkedin icon Seguir
La campaña TerminalFix construye túneles inversos para acceso persistente
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

La campaña TerminalFix es una variante de ClickFix que utiliza superposiciones falsas de CAPTCHA de Cloudflare para engañar socialmente a los usuarios y hacer que ejecuten comandos maliciosos de PowerShell. La cadena de ataque combina carga lateral de DLL, extracción de carga útil esteganográfica de imágenes PNG y un reconocimiento exhaustivo de Active Directory. Finalmente, la campaña despliega un implante de túnel inverso basado en Python personalizado que otorga a los atacantes acceso proxy persistente a nivel de red.

Investigación

La inteligencia de amenazas de Microsoft analizó la cadena de ataque de múltiples etapas, que abusa del firmado legítimo de LockScreenContentServer.exe binario para la carga lateral de DLL. La investigación mostró cómo las cargas maliciosas están ocultas dentro de los píxeles PNG y cómo un tiempo de ejecución Python establece un túnel inverso basado en WebSocket. Los investigadores también identificaron la infraestructura de comando y control y las técnicas de reconocimiento utilizadas para mapear redes internas.

Mitigación

Las organizaciones deben restringir la ejecución de PowerShell mediante AppLocker o Política de Grupo y monitorear LockScreenContentServer.exe ejecutándose desde ubicaciones inusuales o no estándar. Las reglas de Reducción de Superficie de Ataque (ASR) pueden ayudar a bloquear scripts ofuscados y lanzamientos de ejecutables no autorizados. El entrenamiento de usuarios enfocado en reconocer los mensajes falsos de CAPTCHA también es una medida preventiva importante.

Respuesta

Si se detecta actividad de TerminalFix, los dispositivos afectados deben tratarse como posibles puntos de pivote de red e investigarse para detectar movimientos laterales. La rotación de credenciales debe tener prioridad, particularmente para las cuentas de administrador de dominio accesibles desde el sistema comprometido. Los equipos de seguridad también deben realizar análisis forense para detectar tiempos de ejecución de Python no autorizados y conexiones WebSocket salientes sospechosas.

Flujo de Ataque

Todavía estamos actualizando esta parte.

Detecciones

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

Equipo SOC Prime
31 Ago 2026

Posibles Patrones de Ataque ClickFix en Línea de Comando (vía cmdline)

Equipo SOC Prime
31 Ago 2026

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

Equipo SOC Prime
31 Ago 2026

Llamada a Clases/Métodos Sospechosos de .NET desde Línea de Comando de Powershell (vía creación_de_proceso)

Equipo SOC Prime
31 Ago 2026

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

Equipo SOC Prime
31 Ago 2026

Posible Descubrimiento o Verificación de Conectividad del Sistema Remoto (vía cmdline)

Equipo SOC Prime
31 Ago 2026

Descubrimiento de Confianza de Dominios Sospechosos (vía cmdline)

Equipo SOC Prime
31 Ago 2026

Ejecución de Attrib para Ocultar Archivos (vía cmdline)

Equipo SOC Prime
31 Ago 2026

Posibles Descargas Directas del Intérprete de Python (vía cmdline)

Equipo SOC Prime
31 Ago 2026

Un Archivo fue Extraído a un Directorio Sospechoso Usando Powershell (vía powershell)

Equipo SOC Prime
31 Ago 2026

IOCs (HashSha256) para detectar: la campaña TerminalFix despliega un túnel inverso a través de intrusión de múltiples etapas

Reglas AI de SOC Prime
31 Ago 2026

Túnel WebSocket TLS Saliente a gitnow.dev [Conexión de Red de Windows]

Reglas AI de SOC Prime
31 Ago 2026

Detección de Túnel Inverso TerminalFix y Carga Lateral de DLL [Creación de Procesos de Windows]

Reglas AI de SOC Prime
31 Ago 2026

Carga Lateral de DLL y Extracción de Carga Útil Esteganográfica en Campaña TerminalFix [Carga de Imágenes de Windows]

Reglas AI de SOC Prime
31 Ago 2026

Ejecución de PowerShell y Bucle de Comando en la Campaña TerminalFix [Windows Powershell]

Reglas AI de SOC Prime
31 Ago 2026

Ejecución de Simulación

Prerrequisito: El Control Previo de Telemetría y 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 el relato 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 llevarán a un diagnóstico erróneo.

  • Narrativa del Ataque y Comandos: El adversario intenta establecer un túnel inverso persistente. Para integrarse con los procesos del sistema, primero colocan un binario que parece legítimo, LockScreenContentServer.exe, en un directorio. Luego utilizan la carga lateral de DLL para ejecutar código malicioso. Después de esto, inician un túnel basado en Python usando pythonw.exe (para evitar una ventana de consola visible) y ejecutan un script llamado client.py. Esta secuencia está diseñada para crear una puerta trasera a nivel de red que eluda las restricciones estándar del firewall mediante el túnel de WebSocket.

  • Script de Prueba de Regresión:

    # Script de Simulación: Emulación de Túnel Inverso TerminalFix
    # 1. Configurar Entorno
    $targetDir = "C:UsersPublicDownloadsSystemFiles"
    New-Item -Path $targetDir -ItemType Directory -Force
    
    # 2. Crear 'LockScreenContentServer.exe' de prueba (Simulando el binario cargado lateralmente)
    # En un ataque real, este sería un archivo PE real.
    $dummyExe = Join-Path $targetDir "LockScreenContentServer.exe"
    New-Item -Path $dummyExe -ItemType File -Force
    
    # 3. Crear script de Python de prueba 'client.py'
    $pythonScript = Join-Path $targetDir "client.py"
    "print('Establishing tunnel...')" | Out-File -FilePath $pythonScript -Encoding ascii
    
    # 4. Ejecutar los procesos 'maliciosos' para activar la lógica de detección
    # Activar Parte A: LockScreenContentServer.exe
    Start-Process -FilePath $dummyExe -WindowStyle Hidden
    
    # Activar Parte B: pythonw.exe con client.py en línea de comando
    # Nota: Usamos la ruta completa a pythonw.exe como se espera en la regla
    $pythonwPath = "C:WindowsSystem32pythonw.exe" 
    # Si pythonw no está en System32, lo ubicamos
    if (-not (Test-Path $pythonwPath)) {
        $pythonwPath = (Get-Command pythonw.exe).Source
    }
    
    Start-Process -FilePath $pythonwPath -ArgumentList $pythonScript -WindowStyle Hidden
  • Comandos de Limpieza:

    # Script de Limpieza
    $targetDir = "C:UsersPublicDownloadsSystemFiles"
    if (Test-Path $targetDir) {
        Remove-Item -Path $targetDir -Recurse -Force
    }