Ataque de Malware Dirigido a Servidores MS‑SQL para Desplegar el Escáner de Nube ICE (Larva-26002)
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El actor de amenazas Larva-26002 apunta repetidamente a servidores MS-SQL expuestos mediante ataques de fuerza bruta. Una vez obtenido el acceso, el atacante utiliza herramientas como BCP, Curl o Bitsadmin para descargar y escribir un escáner basado en Go conocido como ICE Cloud Client. Este escáner se conecta a un servidor de comando y control, recibe credenciales para servidores SQL adicionales, y puede facilitar el despliegue de familias de ransomware como Trigona o Mimic.
Investigación
AhnLab documentó el abuso de la utilidad BCP para extraer un binario malicioso de una tabla de base de datos y guardarlo como C:\ProgramData\api.exe. Los investigadores también observaron métodos alternativos de descarga utilizando Curl y Bitsadmin. El ICE Cloud Launcher luego se autentica con su servidor C2, recupera listas de objetivos y credenciales, y comienza a forzar otros servidores SQL. La campaña también introdujo herramientas de acceso remoto como AnyDesk y Teramind.
Mitigación
Las organizaciones deben requerir contraseñas fuertes y únicas para las cuentas SQL, prevenir servicios SQL expuestos a Internet y restringir severamente el acceso RDP. El servidor SQL y los componentes relacionados deben estar completamente parcheados, mientras que los equipos de seguridad deben monitorear el uso inusual de BCP, Curl o Bitsadmin. También se deben usar segmentación de red y detección de intrusiones para identificar comunicaciones sospechosas de salida hacia infraestructuras maliciosas conocidas.
Respuesta
Si se detecta esta actividad, aísle el host afectado, preserve artefactos forenses como api.exe y el historial de comandos, y busque en el entorno un comportamiento similar de BCP o descargador. Bloquee las IPs y dominios maliciosos, restablezca las credenciales SQL comprometidas y elimine cualquier herramienta de administración remota desplegada. Luego, una revisión completa de respuesta a incidentes debería determinar si se ha producido el análisis o despliegue de ransomware.
"graph TB %% Definiciones de clase classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef technique fill:#cccccc classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Nodos action_initial_access["<b>Acción</b> – <b>T1110.003 Fuerza Bruta: Rociado de Contraseñas</b><br/>El atacante fuerza servicios MS‐SQL expuestos para obtener credenciales."] class action_initial_access action tool_mssql["<b>Herramienta</b> – <b>Nombre</b>: Microsoft SQL Server<br/><b>Propósito</b>: Servicio de destino para robo de credenciales"] class tool_mssql tool tech_valid_accounts["<b>Técnica</b> – <b>T1078 Cuentas Válidas</b><br/>Uso de credenciales obtenidas para iniciar sesión en servidores SQL"] class tech_valid_accounts technique tech_cmd_shell["<b>Técnica</b> – <b>T1059.003 Shell de Comando de Windows</b><br/>Ejecutar comandos del sistema (hostname, whoami, ifconfig, netstat, tasklist)"] class tech_cmd_shell technique tech_network_config["<b>Técnica</b> – <b>T1016 Descubrimiento de Configuración de Red del Sistema</b>"] class tech_network_config technique tech_network_conn["<b>Técnica</b> – <b>T1049 Descubrimiento de Conexiones de Red del Sistema</b>"] class tech_network_conn technique tech_process_disc["<b>Técnica</b> – <b>T1057 Descubrimiento de Procesos</b>"] class tech_process_disc technique tool_curl["<b>Herramienta</b> – <b>Nombre</b>: curl<br/><b>Propósito</b>: Descargar carga útil maliciosa"] class tool_curl tool tool_bitsadmin["<b>Herramienta</b> – <b>Nombre</b>: bitsadmin<br/><b>Propósito</b>: Descargar carga útil maliciosa"] class tool_bitsadmin tool tool_bcp["<b>Herramienta</b> – <b>Nombre</b>: BCP (Programa de Copia Masiva)<br/><b>Propósito</b>: Exportar datos binarios para crear api.exe"] class tool_bcp tool tech_masquerade["<b>Técnica</b> – <b>T1036.003 Suplantación: Renombrar Utilidades del Sistema</b><br/>Carga útil disfrazada como un programa legítimo"] class tech_masquerade technique malware_api["<b>Malware</b> – <b>Nombre</b>: api.exe<br/><b>Función</b>: Agente ICE Cloud Launcher C2"] class malware_api malware tech_c2_web["<b>Técnica</b> – <b>T1071.001 Protocolos Web</b><br/>Comunicación C2 sobre HTTP"] class tech_c2_web technique tech_c2_websvc["<b>Técnica</b> – <b>T1102.002 Servicio Web: Resolutor de Depósito Muerto</b>"] class tech_c2_websvc technique action_lateral_movement["<b>Acción</b> – <b>T1078 Cuentas Válidas</b><br/>Usar credenciales para autenticarse en servidores adicionales MSSQL"] class action_lateral_movement action tech_exploit_remote["<b>Técnica</b> – <b>T1210 Explotación de Servicios Remotos</b><br/>Reenvío de puertos o RDP para movimiento lateral"] class tech_exploit_remote technique tool_anydesk["<b>Herramienta</b> – <b>Nombre</b>: AnyDesk<br/><b>Propósito</b>: Control remoto"] class tool_anydesk tool tool_teramind["<b>Herramienta</b> – <b>Nombre</b>: Teramind<br/><b>Propósito</b>: Monitoreo remoto"] class tool_teramind tool action_data_exfil["<b>Acción</b> – <b>Colección y Exfiltración de Datos</b><br/>Escaneo y exfiltración de datos de configuración"] class action_data_exfil action %% Conexiones action_initial_access –>|apunta a| tool_mssql tool_mssql –>|habilita| tech_valid_accounts tech_valid_accounts –>|permite| tech_cmd_shell tech_cmd_shell –>|recopila| tech_network_config tech_cmd_shell –>|recopila| tech_network_conn tech_cmd_shell –>|recopila| tech_process_disc tech_cmd_shell –>|descarga carga útil usando| tool_curl tech_cmd_shell –>|descarga carga útil usando| tool_bitsadmin tech_cmd_shell –>|usa| tool_bcp tool_bcp –>|crea| malware_api malware_api –>|se disfraza como| tech_masquerade malware_api –>|se comunica a través de| tech_c2_web malware_api –>|usa| tech_c2_websvc malware_api –>|habilita| action_lateral_movement action_lateral_movement –>|aprovecha| tech_exploit_remote tech_exploit_remote –>|instala| tool_anydesk tech_exploit_remote –>|instala| tool_teramind tool_anydesk –>|facilita| action_data_exfil tool_teramind –>|facilita| action_data_exfil "
Flujo de Ataque
Detecciones
Posible Enumeración de Servicios (mediante línea de comandos)
Ver
Posible Descubrimiento de Configuración de Red del Sistema (mediante línea de comandos)
Ver
Intento de Ejecución del Herramienta de Copia Masiva de SQL Sospechosa (mediante línea de comandos)
Ver
Descarga de Archivo Sospechosa IP Directa (mediante proxy)
Ver
Uso Sospechoso de CURL (mediante línea de comandos)
Ver
Posible Enumeración de Procesos del Sistema (mediante línea de comandos)
Ver
Posible Ejecución de Comandos mediante Procedimiento Almacenado Extendido SQL xp_cmdshell (mediante línea de comandos)
Ver
Posible Enumeración del Sistema (mediante línea de comandos)
Ver
Posible Enumeración/Manipulación de Cuentas o Grupos (mediante línea de comandos)
Ver
IOCs (SourceIP) para detectar: Ataque de Malware Dirigido a Servidores MS‐SQL para Desplegar el ICE Cloud Scanner (Larva-26002)
Ver
IOCs (DestinationIP) para detectar: Ataque de Malware Dirigido a Servidores MS‐SQL para Desplegar el ICE Cloud Scanner (Larva-26002)
Ver
IOCs (HashMd5) para detectar: Ataque de Malware Dirigido a Servidores MS‐SQL para Desplegar el ICE Cloud Scanner (Larva-26002)
Ver
Creación y Ejecución de Malware en Servidores MS-SQL [Creación de Procesos de Windows]
Ver
Ejecución de Simulación
Prerrequisito: La Revisión Previa de Telemetría y 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 apuntar a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.
-
Narrativa de Ataque y Comandos:
- Reconocimiento en el host SQL comprometido – El atacante enumera la identidad del host e interfaces de red activas usando
hostnameandnetstat -an. - Preparación para el movimiento lateral – El atacante lista los procesos en ejecución para verificar que
sqlservr.exeestá presente, confirmando que el objetivo es un servidor SQL. - Descarga de malware mediante utilidad nativa – Usando
bcp.exe, el atacante abusa de la capacidad de la utilidad de invocar un programa externo (-ecomando) para descargar una carga útil maliciosa (api.exe) desde un servidor C2 remoto. - Ejecución de la carga útil – El
api.exedescargado es lanzado, estableciendo persistencia.
- Reconocimiento en el host SQL comprometido – El atacante enumera la identidad del host e interfaces de red activas usando
-
Script de Prueba de Regresión: (PowerShell – completamente autónomo)
# ------------------------------------------------------------ # Ataque simulado contra un host Windows SQL Server # ------------------------------------------------------------ $tempDir = "$env:TEMPlarva26002" New-Item -Path $tempDir -ItemType Directory -Force | Out-Null # 1. Recolección de información del sistema (activa selection_info) hostname whoami netstat -an tasklist /FI "IMAGENAME eq sqlservr.exe" /FO CSV /NH # 2. Descargar carga útil maliciosa usando BCP (activa selection_malware) # Simular un archivo remoto creando un exe ficticio localmente $maliciousExe = "$tempDirapi.exe" Set-Content -Path $maliciousExe -Value "FakeMalware" -Encoding ASCII # Comando BCP que llama a "api.exe" a través del -e switch (ejecución de programa externo) $bcpCmd = @" bcp "SELECT TOP (1) name FROM master.dbo.spt_values" queryout NUL -c -t, -S localhost -T -e "$maliciousExe" "@ Invoke-Expression $bcpCmd # 3. Ejecutar la carga útil (proceso observable adicional) Start-Process -FilePath $maliciousExe -WindowStyle Hidden # Retraso de limpieza (permitir la ingesta SIEM) Start-Sleep -Seconds 10 -
Comandos de Limpieza:
# Eliminar archivos temporales y detener cualquier proceso falso persistente Stop-Process -Name "api" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPlarva26002" -Recurse -Force