Una falla en el diseño de las claves de la cuenta de almacenamiento de Azure podría permitir un hackeo fácil

Los atacantes podrían utilizar un “problema de diseño” que se descubrió en Microsoft Azure para obtener acceso a las cuentas de almacenamiento, moverse lateralmente dentro del sistema e incluso ejecutar código remoto. Estos objetivos podrían lograrse explotando el error.

“Es factible abusar y utilizar las cuentas de almacenamiento de Microsoft mediante la manipulación de las funciones de Azure para robar tokens de acceso de identidades de mayor privilegio, moverse lateralmente, posiblemente acceder a activos importantes de la empresa y ejecutar código remoto (RCE)”, afirmó Orca en un estudio reciente que fue compartido “Esto se puede lograr abusando y usando Azure Functions”.

La ruta de explotación que constituye la base de este ataque es un sistema conocido como autorización de clave compartida. Las cuentas de almacenamiento tienen este mecanismo activado por defecto, por lo que puede ser explotado fácilmente.

Microsoft afirma que cuando se crea una cuenta de almacenamiento en Azure, se generan automáticamente dos claves de acceso con una longitud total de 512 bits. Estas claves se pueden utilizar para autorizar el acceso a los datos a través del protocolo de autorización de clave compartida o mediante el uso de tokens SAS que se han firmado con la clave compartida.

Según la empresa de seguridad en la nube, es posible robar estos tokens de acceso manipulando las funciones de Azure. Esto podría hacer posible que un actor de amenazas que tenga acceso a una cuenta con la función Colaborador de la cuenta de almacenamiento aumente los privilegios y tome el control de los sistemas.

Si se usara una identidad administrada para activar la aplicación Función, por ejemplo, podría usarse incorrectamente para ejecutar cualquier comando. Cuando implementa una aplicación de funciones de Azure, se genera automáticamente una cuenta de almacenamiento dedicada para la aplicación. Esto, a su vez, hace factible hacer lo que acabamos de discutir.

Después de que un adversario haya descubierto la cuenta de almacenamiento de una aplicación de funciones a la que se le ha proporcionado una identidad administrada sólida, puede ejecutar código en nombre de la aplicación y, como consecuencia, obtener un aumento en sus privilegios de suscripción (PE).

En otras palabras, un actor de amenazas puede aumentar sus privilegios, moverse lateralmente, acceder a recursos adicionales e incluso ejecutar un shell inverso en máquinas virtuales si exfiltra el token de acceso de la identidad administrada que está asignada a la aplicación Azure Function y enviarlo a un servidor remoto.

Para viajar lateralmente, explotar y comprometer las joyas de la corona más valiosas de las víctimas, un atacante puede robar y exfiltrar una identidad privilegiada alterando los archivos de funciones en las cuentas de almacenamiento, según Nisimi.

Se recomienda que las empresas piensen en eliminar la autorización de clave compartida de Azure y, en su lugar, adoptar la autenticación de Azure Active Directory como estrategia de mitigación. Microsoft dijo en una divulgación coordinada que “planea mejorar el funcionamiento de las herramientas de cliente de Functions con las cuentas de almacenamiento”. Esta declaración se hizo en referencia a los próximos cambios de la compañía.

“Entre ellos se encuentran modificaciones para brindar un soporte mejorado para casos de uso que usan identidades. Una vez que se hayan validado las nuevas experiencias y las conexiones basadas en identidad para AzureWebJobsStorage estén disponibles de forma general, la identidad se convertirá en el modo predeterminado para AzureWebJobsStorage. Esto tiene la intención de alejarse de la autorización de clave compartida, que ha sido el modo actual “, explicó el gigante tecnológico.