En la actualidad, la ciberseguridad es una de las principales preocupaciones para todas las empresas, especialmente a medida que los ataques cibernéticos se vuelven cada vez más sofisticados. Por lo tanto, es importante que las organizaciones se preocupen por la seguridad de sus sistemas informáticos. Una forma de hacerlo es a través de un escaneo de vulnerabilidades o un Ethical Hacking.
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”
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.
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
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
El Ethical Hacking, también conocido como pentesting, o prueba de intrusión, es un servicio de ciberseguridad ofensiva que consiste en la ejecución de una prueba de penetración con el objetivo de simular un ciberataque real sobre una empresa o aplicación.
Hace unas semanas se llevó a cabo el panel Ciberseguridad Fintech: Hackeando al presupuesto para cumplir las normativa, en el evento Fin&Pay. Con la participación de nuestro CEO y co-fundador, Adriel Araujo y, nuestros amigos Christian Talá de PagoFácil y Nicolás Pávez de Klare. Se tocaron diferentes puntos importantes para el ecosistema emprendedor de Latinoamérica en materia de ciberseguridad.
Mantén la calma con esta guía esencial de ethical hacking para startups y PyMEs
Ya no es una novedad. La ciberseguridad se está volviendo un requisito comercial y cada vez con más exigencias, como reportes de ethical hacking, mientras ocurren las transformaciones digitales.
Race Condition es una vulnerabilidad que ocurre cuando un sistema que maneja tareas en una secuencia específica es forzado a realizar dos o más operaciones simultáneamente.
La deserialización insegura (o Insecure Deserialization) es una vulnerabilidad que ocurre cuando una aplicación o una API deserializa datos manipulados por un atacante en el lado del servidor.
Command Injection (o inyección de comandos) es una vulnerabilidad que permite a un atacante inyectar y ejecutar comandos directamente en el sistema operativo en el que se ejecuta tu aplicación.