AvanzadoCl0pMOVEitCVE-2023-34362SQL injectionwebshellmass exploitationMITRE ATT&CKincident response

Cl0p y MOVEit: Explotación Masiva de Vulnerabilidad CVE-2023-34362

Análisis completo de la explotación masiva de MOVEit Transfer por Cl0p: SQL injection CVE-2023-34362, despliegue de webshell LEMURLOOT, robo de datos sin cifrado, modelo de extorsión único, timeline de respuesta, IOCs y mapeo MITRE ATT&CK.

MalwareIntel Research··11 min lectura
Serie: Casos de Uso — Parte 12

Contexto: la mayor explotación masiva de 2023

En mayo-junio de 2023, el grupo Cl0p (también referenciado como TA505 o FIN11) ejecutó una de las campañas de explotación masiva más impactantes de la historia reciente. El objetivo fue MOVEit Transfer, una aplicación de transferencia segura de archivos de Progress Software, utilizada por miles de organizaciones para mover datos sensibles entre sistemas.

Lo que hizo esta campaña excepcional no fue solo su escala (más de 2.500 organizaciones afectadas), sino su modelo operativo: Cl0p abandonó el ransomware tradicional y optó por un modelo de extorsión pura basado únicamente en el robo de datos.

Perfil de Cl0p

Cl0p (MITRE G0092) es un grupo de cibercrimen con motivación financiera activo desde al menos 2019. Originalmente asociado al grupo TA505, Cl0p evolucionó desde operaciones de ransomware convencional hacia un modelo de explotación masiva de vulnerabilidades zero-day en aplicaciones de transferencia de archivos.

Historial de explotación de plataformas de transferencia:

  • Accellion FTA (diciembre 2020 y enero 2021): CVE-2021-27101, CVE-2021-27104
  • SolarWinds Serv-U (2021): explotación oportunista
  • GoAnywhere MFT (enero 2023): CVE-2023-0669
  • MOVEit Transfer (mayo 2023): CVE-2023-34362

Este patrón demostraba una especialización deliberada en plataformas de transferencia de archivos, donde los datos más valiosos de las organizaciones transitan de forma concentrada.

La vulnerabilidad: CVE-2023-34362

CVE-2023-34362 es una vulnerabilidad de SQL injection en MOVEit Transfer que permitía a un atacante no autenticado acceder a la base de datos subyacente y ejecutar código arbitrario en el servidor.

Análisis técnico de la vulnerabilidad

La vulnerabilidad residía en la aplicación web de MOVEit Transfer, específicamente en el manejo de solicitudes HTTP que interactuaban con el backend de base de datos.

# Flujo de explotación simplificado
1. Atacante envía solicitud HTTP POST a endpoint de MOVEit
2. El parámetro de sesión no se sanitiza correctamente
3. El payload SQL se ejecuta contra la base de datos (SQL Server)
4. El atacante obtiene acceso a datos y puede escribir archivos en disco
5. Se despliega una webshell ASP.NET en el directorio web

El payload SQL utilizado por Cl0p seguía esta estructura general:

-- Payload simplificado (no funcional, solo ilustrativo)
-- 1. Crear cuenta administrativa
INSERT INTO moveittransfer.dbo.users (...)
VALUES ('health_check', '[HASHED_PASSWORD]', 'sysadmin', ...)

-- 2. Obtener token de sesión válido
SELECT SessionToken FROM activesessions
WHERE Username = 'health_check'

-- 3. Escribir webshell en disco vía xp_cmdshell o similar
EXEC xp_cmdshell 'echo [WEBSHELL_CODE] > C:\MOVEitTransfer\wwwroot\human2.aspx'

CVSS y criticidad

CVSS 3.1 Base Score: 9.8 (Critical)
Vector: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Explotabilidad: No requiere autenticación ni interacción del usuario

La webshell LEMURLOOT

Tras explotar la SQL injection, Cl0p desplegaba una webshell personalizada conocida como LEMURLOOT (denominación de Mandiant). Esta webshell se plantaba como un archivo ASP.NET legítimo en el directorio de la aplicación MOVEit.

