Threat Research

Cring ransomware se aprovecha del antiguo servidor ColdFusion

En un ataque investigado recientemente por Sophos, un ciberdelincuente desconocido aprovechó una vulnerabilidad antigua en una instalación de Adobe ColdFusion 9 de hace 11 años para tomar el control del servidor ColdFusion de forma remota y luego ejecutar un ransomware conocido como Cring en el servidor y en otras máquinas en la red del objetivo.

Mientras que otras máquinas fueron “bloqueadas” por el ransomware, el servidor que alojaba ColdFusion fue parcialmente recuperable y Sophos pudo extraer pruebas en forma de registros y archivos de la máquina.

El servidor que ejecutaba ColdFusion estaba ejecutando el sistema operativo Windows Server 2008, que Microsoft finalizó en enero de 2020. Adobe declaró el final de la vida útil de ColdFusion 9 en 2016. Como resultado, ni el sistema operativo ni el software ColdFusion podía ser parcheado. El incidente sirve como un claro recordatorio de que los administradores de TI no pueden dejar los sistemas comerciales críticos desactualizados en la Internet pública.

A pesar de la antigüedad del software y del servidor, el atacante utilizó técnicas bastante sofisticadas para ocultar sus archivos, inyectar código en la memoria y cubrir sus huellas eliminando registros y otros pruebas que podrían usarse en una investigación.

Acceso rápido

El ataque comenzó a través de la web. Los registros del servidor indican que un atacante, utilizando una dirección de internet asignada al ISP ucraniano Green Floid, comenzó a escanear el sitio web del objetivo justo antes de las 10 a.m., hora local, utilizando una herramienta automatizada para intentar navegar a más de 9000 rutas en el sitio web del objetivo en tan solo 76 segundos. Los análisis revelaron que el servidor web alojaba archivos válidos y rutas de URI específicas para las instalaciones de ColdFusion, como /admin.cfm, /login.cfm y /CFIDE/Administrator/.

Los análisis realizados por el atacante páginas del servidor web utilizadas por ColdFusion

Tres minutos más tarde, el atacante aprovechó CVE-2010-2861, una vulnerabilidad de cruce de directorios en ColdFusion que permite a un usuario remoto recuperar archivos de directorios del servidor web que no deberían estar disponibles para el público. En este caso, recuperaron un archivo llamado password.properties del servidor.

A continuación, el atacante parece haber aprovechado otra vulnerabilidad en ColdFusion, CVE-2009-3960, que permite a un atacante remoto inyectar datos mediante un abuso de los protocolos de manejo XML de ColdFusion. Esto permitió al atacante cargar un archivo en el servidor ColdFusion realizando un HTTP POST en la ruta /flex2gateway/amf del servidor.

Ese archivo puede haber sido este código de shell web, diseñado para pasar parámetros directamente al shell de comandos de Windows, que se recuperó del servidor dentro de un archivo de hoja de estilo (CSS).

El atacante escribió el shell web, codificado en base64, desde c:\windows\temp\csa.log a E:\cf9_final\cfusion\wwwroot\CFIDE\cfa.css.

Luego intentaron usar el shell web para cargar un ejecutable de Cobalt Strike en el servidor.

Usando el ejecutable, luego sobrescribieron el archivo que contenía el shell web, escribiendo deliberadamente datos confusos sobre los archivos para dificultar cualquier investigación futura.

Unas horas más tarde

Aproximadamente 62 horas después, justo antes de la medianoche de un sábado por la noche, los atacantes regresaron.

Usando el ejecutable para cargar archivos y ejecutar comandos en el servidor ahora comprometido, los atacantes colocaron varios archivos en C:\ProgramData\{58AB9DC8-D2E9-170E-542F-894CCE6D0282}\ y luego crearon una Tarea Programada que usaba el Script de Windows Aloje wscript.exe para ejecutar el archivo mientras le pasaba un conjunto de parámetros codificados en hexadecimal:

Los parámetros, decodificados en texto sin formato, tienen este aspecto:

