SOC Prime Bias: Medio

21 Abr 2026 18:25

Remcos RAT Entregado a Través de una Orden de Compra Engañosa

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
Remcos RAT Entregado a Través de una Orden de Compra Engañosa
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Un correo electrónico de phishing con tema de orden de compra entrega un archivo con una doble extensión que extrae un cargador VBS malicioso. Ese cargador lanza un proceso de PowerShell oculto, que recupera un archivo PNG falso que contiene una carga útil codificada. La carga útil se desofusca, se reconstruye como un ejecutable portátil .NET y se carga directamente en la memoria, desplegando finalmente el troyano de acceso remoto Remcos. La campaña resalta una cadena de ejecución sin archivos basada en técnicas de ataque familiarizadas por medio de correo electrónico.

Investigación

El análisis siguió toda la secuencia de infección desde el correo electrónico de phishing original hasta el despliegue final del RAT Remcos. Los investigadores identificaron artefactos clave, incluidos el nombre del script VBS, el uso de variables de entorno de PowerShell y la URL utilizada para descargar el archivo PNG falso. El ensamblaje .NET reconstruido se cargó en memoria, mientras que las entradas del registro específicas de Remcos y los artefactos de mutex ayudaron a confirmar la carga útil final. Los investigadores también capturaron indicadores de red relevantes, incluido el dominio de comando y control vinculado a la campaña.

Mitigación

Las organizaciones deben fortalecer el escaneo de archivos adjuntos y bloquear archivos de archivo que usen extensiones dobles engañosas. Se deben hacer cumplir las políticas de ejecución de PowerShell, y el uso de wscript.exe debe restringirse estrictamente cuando sea posible. Los defensores también deben monitorear claves de registro sospechosas bajo HKCUSOFTWARE y rastrear huellas digitales TLS JA3 asociadas con la actividad de Remcos. Los gateways de seguridad de correo electrónico deben actualizarse regularmente para mejorar la detección de cebos de phishing dirigidos a flujos de trabajo de adquisiciones y finanzas.

Respuesta

Si se detecta esta actividad, aísle el punto final afectado inmediatamente y termine los procesos de PowerShell or wscript.exe sospechosos. Reúna volcados de memoria y artefactos de registro relevantes para el análisis forense antes de la limpieza. Elimine la carga útil de Remcos y las entradas de persistencia relacionadas, luego restablezca cualquier credencial que pueda haber sido expuesta. También se debe realizar una búsqueda de amenazas más amplia en todo el entorno para identificar sistemas que muestren indicadores similares.

