DESCUBRIENDO LOS SECRETOS BAJO EL ATAQUE DE ESXI ARGS: UNA MIRADA DETRÁS DE ESCENA

UN VISTAZO A LA AMENAZA

Aproximadamente el 6 de febrero del año en curso, “ESXI Args”, un ransomware que formó parte de una ola de ataques generados para impactar a miles de servidores, tuvo como objetivo impactar a los servidores VMware ESXI mediante una vulnerabilidad. Los atacantes ejecutaron códigos maliciosos de manera remota mediante técnicas con un bajo nivel de complejidad de implementación. Sin embargo,  de acuerdo con reportes realizados por especialistas de Bleeping Computer (una de las fuentes más confiables en el ámbito), todas las víctimas que reportaron ser afectadas recibieron la ayuda suficiente para recuperar sus archivos. A continuación se brinda un enfoque técnico de esta vulnerabilidad con el fin de presentar cómo funcionan este tipo de amenazas.

AMENAZA A DETALLE

Particularmente la CVE-2021-21974, es decir, la amenaza correspondiente a ese identificador único con sus respectivas características, se refiere a un exploit utilizado por el ransomware ESXiArgs (programa malicioso que secuestra toda tu información a cambio de un pago), el cual viene acompañado de su respectiva nota para las víctimas infectadas en donde se solicita un depósito en bitcoins y se encuentra escrito en el lenguaje de marcado HTML. 


Sin embargo, también se visualiza por medio de la consola de administración de algún servidor ESXI al llevar a cabo un intento de conexión por SSH. 


Usualmente, profesionales de la seguridad de la información utilizan técnicas de cifrado mediante algoritmos que no tienen una forma reversible con la finalidad de salvaguardar la confidencialidad de los datos (garantiza la privacidad de modo que sólo el receptor previsto pueda leer el mensaje). El cifrado es el proceso de codificar datos de modo que una parte no autorizada, como algún atacante, no pueda leerlos con facilidad debido a que convierte un texto simple legible en texto cifrado, es decir, un mensaje ilegible el cual está oculto. La única manera en la que un texto cifrado asimétricamente se pueda regresar a su forma legible, es mediante el uso de un par de claves no relacionadas: de esta forma, en el caso de los datos en movimiento, se ocupa la criptografía de clave pública (2 claves en donde se tiene una compartida para realizar el cifrado, la pública y otra que es privada, con la cual se descifra el mensaje para ser leído por el receptor) para intercambiar la clave secreta y luego la criptografía simétrica (una sóla clave) para garantizar la confidencialidad de los datos enviados. Es importante hacer mención que el cifrado simétrico y asimétrico son dos tipos distintos y se utilizan en diferentes etapas del cifrado, tal como se comentó.

En pocas palabras, los actores de amenaza de ransomware utilizan las ventajas de cifrar (ocultar) información de un objetivo para extorsionar y obtener un beneficio económico considerable.

Ahora bien, se sabe el propósito de los actores de amenaza pero, ¿cómo se realizó? ¿Cuáles fueron los factores clave presentes?

Este tipo de ataques se llevan a cabo debido a que existe una falla en algún sistema o programa, algún error que evita que se siga un funcionamiento usual para lo que está hecho. De esta forma, mediante una falla de seguridad causada por un problema de desbordamiento de pila (Buffer overflow) en el servicio OpenSLP (Service Location Protocol), se puede aprovechar dicho error por actores de amenazas no autenticados en ataques de baja complejidad para lograr inyectar el ransomware que muestra la nota mencionada. 

Pero, ¿cómo funciona un buffer overflow? Éste sucede cuando se han excedido la cantidad de datos usados por el buffer, espacio de memoria temporal para guardar datos antes de ser procesados. Los búferes se utilizan comúnmente en la informática para almacenar datos mientras se transfieren entre diferentes componentes de un sistema informático. El buffer overflow provoca que los datos sobrantes se sobrescriban en áreas adyacentes de la memoria, por lo que cuando un programa intenta escribir más datos en un búfer de lo que puede contener, los datos sobrantes se escriben en áreas de memoria cercanas que pueden estar en uso por otros componentes del programa, por tanto, si esta memoria contiene información importante, el programa puede fallar o comportarse de manera impredecible. 

De manera similar, para el servicio OpenSLP, esta vulnerabilidad puede ser explotada por un atacante para ejecutar código malicioso en un sistema afectado. OpenSLP se utiliza para descubrir servicios de red en una red local y puede ser utilizado por muchos programas diferentes, incluyendo algunos sistemas operativos. El buffer overflow en el servicio OpenSLP ocurre cuando se envía un paquete especialmente diseñado al servicio con un tamaño de datos mayor al espacio de memoria reservado para almacenarlos. Cuando el servicio recibe este paquete, el exceso de datos se escribe en la memoria adyacente, sobrescribiendo los datos existentes y potencialmente modificando el flujo de ejecución del programa.

Los actores de amenaza utilizan esta falla para llevar a cabo ataques de ransomware pero ¿cómo lo realizan? Un atacante puede explotar esta vulnerabilidad enviando un paquete especialmente diseñado que incluya código malicioso en el espacio de memoria sobrescrito. Si se ejecuta el código malicioso, el atacante puede tomar el control del sistema afectado, ejecutar comandos arbitrarios o robar información confidencial, es decir, gracias al concepto de buffer overflow, es posible hacer uso de esos espacios en memoria que se escriben para hacer uso de ello con fines maliciosos.

PRUEBA DE CONCEPTO (PoC)

Para llevar a cabo una prueba de concepto oportuna para la vulnerabilidad CVE-2021-21974, se debe tomar en consideración: 

  • Configuración de un servidor VMware ESXi vulnerable y máquina atacante.

Para comenzar, se generó una máquina virtual (correr, por ejemplo, una computadora dentro de otra) para simular el servidor ESXi 6.7.x, ya que es uno de los servidores que son vulnerables ante la CVE-2021-21974. 

De manera similar, se montó una máquina virtual utilizando un sistema operativo idóneo para llevar a cabo este tipo de ataques tal como sucedería en un evento real, como lo es Kali Linux o Ubuntu

Una vez se tienen ambas corriendo, se realiza la configuración de red que permite realizar este tipo de ataque, es decir, que pueda existir comunicación entre ambas máquinas. Para lograrlo, se utiliza la utilería ping, la cual hace uso de protocolos de red para determinar si existe la comunicación deseada. 

  • Uso de código creado por Nmap para determinar si la máquina objetivo que es, en este caso, un servidor ESXi 6.7.x, cuenta con la vulnerabilidad CVE-2021-21974.

Por lo tanto, se puede determinar que el servidor involucrado es vulnerable.

  • Obtención del código que se encarga de explotar la vulnerabilidad involucrada (exploit).

Se realiza la búsqueda y obtención de un exploit (el cual es un programa creado para tomar ventaja de algún fallo en el sistema) que, al ejecutarlo, permita la ejecución de código remoto al atacante sobre el servidor objetivo (equipo víctima).

  • Ejecución del script (código malicioso) mediante las instrucciones que se indican en el mismo.

Haciendo uso de la máquina atacante, se realiza la ejecución del script utilizando el identificador de la máquina objetivo, es decir, su dirección IP; como parámetro y modificando lo requerido en el interior del código para llevar a cabo la conexión que permita establecer la ejecución de código remoto.

  • Se comprueba que la vulnerabilidad se ha explotado con éxito, esto es, si el exploit se ejecuta correctamente, se debería tener acceso al sistema y realizar acciones que normalmente no serían posibles sin tener acceso a un usuario administrador, como puede ser descarga y ejecución de malware potencialmente peligroso, como es el caso de un ransomware.

De esta forma, se consigue conectividad de forma remota al servidor, por lo que se pueden mandar instrucciones para recolectar información de los servidores, consiguiendo datos relevantes como la versión del sistema operativo o los archivos de dicho sistema. Incluso, esta información obtenida aproxima al atacante a conseguir el usuario y contraseña de acceso, para tener todos los privilegios de administrador.

TECNOLOGÍAS PARA LA PREVENCIÓN

