SOC Prime Bias: Crítico

16 Jan 2026 13:25 UTC

Cómo las descargas de software reales pueden ocultar puertas traseras remotas

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Cómo las descargas de software reales pueden ocultar puertas traseras remotas
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Los atacantes están operando un sitio de descarga de RustDesk similar (rustdesk.work) que entrega un instalador troyanizado: una configuración legítima de RustDesk con un cargador malicioso llamado Winos4.0. Al ejecutarse, el dropper planta logger.exe and Libserver.exe, luego carga el backdoor en memoria para reducir artefactos en disco. El implante establece comando-y-control a 207.56.13.76 sobre TCP/5666, habilitando acceso remoto persistente. Esta actividad es impulsada por ingeniería social y suplantación de marca, no por una vulnerabilidad en el software RustDesk.

Investigación

Los analistas obtuvieron el binario malicioso rustdesk-1.4.4-x86_64.exe y observaron que escribe un instalador legítimo de RustDesk más un logger.exe arma en disco. El logger.exe componente genera Libserver.exe, que luego despliega WinosStager DLLs y una gran carga en memoria sin persistir esos módulos en disco. La telemetría de la red confirmó comunicaciones salientes a 207.56.13.76:5666, evaluado como el canal C2 de la campaña. Los investigadores extrajeron IOCs clave, incluyendo el dominio suplantado (rustdesk.work), nombres de archivos caídos y hashes de archivos asociados.

Mitigación

Hacer cumplir prácticas verificadas de adquisición de software y descargar RustDesk solo de la fuente oficial (rustdesk.com). Aplicar listas blancas de aplicaciones (o controles equivalentes) para prevenir la ejecución de binarios no confiables, particularmente archivos “instaladores” que provienen de directorios escribibles por el usuario. Monitorear y restringir el tráfico saliente a TCP/5666, y añadir reglas de detección/bloqueo para conexiones a rustdesk.work. Bloquear 207.56.13.76 y el dominio malicioso a través de controles DNS, proxy y firewall.

Respuesta

Crear detecciones para la ejecución de logger.exe and Libserver.exe, y alertar sobre cualquier conexión de red a 207.56.13.76:5666. Buscar proactivamente a través de los puntos finales el instalador troyanizado (y cualquier indicador SHA-256 disponible) y validar si RustDesk fue instalado desde fuentes no aprobadas. Si se confirma el compromiso, aislar los hosts afectados, terminar el árbol de procesos maliciosos, remover artefactos relacionados y rotar credenciales potencialmente expuestas (especialmente cualquier cuenta usada durante la instalación o sesiones remotas subsecuentes).

Flujo de Ataque

Ejecución de Simulación

Prerequisito: La Verificación de Telemetría & Línea 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 la narrativa DEBEN reflejar directamente los TTPs identificados y apuntan a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa del Ataque & Comandos:

    1. Entrega & Ejecución: Un atacante entrega un instalador troyanizado de RustDesk (rustdesk-1.4.4-x86_64.exe) a través de un correo electrónico de phishing. El archivo se guarda en %TEMP% y se ejecuta con privilegios elevados.
    2. Entrega de Carga: Al ejecutarse, el instalador extrae dos binarios maliciosos—logger.exe and Libserver.exe—en el mismo directorio e inmediatamente los lanza como procesos secundarios.
    3. Persistencia (T1546.016): logger.exe escribe una entrada de Run-key (HKCUSoftwareMicrosoftWindowsCurrentVersionRun) apuntando a sí mismo, asegurando persistencia después del reinicio.
    4. Inyección de Código (T1574.005 / T1055.005): Libserver.exe inyecta un DLL reflexivo en explorer.exe para obtener ejecución de alto privilegio y abre un shell inverso al C2 del atacante.
    5. Evasión (Suplantación – T1036.011): Todos los binarios retienen la convención de nombres “RustDesk” para mezclarse con el software legítimo.
  • Guión de Prueba de Regresión: El guión a continuación automatiza los pasos 1‑3, produciendo los tres eventos requeridos de creación de procesos. Utiliza PowerShell para copiar binarios maliciosos pre-ubicados (simulados con marcadores de posición benignos por seguridad) y los lanza con la relación apropiada de padre-hijo.

    # -------------------------------------------------
    # Guión de Simulación - Instalador Troyanizado de RustDesk
    # -------------------------------------------------
    # Prerrequisito: Dos ejecutables de marcador de posición benignos colocados en C:Malware (nombrados logger.exe & Libserver.exe)
    #   En una verdadera prueba de equipo rojo, estos serían las cargas útiles maliciosas reales.
    # -------------------------------------------------
    
    $installerPath = "$env:TEMPrustdesk-1.4.4-x86_64.exe"
    $payloadDir    = "$env:TEMPrustdesk_payload"
    $loggerPath    = "$payloadDirlogger.exe"
    $libserverPath = "$payloadDirLibserver.exe"
    
    # 1. Desplegar un instalador ficticio (simplemente una copia de un exe benigno)
    Write-Host "[*] Desplegando falso instalador de RustDesk..."
    New-Item -ItemType Directory -Path $payloadDir -Force | Out-Null
    Copy-Item -Path "C:WindowsSystem32notepad.exe" -Destination $installerPath -Force
    
    # 2. Simular entrega de carga - copiar binarios marcadores de posición
    Write-Host "[*] Entregando cargas útiles..."
    Copy-Item -Path "C:Malwarelogger.exe"    -Destination $loggerPath    -Force
    Copy-Item -Path "C:MalwareLibserver.exe" -Destination $libserverPath -Force
    
    # 3. Ejecutar instalador (crea proceso padre)
    Write-Host "[*] Ejecutando instalador..."
    $installer = Start-Process -FilePath $installerPath -PassThru
    
    # 4. Lanzar logger.exe como hijo del instalador
    Write-Host "[*] Lanzando logger.exe (hijo del instalador)..."
    Start-Process -FilePath $loggerPath -ArgumentList "--parent $($installer.Id)" -NoNewWindow
    
    # 5. Lanzar Libserver.exe como hijo del instalador
    Write-Host "[*] Lanzando Libserver.exe (hijo del instalador)..."
    Start-Process -FilePath $libserverPath -ArgumentList "--parent $($installer.Id)" -NoNewWindow
    
    Write-Host "[+] Simulación completa. Verifique alertas en SIEM."
  • Comandos de Limpieza: Eliminar los archivos temporales y terminar cualquier proceso persistente.

    # -------------------------------------------------
    # Script de Limpieza – Eliminar artefactos de simulación
    # -------------------------------------------------
    $installerPath = "$env:TEMPrustdesk-1.4.4-x86_64.exe"
    $payloadDir    = "$env:TEMPrustdesk_payload"
    
    Write-Host "[*] Deteniendo procesos generados..."
    Get-Process -Name "logger","Libserver","rustdesk-1.4.4-x86_64" -ErrorAction SilentlyContinue |
        Stop-Process -Force
    
    Write-Host "[*] Eliminando archivos..."
    Remove-Item -Path $installerPath -Force -ErrorAction SilentlyContinue
    Remove-Item -Recurse -Force -Path $payloadDir -ErrorAction SilentlyContinue
    
    Write-Host "[+] Limpieza completa."