"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef file fill:#e6e6e6 classDef process fill:#ffeb99 classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef config fill:#dddddd %% Node definitions action_phishing["<b>Acción</b> – <b>T1566.001 Archivo Adjunto Phishing Dirigido</b><br/>La víctima recibe un correo electrónico con archivo malicioso llamado <i>Sarens PO_SB-0407026-001_PDF.txz</i>"] class action_phishing action technique_masquerade["<b>Técnica</b> – <b>T1036.007 Suplantación: Doble Extensión de Archivo</b><br/>El archivo usa la extensión .txz pero parece un .pdf para engañar al usuario"] class technique_masquerade technique action_user_exec["<b>Acción</b> – <b>T1204.002 Ejecución de Usuario</b><br/>La víctima abre el archivo, causando la extracción de un script VBS"] class action_user_exec action file_vbs["<b>Archivo</b> – <b>Script VBS</b><br/>Nombre: Sarens PO_SB-0407026-001_PDF.vbs"] class file_vbs file process_wscript["<b>Proceso</b> – <b>wscript.exe</b><br/>Ejecuta el script VBS"] class process_wscript process process_powershell["<b>Proceso</b> – <b>PowerShell</b><br/>Se lanza con la pasada de política de ejecución para descargar carga útil remota"] class process_powershell process file_payload_image["<b>Archivo</b> – <b>Imagen Falsa</b><br/>Nombre: optimized_MSI.png<br/>Contiene una carga útil codificada Base64 .NET PE"] class file_payload_image file technique_proc_inject_tls["<b>Técnica</b> – <b>T1055.005 Inyección de Proceso: Almacenamiento Local de Hilos</b><br/>PowerShell inyecta código vía TLS"] class technique_proc_inject_tls technique technique_proc_inject_apc["<b>Técnica</b> – <b>T1055.004 Inyección de Proceso: Llamada de Procedimiento Asíncrona</b><br/>PowerShell inyecta código vía APC"] class technique_proc_inject_apc technique technique_proc_inject_pe["<b>Técnica</b> – <b>T1055.002 Inyección de Proceso: Inyección de Ejecutable Portátil</b><br/>El PE .NET reconstruido se carga en memoria con AppDomain.Load"] class technique_proc_inject_pe technique malware_remcos["<b>Malware</b> – <b>Remcos RAT</b><br/>Establece un canal de TLS cifrado al dominio C2"] class malware_remcos malware comm_c2_web["<b>Técnica</b> – <b>T1102.003 Servicio Web: Comunicación en Una Dirección</b><br/>Conexión TLS cifrada a <i>dentalux202.ydns.eu</i>"] class comm_c2_web technique registry_key["<b>Configuración</b> – <b>Clave de Registro</b><br/>HKCUSOFWARERmcu2011HQO1B7 creada por RAT"] class registry_key config mutex["<b>Configuración</b> – <b>Mutex</b><br/>Identificador de mutex de Remcos Rmcu2011HQO1B7"] class mutex config %% Connections action_phishing –>|entrega| technique_masquerade technique_masquerade –>|conduce a| action_user_exec action_user_exec –>|extrae| file_vbs file_vbs –>|ejecutado por| process_wscript process_wscript –>|lanza| process_powershell process_powershell –>|descarga| file_payload_image file_payload_image –>|proporciona| technique_proc_inject_tls file_payload_image –>|proporciona| technique_proc_inject_apc file_payload_image –>|proporciona| technique_proc_inject_pe technique_proc_inject_tls –>|habilita| malware_remcos technique_proc_inject_apc –>|habilita| malware_remcos technique_proc_inject_pe –>|habilita| malware_remcos malware_remcos –>|se comunica a través de| comm_c2_web malware_remcos –>|crea| registry_key malware_remcos –>|crea| mutex "

Flujo de Ataque

Ejecución de Simulación

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

Narrativa del Ataque y Comandos

El adversario envía un correo electrónico de phishing con un archivo adjunto malicioso.vbs. El usuario hace doble clic en el archivo, invocando wscript.exe. El script VBS luego lanza PowerShell con -ExecutionPolicy Bypass para descargar una carga útil de PowerShell remota que instala el RAT Remcos. La línea de comando exacta es:

powershell.exe -ExecutionPolicy Bypass -NoLogo -WindowStyle Hidden -EncodedCommand <BASE64_PAYLOAD>

Prueba de Regresión

#--------------------------------------------------------------------
# Script de Simulación: VBS → Bypass de ExecutionPolicy de PowerShell
#--------------------------------------------------------------------
# 1. Crear una pequeña carga útil de PowerShell (p.ej., escribir un archivo de marcador)
$payload = 'Set-Content -Path "$env:Temppwned.txt" -Value "Comprometido"'
$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))

# 2. Crear el archivo VBS malicioso que ejecuta el comando de PowerShell
$vbsContent = @"
Set objShell = CreateObject("WScript.Shell")
objShell.Run "powershell.exe -ExecutionPolicy Bypass -NoLogo -WindowStyle Hidden -EncodedCommand $encoded", 0, False
"@

$vbsPath = "$env:Tempmalicious.vbs"
Set-Content -Path $vbsPath -Value $vbsContent -Encoding ASCII

# 3. Ejecutar el script VBS (simula un doble clic del usuario)
Start-Process -FilePath "wscript.exe" -ArgumentList "`"$vbsPath`"" -WindowStyle Hidden

# Opcional: esperar unos segundos para que la carga útil se ejecute
Start-Sleep -Seconds 5

Write-Host "Simulación completa. Verificar $env:Temppwned.txt por artefacto."
#--------------------------------------------------------------------

Comandos de Limpieza

# Eliminar artefactos creados durante la simulación
Remove-Item -Path "$env:Tempmalicious.vbs" -ErrorAction SilentlyContinue
Remove-Item -Path "$env:Temppwned.txt" -ErrorAction SilentlyContinue
# Detener cualquier proceso de PowerShell persistente iniciado por el script (si es necesario)
Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Stop-Process -Force