Una reciente investigación en ciberseguridad reveló una vulnerabilidad crítica relacionada con Azure Active Directory (Azure AD), que pone de manifiesto una vez más los riesgos de las malas configuraciones en la nube.
Secretos expuestos en appsettings.json
El equipo HUNTER de Resecurity identificó que credenciales sensibles de una aplicación —específicamente el ClientId y el ClientSecret— quedaron visibles dentro de un archivo appsettings.json
accesible públicamente.
Estas credenciales permiten autenticación directa contra los endpoints de OAuth 2.0 de Microsoft, lo que significa que un atacante podría suplantar la aplicación comprometida y obtener acceso a recursos valiosos de Microsoft 365.
Dependiendo de los permisos otorgados a la aplicación, los atacantes podrían:
- Acceder a archivos, correos y datos en SharePoint, OneDrive o Exchange Online
- Enumerar usuarios, grupos y roles en Azure AD
- Abusar de la Microsoft Graph API para escalar privilegios o mantener persistencia
- Desplegar aplicaciones maliciosas dentro del tenant de la organización
Dado que el archivo estaba públicamente disponible, estas credenciales pudieron ser recolectadas tanto por bots automatizados como por actores de amenazas avanzados.
Por qué las malas configuraciones generan fugas
Según los investigadores, la causa principal radica en prácticas deficientes de seguridad en la nube. Los desarrolladores suelen incrustar información sensible directamente en archivos de configuración como appsettings.json
. El riesgo aparece cuando estos archivos se despliegan en entornos de producción sin restricciones adecuadas.
Entre los problemas más comunes se encuentran:
- Servidores mal configurados que exponen archivos estáticos
- Procesos de despliegue inseguros sin medidas de protección
- Ausencia de herramientas de gestión de secretos como Azure Key Vault
- Escasas revisiones de código y pruebas de seguridad mínimas
- Confiar en la “oscuridad” en lugar de aplicar mecanismos de protección reales
En aplicaciones ASP.NET Core, el archivo appsettings.json
es clave para la configuración, ya que normalmente almacena conexiones a bases de datos, claves API y credenciales de servicios en la nube. Cuando se incluyen valores de Azure AD como ClientId, TenantId y ClientSecret, este archivo se convierte no solo en una guía para ejecutar la aplicación, sino también en un plano para que los atacantes encuentren cómo comprometerla.
Lecciones y mitigación
Los investigadores de Resecurity advirtieron que exponer secretos de Azure AD de esta forma no es un descuido menor, sino un vector de ataque directo.
“Exponer appsettings.json con secretos de Azure AD no es solo una mala configuración; es entregar a los adversarios las llaves de la nube”, explicó el equipo HUNTER.
Para mitigar este tipo de riesgos, las organizaciones deberían actuar de inmediato:
- Restringir el acceso público a archivos de configuración
- Eliminar secretos incrustados y migrarlos a repositorios seguros de claves
- Rotar credenciales comprometidas
- Aplicar el principio de mínimo privilegio en los permisos
- Supervisar de manera continua el uso anómalo de credenciales
Este caso es un recordatorio de que, en los entornos en la nube, la seguridad es tan fuerte como el archivo más débil que se expone.
Fuente: https://www.infosecurity-magazine.com/news/azure-ad-credentials-exposed