Un reporte del investigador de seguridad Adam Chester recientemente publicado detalla un nuevo método para atacar las implementaciones de Azure en la nube; hasta el momento no se conoce un método para corregir esta vulnerabilidad, por lo que se recomienda permanecer alertas.
Si un atacante compromete el servidor de agente de Azure de una organización, un componente necesario para sincronizar Azure AD con AD local, puede crear una especie de backdoor que le permita iniciar sesión como cualquier usuario autorizado. Se creó una prueba de concepto para manipular la función de autenticación de Azure con la intención de:
- Obtener un “skeleton key” (también conocida como “clave maestra”) que funcione para cualquier usuario
- Volcar todos los nombres de usuario y contraseñas sin cifrar en un solo archivo
Azure AD-Connect conecta un entorno de Azure AD a un dominio local y cuenta con varios métodos de autenticación:
- Sincronización con contraseña hash: un método que sincroniza los hash locales con la nube
- Autenticación Pass-Through: un método que instala un “agente de Azure” en una implementación para autenticar a los usuarios sincronizados desde la nube
- Federación: un método que se basa en una infraestructura de AD FS
Esta variante de ataque explota la autenticación Pass-Through; el agente local recopila y verifica las credenciales recibidas por Azure AD para las cuentas que se sincronizan con dominios locales.
FLUJO DE AUTENTICACIÓN
- El usuario ingresa su nombre de usuario y contraseña en Azure AD/O365
- Azure AD cifra las credenciales con una clave pública y las coloca en la cola del agente, (una conexión persistente creada por el agente local). Posteriormente, el agente recopila las credenciales y las descifra con su clave privada
- El agente luego autentica al usuario en On-Prem DC utilizando la función API LogonUserW
- El DC valida las credenciales y devuelve una respuesta
- La respuesta de DC local se reenvía a Azure AD
- Si el inicio de sesión del usuario es exitoso, el usuario iniciará sesión
Acorde a los expertos, instalar un skeleton key en un agente de Azure puede ser útil para:
- Realizar una escalada de privilegios a Global Administrator, lo que permite controlar el inquilino de Azure
- Obtener acceso al entorno local de la organización restableciendo una contraseña de administrador
- Generar persistencia en una red comprometida
- Recopilar contraseñas en texto sin cifrado
PREVENCIÓN DE LA EXPLOTACIÓN
Como se ha mencionado, un actor de amenazas con altos privilegios puede usar este exploit para instalar un backdoor o recopilar contraseñas sin cifrar. El análisis de registro tradicional puede no detectar esto si el atacante es lo suficientemente hábil.
Para prevenir esta variante de ataque, los administradores pueden proteger los servidores de Azure Agent, monitorear la actividad del usuario en busca de actividad anómala o intentos de acceso a información confidencial, además de usar la clasificación para descubrir archivos que contengan nombres de usuario y contraseñas de texto sin cifrar.
Trabajando como arquitecto de ciberseguridad, el se enfoca en protección de datos y la seguridad de datos empresariales. Antes de unirse a nosotros, ocupó varios puestos de investigador de ciberseguridad con diferentes empresas. También tiene experiencia en diferentes industrias como finanzas, salud medica y reconocimiento facial.