WannaCry —también denominado WannaCrypt, WanaCrypt0r 2.0, Wanna Decryptor o WCry— es una familia de ransomware para Microsoft Windows con capacidad de propagación automática, por lo que suele describirse como un criptogusano. El nombre se emplea asimismo para designar el ciberataque mundial que comenzó el 12 de mayo de 2017. El programa cifraba numerosos tipos de archivos de los equipos comprometidos y exigía un rescate pagadero en Bitcoin para intentar recuperarlos.

La expansión masiva se produjo mediante vulnerabilidades del protocolo SMBv1 corregidas por Microsoft en el boletín de seguridad MS17-010. WannaCry incorporó el exploit EternalBlue, desarrollado originalmente por la Agencia de Seguridad Nacional de Estados Unidos (NSA) y publicado por el grupo The Shadow Brokers en abril de 2017. Esta combinación permitió que el malware se propagara por redes locales y a través de Internet sin que cada nueva víctima tuviera que abrir un archivo o enlace malicioso.

Las estimaciones publicadas durante y después del incidente difieren según la fecha y el método de medición, pero coinciden en que afectó a cientos de miles de sistemas en más de 150 países. Entre las organizaciones perjudicadas figuraron el Servicio Nacional de Salud británico (NHS), Telefónica, Renault, Nissan, Deutsche Bahn, FedEx y organismos públicos de varios países.

El investigador británico Marcus Hutchins, conocido entonces por el seudónimo MalwareTech, redujo de forma drástica la primera oleada al registrar un dominio incorporado en el código que actuaba como mecanismo de desactivación. El registro no reparó los equipos ya cifrados ni eliminó la necesidad de instalar parches, y posteriormente se localizaron variantes con otros dominios de desactivación.

La autoría material no ha sido establecida mediante una sentencia específica sobre el ataque. No obstante, varias empresas de seguridad identificaron vínculos técnicos con el Grupo Lazarus, asociado a Corea del Norte, y los gobiernos del Reino Unido y Estados Unidos atribuyeron públicamente la operación a actores norcoreanos. En septiembre de 2018, el Departamento de Justicia de los Estados Unidos acusó al programador norcoreano Park Jin Hyok de participar, entre otras actividades, en la creación y difusión de WannaCry 2.0.

Denominación y clasificación

Las muestras y notas de rescate utilizaron distintas grafías, entre ellas WannaCry, WannaCrypt, WanaCrypt0r, Wana Decrypt0r y WCry. En la documentación técnica de Microsoft apareció con identificadores como Ransom:Win32/WannaCrypt, mientras que otros proveedores emplearon nombres propios para variantes o componentes concretos.

Se clasifica como ransomware porque impide el acceso a datos mediante cifrado y reclama un pago, y como gusano porque intenta comprometer automáticamente otros sistemas vulnerables. Esta segunda capacidad distinguió el brote de muchas campañas de ransomware contemporáneas, que dependían principalmente de archivos adjuntos, descargas o enlaces de phishing.

Antecedentes

Vulnerabilidades de SMB y MS17-010

El 14 de marzo de 2017, Microsoft publicó el boletín MS17-010, que corregía varias vulnerabilidades críticas en la implementación de SMBv1. Un atacante remoto podía enviar paquetes especialmente diseñados a un servidor SMB y ejecutar código en el sistema vulnerable. Las actualizaciones estaban disponibles para las versiones de Windows que se encontraban dentro del ciclo ordinario de soporte.

El 14 de abril de 2017, The Shadow Brokers difundió un conjunto de herramientas atribuidas a la NSA. Entre ellas figuraba EternalBlue, capaz de explotar vulnerabilidades cubiertas por MS17-010. El material filtrado también incluía herramientas relacionadas con la puerta trasera DoublePulsar, aunque los análisis no siempre coinciden en el papel que esta desempeñó en cada infección de WannaCry.

EternalBlue suele vincularse en la bibliografía a CVE-2017-0144. Algunas fichas de detección de Microsoft relativas a WannaCry también remiten a CVE-2017-0145, otra de las vulnerabilidades de SMBv1 comprendidas en MS17-010. Por ello, numerosos análisis describen de forma conjunta la explotación de las vulnerabilidades SMB corregidas por aquel boletín, en lugar de atribuir toda la cadena a un único identificador CVE.

Variantes anteriores al brote mundial

Symantec documentó muestras semejantes a WannaCry empleadas en ataques limitados durante febrero, marzo y abril de 2017. Estas variantes tempranas no incorporaban todavía la propagación masiva mediante EternalBlue y, según su análisis, se apoyaban en credenciales comprometidas y otras herramientas para desplazarse dentro de las redes atacadas. También presentaban semejanzas de código y de infraestructura con programas asociados previamente al Grupo Lazarus.

Funcionamiento

Componentes y persistencia

Los análisis forenses describen una arquitectura compuesta por una parte de carga y propagación y otra dedicada al cifrado y a la interacción con la víctima. Entre los archivos observados se encontraban `mssecsvc.exe`, asociado al cargador y al gusano; `tasksche.exe`, otro cargador; y `@[email protected]`, que mostraba la interfaz de rescate. La infección creaba el servicio `mssecsvc2.0`, podía añadir valores de ejecución automática al Registro de Windows y desplegaba archivos auxiliares con extensiones `.wnry`, junto con componentes de Tor.

El malware eliminaba o dificultaba el uso de determinados mecanismos locales de recuperación. Entre otras acciones observadas, ejecutaba comandos para borrar copias de instantáneas de volumen y modificar opciones de arranque, con el objetivo de reducir las posibilidades de restaurar los archivos sin pagar.

Propagación

Al ejecutarse, el componente de gusano examinaba equipos accesibles por el puerto TCP 445 y trataba de explotar SMBv1 mediante EternalBlue. La propagación se producía tanto lateralmente dentro de la red local como hacia direcciones de Internet generadas por el programa. Los sistemas sin la actualización MS17-010 y con SMB expuesto eran especialmente vulnerables.

Durante las primeras horas se especuló con que una campaña de correos de phishing hubiera iniciado el brote. Sin embargo, los análisis posteriores no confirmaron una campaña de correo como mecanismo dominante de la expansión mundial. La propagación masiva sí está documentada mediante la explotación automática de SMB; el modo exacto en que se introdujo la primera muestra en la primera red comprometida no quedó establecido de manera concluyente.

Aunque los equipos con sistemas operativos sin soporte constituían un riesgo evidente, el incidente no se limitó a Windows XP. El informe posterior del National Audit Office británico señaló, por ejemplo, que muchos de los dispositivos infectados en el NHS utilizaban Windows 7 sin los parches correspondientes.

Cifrado y petición de rescate

WannaCry buscaba numerosas extensiones de documentos, imágenes, bases de datos, archivos comprimidos y otros datos de usuario. Para cada archivo generaba una clave de AES-128 en modo CBC; esa clave se protegía posteriormente mediante criptografía RSA. Los archivos resultantes incorporaban una cabecera identificada por la cadena `WANACRY!` y, según la muestra, recibían extensiones como `.WNCRY` o `.WCRY`.

La nota de rescate estaba traducida a numerosos idiomas, incluido el español. Exigía generalmente el equivalente a 300 dólares en bitcoin y anunciaba que el importe se duplicaría después de tres días; también advertía de la supuesta pérdida definitiva de los archivos tras siete días. El programa cambiaba el fondo de escritorio, mostraba una cuenta atrás y proporcionaba instrucciones para adquirir y enviar la criptomoneda.

El malware incluía tres direcciones de Bitcoin codificadas directamente. Symantec atribuyó esta decisión a un error de concurrencia que impidió generar de forma fiable una cartera distinta para cada víctima. Al no existir una identificación automática clara entre cada pago y cada equipo, el proceso de entrega de claves resultaba difícil de administrar incluso para los atacantes.

Dominios de desactivación

Antes de iniciar determinadas acciones, la variante responsable de la primera gran oleada comprobaba si podía contactar con un dominio largo y aparentemente aleatorio incluido en su código. Si la conexión tenía éxito, el proceso se detenía. Este comportamiento pudo concebirse como una forma de detectar entornos automatizados de análisis —algunos de los cuales responden positivamente a cualquier dominio—, aunque su propósito original no se conoce con certeza.

Marcus Hutchins registró el dominio y redirigió su tráfico a un servidor de observación o sinkhole. La medida provocó que una gran cantidad de nuevas ejecuciones se desactivaran y frenó de forma notable la propagación de aquella variante. No descifró archivos existentes, no eliminó infecciones ya instaladas y podía resultar ineficaz en redes que bloquearan la consulta o la respuesta del dominio. En días posteriores se encontraron muestras que utilizaban otros dominios, uno de los cuales fue registrado y hundido por investigadores de Check Point.

Ataque mundial de mayo de 2017

Cronología

miniatura|derecha|300px|Países afectados durante las primeras horas del ataque mundial.

El viernes 12 de mayo de 2017 comenzaron a notificarse infecciones simultáneas en organizaciones de numerosos países. La combinación de cifrado y propagación automática provocó que el incidente creciera con rapidez, especialmente en redes extensas que contenían equipos sin MS17-010 o en las que SMBv1 podía utilizarse lateralmente.

Durante la mañana europea, la red interna de Telefónica y distintos centros del NHS hicieron públicos problemas relacionados con ransomware. En las horas siguientes aparecieron incidentes en empresas de transporte, fabricación, telecomunicaciones, logística, energía y organismos públicos. El registro del dominio de desactivación a última hora del 12 de mayo redujo la velocidad de la primera oleada, aunque las labores de aislamiento, parcheo y restauración continuaron durante días.

Ese mismo fin de semana, Microsoft publicó orientaciones de emergencia y tomó la decisión excepcional de ofrecer actualizaciones para sistemas fuera de soporte general, entre ellos Windows XP, Windows 8 y Windows Server 2003. La empresa insistió en aplicar MS17-010, deshabilitar SMBv1 cuando fuera posible, aislar sistemas comprometidos y mantener actualizado el software antimalware.

Alcance

Las cifras publicadas fueron aumentando a medida que se reunían datos. ENISA calculó el 15 de mayo aproximadamente 190 000 equipos afectados en más de 150 países, mientras que Europol y distintos medios difundieron estimaciones cercanas o superiores a 200 000. Otras autoridades y empresas contabilizaron más conexiones, direcciones vulnerables o detecciones y ofrecieron cifras mayores. La disparidad se debe, entre otros factores, a que unas mediciones contaban dispositivos cifrados, otras direcciones IP, intentos de infección o conexiones al dominio hundido.

El Departamento de Seguridad Nacional de España informó el 17 de mayo de más de 360 000 equipos afectados en 180 países, y situó a España en el decimoctavo puesto por número de infecciones confirmadas, con más de 1200. Estas cifras deben entenderse como una fotografía de aquel momento y no como un censo definitivo de víctimas.

Impacto

Servicio Nacional de Salud del Reino Unido

El NHS de Inglaterra fue uno de los casos más visibles. El National Audit Office concluyó que al menos 81 de los 236 trusts hospitalarios resultaron afectados directamente o desconectaron sistemas como medida de precaución. También se vieron afectados 603 organismos de atención primaria y otras entidades del NHS, entre ellos 595 consultorios de medicina general.