Como parte de las medidas para la prevención de amenazas como la CVE-2021-21974, se encuentran recomendaciones importantes como son las actualizaciones de software que incluyan parches de seguridad ante vulnerabilidades conocidas, como la protagonista de este artículo. Para evitar los desbordamientos de búfer, es importante asegurarse de que los programas estén diseñados y codificados adecuadamente, además de que se utilicen técnicas de programación seguras, como la comprobación de límites en los búferes y la verificación cuidadosa de la entrada del usuario.

Para evitar el buffer overflow en el servicio OpenSLP, es importante mantener el software actualizado y seguir las mejores prácticas de seguridad, como limitar el acceso a servicios de red a través de un firewall y desactivar servicios innecesarios. También es importante asegurarse de que el sistema operativo y las aplicaciones estén configurados correctamente y se sigan las prácticas de codificación segura al escribir programas.

Los profesionales de la seguridad informática implementan soluciones de seguridad avanzadas, como los sistemas de detección y prevención de intrusiones (IDS / IPS), los cuales son soluciones de seguridad que pueden ayudar a identificar y bloquear amenazas, realizan sugerencias para la prevención de incidentes de seguridad. Además, para la implementación de políticas de seguridad sólidas, como las contraseñas seguras, la restricción de privilegios y el acceso basado en roles, pueden ayudar a prevenir el acceso no autorizado a los sistemas y aplicaciones.

Los profesionales del área también llevan a cabo la mención de sugerencias que se pueden realizar en la organización, con el fin de prevenir incidentes de seguridad tan peligrosos como lo es el infectar equipos de la red empresarial con un ransomware y comprometer radicalmente toda la información confidencial, teniendo muy pocas probabilidades de recuperarla sin recibir fugas en algún foro o pérdidas de grandes sumas de dinero.

Por lo tanto, para prevenir amenazas como la CVE-2021-21974 y otras similares, es importante mantener actualizados los sistemas y aplicaciones, utilizar soluciones de seguridad avanzadas e implementar políticas de seguridad sólidas.

CONCLUSIÓN

Finalmente, es importante mencionar que esta vulnerabilidad en particular, la CVE-2021-21974, afecta sólo a servidores con ESXi en sus versiones 6.5.x, 6.7.x y 7.x, por lo que no todos los servidores que utilizan esta tecnología en otras versiones se encuentran vulnerables ante estas amenazas. Además, se deben  considerar aquellos aspectos y características de tecnología que nos permiten llevar a cabo la implementación de medidas de seguridad que protejan a una potencial organización objetivo, reduciendo de manera drástica la posibilidad que los ataques a la organización y sus activos tengan éxito.

Además, no siempre es tan sencillo el manejo de scripts, pues se debe tomar en consideración diversos factores, como las versiones que se utilizan en el servidor ESXi, por ejemplo, o las consecuencias de ejecutar este tipo de código malicioso en el servidor. 

De esta forma, en cuanto un atacante establece conexión, al estar en conectividad con la red, se puede visualizar mediante las tecnologías que se tengan implementadas en la organización, como sucede con los IDS y los SOC encargados de visualizar este tipo de eventos. 

REFERENCIAS

VMware warns admins to patch ESXi servers, disable OpenSLP service. (2023, 6 febrero). Bleeping Computer. Recuperado 2 de marzo de 2023, de https://www.bleepingcomputer.com/news/security/vmware-warns-admins-to-patch-esxi-servers-disable-openslp-service/

Esxi Ransomware Help and Support Topic (ESXiArgs / .args extension). (2023, 3 febrero). Bleeping Computer Forums. Recuperado 1 de marzo de 2023, de https://www.bleepingcomputer.com/forums/t/782193/esxi-ransomware-help-and-support-topic-esxiargs-args-extension/

Gatlan, S. (2023, 3 febrero). Massive ESXiArgs ransomware attack targets VMware ESXi servers worldwide. Bleeping Computer. Recuperado 1 de marzo de 2023, de https://www.bleepingcomputer.com/news/security/massive-esxiargs-ransomware-attack-targets-vmware-esxi-servers-worldwide

CISCO. (s.f.). Cybersecurity Essentials [Curso en línea]. Recuperado el 1 de marzo de 2023, de https://www.netacad.com/es/courses/cybersecurity/cybersecurity-essentials

<em>Kevin Rico</em>
Kevin Rico

Analista Blue Team en Global Cybersec