Características de LEMURLOOT

Nombre típico: human2.aspx
Ubicación: C:\MOVEitTransfer\wwwroot\
Lenguaje: C# / ASP.NET
Autenticación: Requiere header personalizado con password
Funcionalidades:
  - Ejecutar comandos SQL contra la base de datos MOVEit
  - Listar archivos y carpetas del servidor
  - Descargar archivos del servidor
  - Crear y gestionar cuentas de usuario en MOVEit
  - Exfiltrar metadatos de Azure Blob Storage (si configurado)

Estructura de la webshell

// Pseudocódigo simplificado de la lógica de LEMURLOOT
// NO es código funcional, solo para ilustrar la estructura

public class Human2Handler : IHttpHandler
{
    private const string AUTH_HEADER = "X-siLock-Comment";
    private const string AUTH_VALUE = "[REDACTED_PASSWORD]";

    public void ProcessRequest(HttpContext context)
    {
        // Verificar autenticación
        if (context.Request.Headers[AUTH_HEADER] != AUTH_VALUE)
            return;

        string action = context.Request.Form["action"];

        switch (action)
        {
            case "query":
                ExecuteSqlQuery(context);    // SQL arbitrario
                break;
            case "download":
                DownloadFile(context);       // Descargar archivos
                break;
            case "list":
                ListFiles(context);          // Listar directorio
                break;
            case "azure":
                ExfilAzureBlob(context);     // Azure Storage
                break;
        }
    }
}

Interacción con la webshell

Los atacantes interactuaban con LEMURLOOT mediante solicitudes HTTP POST con el header de autenticación personalizado:

POST /human2.aspx HTTP/1.1
Host: moveit.victimcorp[.]com
X-siLock-Comment: [PASSWORD]
Content-Type: application/x-www-form-urlencoded

action=query&query=SELECT+*+FROM+moveittransfer.dbo.files
+WHERE+FolderID+IN+(SELECT+ID+FROM+folders+WHERE+Name+LIKE+'%confidential%')

Modelo de extorsión sin cifrado

Lo más notable de la campaña MOVEit fue la ausencia total de ransomware. Cl0p no cifró ningún sistema. Su modelo operativo se basaba exclusivamente en:

  1. Explotación masiva automatizada: escaneo y explotación de instancias MOVEit expuestas a Internet
  2. Despliegue de webshell: acceso persistente a cada víctima
  3. Exfiltración de datos: descarga selectiva de archivos sensibles
  4. Extorsión pública: publicación en leak site con amenaza de divulgación

Ventajas del modelo sin cifrado

  • Escala: al no necesitar ejecutar ransomware, podían comprometer cientos de víctimas simultáneamente
  • Sigilo: sin cifrado no hay alertas de ransomware en los EDR
  • Simplicidad operativa: no necesitan mantener infraestructura de descifrado ni dar soporte a víctimas
  • Menor riesgo legal: en algunas jurisdicciones, el robo de datos tiene penas menores que la destrucción

Comunicación con las víctimas

Cl0p publicó un mensaje general en su leak site:

DEAR COMPANIES THAT USE MOVEIT

We have information on hundreds of companies.
We give you time until [DATE] to contact us.
If you do not contact us, we will start publishing your data.

DO NOT CONTACT:
- FBI
- Law enforcement
- Recovery companies

CONTACT: [Tor email addresses]

A diferencia de otros grupos que negociaban individualmente desde el primer momento, Cl0p optó por una comunicación masiva, esperando que las víctimas acudieran a ellos proactivamente.

Escenario de investigación: empresa financiera afectada

Documentamos la investigación en una empresa financiera con 5.000 empleados que descubrió la brecha tras el aviso público de Progress Software.

Detección inicial

# Alerta del equipo de vulnerabilidades tras el advisory de Progress
2023-06-01 09:15 UTC - Advisory de Progress Software publicado
2023-06-01 10:30 UTC - Equipo de vuln. identifica 2 instancias MOVEit
2023-06-01 11:00 UTC - Revisión de logs: actividad sospechosa detectada

Análisis de logs IIS

# Entradas sospechosas en logs IIS del servidor MOVEit
2023-05-28 02:14:33 POST /human2.aspx 200 0 [IP_ATACANTE]
2023-05-28 02:14:35 POST /human2.aspx 200 0 [IP_ATACANTE]
2023-05-28 02:15:01 POST /human2.aspx 200 0 [IP_ATACANTE]
2023-05-28 02:17:44 POST /human2.aspx 200 0 [IP_ATACANTE]
2023-05-28 02:22:18 POST /human2.aspx 200 0 [IP_ATACANTE]
# 47 solicitudes en total durante 23 minutos

Análisis de la base de datos MOVEit

-- Usuarios creados por el atacante
SELECT Username, CreateDate, Permission
FROM Users
WHERE CreateDate BETWEEN '2023-05-27' AND '2023-06-01';

-- Resultado: cuenta 'health_check' creada 2023-05-28 02:14
-- con permisos sysadmin

Datos exfiltrados

El análisis de los logs de transferencia de la base de datos MOVEit reveló que el atacante descargó:

  • 412 archivos de la carpeta /Regulatory/SEC_Filings/
  • 1.247 archivos de la carpeta /HR/Payroll/
  • 89 archivos de la carpeta /Legal/M&A/
  • Volumen total estimado: 67 GB en 23 minutos

La velocidad de exfiltración indicaba automatización: scripts que consultaban la base de datos para identificar carpetas de alto valor y descargaban su contenido secuencialmente.

Timeline de respuesta

DíaEventoAcción
28 MayExplotación y exfiltración (23 min)No detectada en tiempo real
31 MayProgress Software publica advisoryEquipo de vuln. alerta
01 JunRevisión de instancias MOVEitDetección de human2.aspx
01 JunAislamiento de servidores MOVEitContención inmediata
01 JunAnálisis forense de logs IIS y BDDeterminación del alcance
02 JunAplicación del parche de ProgressRemediación de la vulnerabilidad
02 JunBúsqueda de IOCs en toda la redVerificación de movimiento lateral (negativo)
03 JunNotificación a regulador financieroCumplimiento normativo
05 JunNotificación a AEPDDatos personales de empleados afectados
07 JunCl0p publica nombre en leak siteGestión de crisis
14 JunNotificación a afectadosComunicación a empleados
30 JunInforme post-mortemLecciones aprendidas

Contención y remediación

Acciones inmediatas

  1. Aislamiento de servidores MOVEit de la red
  2. Eliminación de la webshell human2.aspx
  3. Revocación de todas las credenciales creadas tras el 27 de mayo
  4. Bloqueo de IPs atacantes en el firewall perimetral
  5. Revisión de logs de todas las aplicaciones web en busca de webshells adicionales

Remediación a medio plazo

  1. Aplicación del parche CVE-2023-34362
  2. Migración de MOVEit a una versión actualizada con hardening
  3. Implementación de WAF con reglas específicas para SQL injection
  4. Monitorización de integridad de archivos (FIM) en directorios web
  5. Restricción de acceso a MOVEit solo desde IPs corporativas (VPN)
  6. Evaluación de alternativas a MOVEit Transfer

IOCs del incidente

Webshell

Nombre: human2.aspx
SHA256: 710d6927...4a8d2c (variante observada)
Ubicación: C:\MOVEitTransfer\wwwroot\human2.aspx
Header de autenticación: X-siLock-Comment

IPs de ataque

5.252.190[.]x        Explotación y control de webshell
148.113.152[.]x      Exfiltración de datos
89.39.105[.]x        Escaneo previo de instancias MOVEit
84.234.96[.]x        Nodo secundario de exfiltración

Artefactos en base de datos

Usuario: health_check (sysadmin, creado durante explotación)
Queries SQL anómalas con SELECT * FROM files/folders
Entradas de transferencia hacia IPs externas no autorizadas

User-Agents observados

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
  (indicador de scripting, no navegador real)

Mapeo MITRE ATT&CK

