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.
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:
- Explotación masiva automatizada: escaneo y explotación de instancias MOVEit expuestas a Internet
- Despliegue de webshell: acceso persistente a cada víctima
- Exfiltración de datos: descarga selectiva de archivos sensibles
- 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ía | Evento | Acción |
|---|---|---|
| 28 May | Explotación y exfiltración (23 min) | No detectada en tiempo real |
| 31 May | Progress Software publica advisory | Equipo de vuln. alerta |
| 01 Jun | Revisión de instancias MOVEit | Detección de human2.aspx |
| 01 Jun | Aislamiento de servidores MOVEit | Contención inmediata |
| 01 Jun | Análisis forense de logs IIS y BD | Determinación del alcance |
| 02 Jun | Aplicación del parche de Progress | Remediación de la vulnerabilidad |
| 02 Jun | Búsqueda de IOCs en toda la red | Verificación de movimiento lateral (negativo) |
| 03 Jun | Notificación a regulador financiero | Cumplimiento normativo |
| 05 Jun | Notificación a AEPD | Datos personales de empleados afectados |
| 07 Jun | Cl0p publica nombre en leak site | Gestión de crisis |
| 14 Jun | Notificación a afectados | Comunicación a empleados |
| 30 Jun | Informe post-mortem | Lecciones aprendidas |
Contención y remediación
Acciones inmediatas
- Aislamiento de servidores MOVEit de la red
- Eliminación de la webshell human2.aspx
- Revocación de todas las credenciales creadas tras el 27 de mayo
- Bloqueo de IPs atacantes en el firewall perimetral
- Revisión de logs de todas las aplicaciones web en busca de webshells adicionales
Remediación a medio plazo
- Aplicación del parche CVE-2023-34362
- Migración de MOVEit a una versión actualizada con hardening
- Implementación de WAF con reglas específicas para SQL injection
- Monitorización de integridad de archivos (FIM) en directorios web
- Restricción de acceso a MOVEit solo desde IPs corporativas (VPN)
- 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áctica | Técnica | ID | Detalle |
|---|---|---|---|
| Initial Access | Exploit Public-Facing Application | T1190 | SQL injection CVE-2023-34362 |
| Execution | Server Software Component: Web Shell | T1505.003 | LEMURLOOT (human2.aspx) |
| Persistence | Server Software Component: Web Shell | T1505.003 | Webshell como acceso persistente |
| Credential Access | Unsecured Credentials: Credentials in Files | T1552.001 | Credenciales en BD MOVEit |
| Discovery | File and Directory Discovery | T1083 | Listado de carpetas sensibles |
| Collection | Data from Information Repositories | T1213 | Datos del repositorio MOVEit |
| Exfiltration | Exfiltration Over C2 Channel | T1041 | Datos exfiltrados vía webshell |
| Impact | (Sin cifrado) | N/A | Solo 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
- Inventario de aplicaciones expuestas: conocer todas las aplicaciones web accesibles desde Internet, especialmente las de transferencia de archivos
- Parcheo prioritario de aplicaciones de transferencia: estas aplicaciones manejan los datos más sensibles
- Monitorización de integridad de archivos (FIM): detectar archivos nuevos en directorios web
- WAF con reglas de SQL injection: capa adicional de defensa para aplicaciones legadas
- Segmentación de red: los servidores de transferencia de archivos deben estar en un segmento aislado
- 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
BlackCat/ALPHV: Doble Extorsión y Data Leak Investigation
Supply Chain Attack: Paquete npm/PyPI Malicioso Paso a Paso
LockBit 3.0: Incident Response Completo de Principio a Fin
Qakbot: Respuesta a Incidente con Cadena de Infección Completa
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.