
BadZure automatiza el despliegue de tenants de Entra ID y suscripciones de Azure intencionalmente mal configurados, poblándolos con entidades diversas y rutas de ataque configurables y recorribles.
BadZure es una herramienta Python que automatiza la creación de entornos de Azure mal configurados, permitiendo a los equipos de seguridad simular técnicas de adversario, desarrollar y probar controles de detección, y ejecutar ejercicios de equipo púrpura a través de Entra ID y la infraestructura de Azure. Utiliza Terraform para poblar inquilinos de Entra ID y suscripciones de Azure con entidades y configuraciones incorrectas intencionales, produciendo rutas de ataque completas que abarcan capas de identidad e infraestructura en la nube.
BadZure automatiza la creación de usuarios, grupos, registros de aplicaciones, entidades de servicio, unidades administrativas y recursos de Azure como Almacenes de claves, Cuentas de almacenamiento, Máquinas virtuales, Aplicaciones lógicas, Cuentas de automatización, Aplicaciones de funciones, Cuentas de Cosmos DB y Grupos de recursos. Para simular un inquilino realista, asigna aleatoriamente roles de Entra ID, permisos de Graph y permisos de acceso a recursos de Azure a los principios de seguridad seleccionados, imitando la proliferación orgánica de permisos que se encuentra en entornos reales. Sobre esta línea base realista, BadZure superpone configuraciones incorrectas intencionales a través de rutas de ataque configurables, produciendo cadenas de escalada de privilegios explotables para la simulación de adversario.
La ventaja clave de BadZure es su capacidad para poblar y purgar rápidamente inquilinos con configuraciones, acceso inicial preconfigurado y rutas de ataque intencionales, facilitando una simulación de adversario y desarrollo de detección continuos e iterativos. Está diseñado para profesionales de seguridad interesados en explorar y comprender la seguridad de Entra ID y Azure, las configuraciones incorrectas de recursos en la nube y las técnicas de ataque modernas nativas de la nube.
BadZure fue escrito originalmente para albergar el taller Azure AD Battle School: Hands-on Attack and Defense en X33fcon 2023.
Un entorno de Azure poblado con BadZure ahora permite a los equipos rojo y azul:
BadZure crea rutas de ataque que asumen que la identidad de acceso inicial ya ha sido comprometida. Cada ruta de ataque comienza con una cuenta de usuario o entidad de servicio comprometida, simulando escenarios del mundo real donde un atacante ha obtenido acceso mediante robo de credenciales, phishing, adversario en el medio u otras técnicas de acceso inicial.
BadZure proporciona las credenciales para estas identidades comprometidas, permitiendo a los profesionales de seguridad comenzar inmediatamente a explorar rutas de escalada de privilegios sin necesidad de simular el compromiso inicial. Este enfoque permite a los equipos centrarse en comprender y defenderse contra técnicas de ataque posteriores al compromiso en entornos de Azure y Entra ID.
BadZure admite siete rutas de ataque de escalada de privilegios distintas que introducen configuraciones incorrectas en las capas de identidad de Entra ID e infraestructura en la nube de Azure:
Cada ruta de ataque se puede configurar con asignaciones de roles específicas o aleatorias y admite varios tipos de principal según la técnica. Para opciones de configuración detalladas y descripciones de las rutas de ataque, consulte la documentación.
A continuación se muestra un gráfico generado por BloodHound que muestra las rutas de ataque que BadZure puede crear.
Crear una suscripción de Azure también le proporcionará un inquilino de Entra ID.
Nota: BadZure utiliza solo funciones del nivel Gratuito de Entra ID y no incurrirá en costos de licencia adicionales, aunque los recursos de Azure como Máquinas Virtuales y Aplicaciones de funciones generarán cargos de cómputo estándar.
git clone https://github.com/mvelazc0/BadZure
cd BadZure