TácticaTécnicaIDDetalle
Initial AccessExploit Public-Facing ApplicationT1190SQL injection CVE-2023-34362
ExecutionServer Software Component: Web ShellT1505.003LEMURLOOT (human2.aspx)
PersistenceServer Software Component: Web ShellT1505.003Webshell como acceso persistente
Credential AccessUnsecured Credentials: Credentials in FilesT1552.001Credenciales en BD MOVEit
DiscoveryFile and Directory DiscoveryT1083Listado de carpetas sensibles
CollectionData from Information RepositoriesT1213Datos del repositorio MOVEit
ExfiltrationExfiltration Over C2 ChannelT1041Datos exfiltrados vía webshell
Impact(Sin cifrado)N/ASolo extorsión por robo de datos

Detección: reglas y queries

Regla Sigma para detección de webshell MOVEit

title: MOVEit Transfer Webshell Detection
id: moveit-webshell-001
status: stable
description: Detecta la presencia de webshells en el directorio de MOVEit
logsource:
  product: iis
  service: www
detection:
  selection:
    cs-uri-stem|endswith:
      - '/human2.aspx'
      - '/human.aspx'
      - '/_human2.aspx'
    sc-status: 200
    cs-method: POST
  condition: selection
level: critical
tags:
  - attack.initial_access
  - attack.t1190
  - cve.2023.34362

Query de detección en logs IIS

# Buscar solicitudes POST a archivos .aspx no estándar en MOVEit
Get-Content "C:\inetpub\logs\LogFiles\W3SVC1\*.log" |
  Select-String -Pattern "POST.*/(?!guestaccess|api|machine).*\.aspx.*200" |
  Where-Object { $_ -match "human|health|shell|cmd" }

Detección de archivos nuevos en wwwroot

# FIM básico: archivos .aspx creados después de la instalación
Get-ChildItem -Path "C:\MOVEitTransfer\wwwroot" -Filter "*.aspx" -Recurse |
  Where-Object { $_.CreationTime -gt (Get-Date "2023-05-01") } |
  Select-Object FullName, CreationTime, Length, LastWriteTime

Impacto global y lecciones

Escala del incidente

La campaña MOVEit afectó a más de 2.500 organizaciones documentadas, incluyendo:

  • Agencias gubernamentales de EE.UU. (DOE, varias agencias estatales)
  • Universidades (Johns Hopkins, UCLA, entre otras)
  • Empresas financieras y aseguradoras
  • Organizaciones sanitarias
  • Cadenas de suministro (Shell, British Airways vía Zellis)

El impacto indirecto fue especialmente significativo: muchas organizaciones no usaban MOVEit directamente, pero sus datos fueron comprometidos porque un proveedor de servicios sí lo hacía.

Lecciones para equipos de seguridad

  1. Inventario de aplicaciones expuestas: conocer todas las aplicaciones web accesibles desde Internet, especialmente las de transferencia de archivos
  2. Parcheo prioritario de aplicaciones de transferencia: estas aplicaciones manejan los datos más sensibles
  3. Monitorización de integridad de archivos (FIM): detectar archivos nuevos en directorios web
  4. WAF con reglas de SQL injection: capa adicional de defensa para aplicaciones legadas
  5. Segmentación de red: los servidores de transferencia de archivos deben estar en un segmento aislado
  6. Zero trust en transferencia de datos: verificar la necesidad de cada flujo de transferencia

Evolución del modelo de amenaza

La campaña MOVEit marcó un punto de inflexión en el ecosistema de ransomware. Cl0p demostró que el cifrado no es necesario para una operación de extorsión exitosa. Este modelo ha sido adoptado posteriormente por otros grupos, sugiriendo una tendencia hacia la especialización en explotación de vulnerabilidades y robo de datos como alternativa al ransomware tradicional.

Para los equipos de defensa, esto significa que la detección no puede basarse únicamente en indicadores de cifrado. La monitorización de exfiltración de datos, la detección de webshells y la gestión de vulnerabilidades en aplicaciones expuestas son ahora prioridades equivalentes a la protección contra ransomware.

Preguntas frecuentes

Artículos relacionados

Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.