Cómo hackear un controlador de dominio en Azure durante una prueba de penetración

A lo largo de este post, se narrará una de las aventuras que tuvo un equipo de AppSec durante una prueba de penetración de una infraestructura localizada en Azure.

Azure es un servicio en la nube ofrecido por Microsoft, que pone a disposición del usuario diferentes servicios para gestionar y crear Máquinas Virtuales, App Services, Crear Cuentas de Almacenamiento, etc. Es ampliamente utilizado por muchas empresas que buscan obtener una infraestructura escalable basada en servidores windows.

Durante este post, se mostrará cómo fue posible obtener privilegios de Domain Admin sobre un Domain Controller alojado en Azure. La información adjunta (imágenes, comandos), corresponde a un caso real que, por motivos de privacidad, será censurado para salvaguardar la identidad de nuestro cliente.

Claves de Almacenamiento reveladas

Dentro del alcance acordado por el cliente, el equipo de evaluación encontró una vulnerabilidad de Full Source Disclosure en un servicio de aplicaciones. A través de esta vulnerabilidad, era posible acceder al archivo web . config que se encontraba en la siguiente ruta: “D:/home/site/wwwroot/web . config”

hackear-controlador-dominio-azure-1

En la información encontrada en el archivo de configuración, el equipo de evaluación pudo obtener las credenciales de la cuenta de almacenamiento “app01disks”

Una Cuenta de Almacenamiento Azure, como su nombre indica, sirve para almacenar diferentes tipos de datos, entre los que se pueden encontrar, datos de tipo blobs, ficheros, colas, tablas, y discos. En ciertos casos una Cuenta de Almacenamiento puede ser utilizada para almacenar Discos Duros Virtuales pertenecientes a Máquinas Virtuales activas. Para tener una idea básica, una Cuenta de Almacenamiento es similar al servicio Amazon S3.

hackear-controlador-dominio-azure-2

Utilizando las credenciales de la cuenta de almacenamiento, fue posible listar los contenedores dentro del almacenamiento. Para ello, se utilizó la herramienta Azure CLI.

Interacción con el Storage

Azure CLI es una herramienta de línea de comandos para administrar los Recursos de Azure. Esta herramienta permite al usuario interactuar con los servicios de Azure desde la consola de comandos, a través de esta es posible crear y gestionar Máquinas Virtuales, Cuentas de Almacenamiento, y los diferentes servicios que se pueden administrar desde Azure Portal.

Primero se procedió a listar los contenedores que estaban dentro de la cuenta de almacenamiento app01disks.

$ az storage container list --account-key DISCLOSED_KEY --account-name app01disks
hackear-controlador-dominio-azure-3

Como puede verse en la imagen anterior, se ha encontrado un contenedor blob con el nombre “vhds”.

El siguiente paso fue listar los archivos blob que había dentro del contenedor.

$ az storage blob list --container-name vhds --account-key DISCLOSED_KEY --account-name app01disks

Read more

Backed by

Hackmetrix startup chile