Análisis de malware

Vulnerabilidad de VMware vCenter: dentro de una falla crítica de ejecución remota de código

5 de mayo de por Pedro Tavares

VMware abordó una vulnerabilidad de ejecución remota de código (RCE) en la plataforma de administración de infraestructura virtual VMware ESXi y VSphere Client que podría ser aprovechada por delincuentes para ejecutar comandos arbitrarios y tomar el control de los sistemas vulnerables. Profundicemos en esta vulnerabilidad crítica, destacando los detalles más importantes de esta falla.

La falla de RCE permite que un usuario no autenticado envíe una solicitud especialmente diseñada, lo que abre la puerta a la ejecución de comandos arbitrarios en el lado del servidor. La falla fue rastreada como CVE–21972 y tiene una puntuación CVSS de 9,8, lo que afecta a varias versiones del software.

¡Conviértete en un ingeniero inverso certificado!

Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

«Un actor malicioso con acceso de red al puerto 443 puede aprovechar este problema para ejecutar comandos con privilegios ilimitados en el sistema operativo subyacente que aloja vCenter Server», dijo la compañía en su aviso. [HAGA CLIC EN LAS IMÁGENES PARA AMPLIAR]

1: Versiones afectadas por fallas de VMware.

Detalles de la vulnerabilidad de VMware RCE

Los delincuentes podrían utilizar esta vulnerabilidad (CVE–21972) para violar el perímetro externo de un centro de datos empresarial aprovechando las puertas traseras ya instaladas en un sistema para encontrar otros puntos vulnerables de la red para hacerse cargo de los sistemas afectados.

PT Swarm, la empresa que descubrió estas vulnerabilidades, también descubrió una segunda vulnerabilidad, una falsificación de solicitudes del lado del servidor (SSRF). El CVE–21973 con una puntuación CVSS de 5,3 permite a usuarios no autorizados enviar solicitudes HTTP-POST para ejecutar más ataques, incluida la capacidad de escanear la red interna del objetivo y recuperar información sobre los puertos abiertos de varios servicios.

Los investigadores descubrieron que una solicitud no autorizada no requería ningún tipo de autenticación en el siguiente componente: /ui/vropspluginui/rest/services/* .

2: Complemento vulnerable en VMware VCenter.

La aplicación web depende de complementos instalados en el lado del servidor, y los investigadores de PT Swarm descubrieron que un complemento específico no está bien configurado, lo que permite a usuarios no autorizados acceder a cualquier URL que maneje.

De esta manera, la función uploadOvaFile responsable de la URL se analizó en detalle y se exploró para obtener una condición RCE como se describe a continuación.

3: Parte del código vulnerable utilizado para cargar un archivo arbitrario en el lado del servidor.

Como se resalta, durante el paso de carga del archivo, se crea una copia de cada entrada actual en el disco usando la convención de nomenclatura de archivos: /tmp/unicorn_ova_dir + nombre_entrada. El problema aquí es que los nombres de las entradas .tar no se filtran y se pueden modificar para aprovechar el “recorrido de ruta + RFI” debido a un mal desarrollo en la función del analizador de archivos.

Según los investigadores, «Esto significaba que podíamos crear una entrada de archivo que contuviera la cadena «../», lo que nos permitiría cargar un archivo arbitrario en un directorio arbitrario del servidor».

Al utilizar un archivo .tar evil y cargarlo, los investigadores pudieron crear un archivo en el lado del servidor como se presenta en la cuatro.

python evilarc.py -d 2 -p ‘testFolder’ -o win -f winexpl.tar testUpload.txt

4: Archivo de texto cargado dentro de un directorio arbitrario (creado por investigadores).

Del shell web a RCE

Desde este punto, es posible cargar archivos arbitrarios en el lado del servidor. Para obtener una condición RCE, se puede utilizar un shell web enviando el siguiente archivo .tar con la ruta de destino.

python evilarc.py -d 5 -p ‘ProgramDataVMwarevCenterServerdataperfchartstc-instancewebappsstatsreport’ -o win -f winexpl.tar testRCE.jsp

Como se señaló, el shell web testRCE.jsp se crea en la ruta de destino y se obtiene una condición RCE con privilegios del sistema.

5: Condición de RCE obtenida mediante web shell.

Aquí, vemos que el shell web se cargó correctamente en el lado del servidor y se ejecutó con privilegios del sistema (privilegios más altos en los sistemas Windows).

CER en Linux

En instancias de Linux, el desafío puede ser un poco diferente, pero también muy trivial. En lugar de cargar un shell web, los investigadores pueden aprovechar el servicio SSH para agregar una máquina confiable al archivo autorizado_keys y luego obtener una conexión SSH válida.

python evilarc.py -d 5 -p ‘home/vsphere-ui/.ssh’ -o unix -f linexpl.tar claves_autorizadas

6: Archivo malicioso autorizado_keys creado con las claves públicas de los investigadores.

A continuación, se puede acceder al sistema vulnerable a través de SSH.

7: Conexión SSH válida dentro del contexto del usuario de vsphere.

¡Conviértete en un ingeniero inverso certificado!

Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

Evitar riesgos y vulnerabilidades de VMware

VMware VCenter es una tecnología ampliamente utilizada en todo el mundo dentro de redes internas que permite la gestión de activos diversos y críticos. Con esta vulnerabilidad implementada, los delincuentes pueden moverse con éxito a través de las redes internas y obtener acceso a los datos almacenados en los sistemas vulnerables, incluidas máquinas virtuales, usuarios del sistema y más.

A través de este punto se puede realizar un reconocimiento interno utilizando la máquina vulnerable como pivote en ataques de movimiento lateral.

Se recomienda encarecidamente que los usuarios actualicen sus sistemas para eliminar el riesgo asociado con las fallas y también eliminen las interfaces de VCenter Server del perímetro de las organizaciones y las asigne a una VLAN separada con acceso limitado en la red corporativa.

Fuentes:

Vulnerabilidad de VMware VCenter , PT Swarm

Aviso VMSA–0002, VMware (hipervínculo: https://www.vmware.com/security/advisories/VMSA–0002.html )

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *