Icono del sitio Una Al Día

Ataques contra VMs de Azure a través de Azure Bastion

Actualmente los usuarios de Azure tienen la posibilidad de conectarse a sus servidores de bastionado mediante conexiones SSH y RDP con un cliente nativo o usando la interfaz web. Sin embargo, existe la posibilidad de realizar ataques contra VMs de Azure a través de Azure Bastion y su cliente nativo.

Según la documentación de Microsoft, existen dos opciones mediante las que un usuario puede establecer una conexión con el cliente nativo hacia un servidor de bastionado. La que puede ser utilizada por un atacante es aquella en la que se pueden indicar un mayor número de opciones referentes a la conexión:

az network bastion tunnel --name "" --resource-group "" --target-resource-id "" --resource-port "" --port ""

Al ejecutar el comando anterior, Azure CLI crea un túnel y se pone a la escucha en un puerto local. Es al conectarse a este puerto local con el cliente nativo cuando el usuario gana acceso a la VM interna a través del protocolo utilizado (por ejemplo, RDP).

Sesión RDP a través de cliente nativo
Fuente de la imagen: Codyburkard.com

Para comprender el proceso de ataque, primero es necesario ver cómo tiene lugar el flujo de trabajo del cliente nativo:

Flujo de trabajo del cliente nativo de Azure Bastion
Fuente de la imagen: Codyburked.com

Tras recibir un comando vía API para iniciar una nueva sesión, Azure Bastion lleva a cabo tres acciones:

Del lado del cliente, Azure CLI hace lo siguiente:

Así pues, al habilitar esta configuración los usuarios finales se pueden comunicar directamente con la VM interna a través de una conexión websocket, un proceso completamente diferente al de un servidor de bastionado tradicional, el cual se comunica tan solo a través del protocolo del servicio utilizado para el acceso remoto (RDP o SSH, en este caso).

Además, el hecho de poder especificar un puerto implica que los servicios de la VM interna pueden ser escaneados usando Azure Bastion, y que los puertos que estén exponiendo servicios vulnerables pueden ser accedidos y explotados por cualquier persona que solicite una sesión de bastionado para una VM concreta.

No obstante, para poder llevar a cabo ataques contra VMs de Azure a través de Azure Bastion el usuario en cuestión debe contar con una serie de permisos y requisitos previos:

Las recomendaciones para evitar este tipo de ataques pasan por deshabilitar el soporte para el cliente nativo de los servicios de bastionado. Sin embargo, si esto no es posible, se pueden tomar las siguientes acciones que mitigan el problema en cierta medida:

Más información

Acerca de Raquel

Raquel Gálvez Ha escrito 71 publicaciones.

Pentester. Cloud security specialist on the making.

Salir de la versión móvil