La función -IsErIK toma el comando y captura un script adicional, lo descifra y luego ejecuta el script recién descargado en la memoria. La simplicidad del cargador persistente y el mecanismo de persistencia en sí mismo (que se ejecuta como una tarea programada) apunta a un nivel sofisticado de seguridad operativa.

Unas horas más tarde, colocaron un segundo shell web en el directorio ColdFusion/CFIDE/ llamado cfiut.cfm, que luego utilizaron para exportar varias secciones del Registro, que escribieron en archivos con una extensión .png y se colocaron en una ubicación de acceso público en la ruta del servidor web ColdFusion.

Las colmenas que exportaron: HKLM\SAM, HKLM\Security y HKLM\System se pueden utilizar para recopilar credenciales cuando el atacante lo desee. El atacante podría buscar la ubicación del archivo y descargar los archivos que no son .PNG, lo que hizo de inmediato y luego los eliminó utilizando el shell web.

Aproximadamente cinco horas después, los atacantes regresaron y utilizaron WMIC para invocar PowerShell para descargar un archivo llamado 01.css y 02.css desde una dirección IP localizada en Bielorrusia. Los atacantes también crearon una cuenta de usuario llamada agente$ con una contraseña P@ssw0rd a la que dieron permisos de administrador.

Después de otro descanso de cuatro horas, los atacantes comenzaron a ejecutar comandos que perfilaban el sistema, se otorgaron privilegios de administrador de dominio y luego ejecutaron comandos remotos en otros servidores utilizando esas credenciales de administrador de dominio, incluida la colocación del ejecutable de Cobalt Strike en otras máquinas.

Una vez que estos comportamientos comenzaron a ser bloqueados por nuestras tecnologías de seguridad, los atacantes atacaron nuestros productos. Si bien Sophos detuvo el intento de cargar el ejecutable, el atacante luego centró su atención en usar el shell web para ejecutar comandos que deshabilitaban tanto la protección del endpoint de Sophos (la configuración de Protección contra manipulaciones no estaba habilitada en esta máquina) como Windows Defender.

Después de desactivar la protección de Sophos, los atacantes determinaron que el servidor alojaba un hipervisor y descubrieron varios archivos de disco de VM en la máquina. Ejecutaron un comando para detener y apagar las máquinas virtuales.

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe Get-VM | % {Stop-VM $_ -TurnOff}

Finalmente, aproximadamente 79 horas después de la violación inicial del servidor ColdFusion, el atacante entregó un ejecutable de ransomware llamado msp.exe, cifrando el sistema y las carpetas que contienen las imágenes de disco de la máquina virtual. Los atacantes eliminaron las instantáneas de volumen, luego borraron los registros de eventos y volvieron a habilitar los productos de seguridad de Sophos que habían deshabilitado anteriormente.

La nota de rescate aparece en la pantalla de inicio de sesión de Windows, como un “mensaje del día” en lugar de simplemente como un archivo de texto en el escritorio.

Detección y orientación

Los productos de endpoint de Sophos detectarán el ejecutable de ransomware (exclusivo para este objetivo) como Troj/Ransom-GKG, los ejecutables de Cobalt Strike como AMSI/Cobalt-A, el shell web como Troj/BckDr-RXU y los comandos de PowerShell utilizados para cargar Cobalt Strike se detectarán como Troj/PS-IM. Las detecciones de comportamiento como Exec_27a (Mitre ATT & CK T1059.001) y Dynamic Shellcode Protection (HeapHeapProtect) interceptan la mayoría de las actividades maliciosas. Como muchos de los componentes del ataque no tenían archivos o eran específicos de esta víctima en particular, SophosLabs no publicará IOC adicionales relacionados con este incidente.

Agradecimientos

SophosLabs desea agradecer el trabajo del analista senior de Rapid Response Vikas Singh, y de los analistas de Labs Shefali Gupta, Krisztián Diriczi y Chaitanya Ghorpade por su ayuda con el análisis de los componentes del ataque.