Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
BadZure — 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. | Kitploit
Herramientas/GitHubGitHub/mvelazc0/badzure
Escalada de PrivilegiosCTFPruebas de PenetraciónSeguridad en la NubeGestión de Identidad y Acceso (IAM)Mala ConfiguraciónAprendizaje y EducaciónRed TeamingLabs y Práctica
GitHubmvelazc0/badzure

BadZure

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.

5173314hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
# BadZure
[![BlackHat Arsenal 2024](https://raw.githubusercontent.com/toolswatch/badges/master/arsenal/usa/2024.svg)](https://www.blackhat.com/us-24/arsenal/schedule/index.html#badzure-simulating-and-exploring-entra-id-attack-paths-39628)
[![Open_Threat_Research Community](https://img.shields.io/badge/Open_Threat_Research-Community-brightgreen.svg)](https://twitter.com/OTR_Community)
[![Documentation](https://img.shields.io/badge/docs-mvelazc0.github.io/BadZure-blue)](https://www.badzure.com)

<div align="center">
    <img src="https://assets.kitploit.com/production/public/readmes/6522/2d4b177acda6abc9a6be2e88de22def46daf37b70df452ae34d284aa51993986.png" alt="Logotipo de BadZure" style="width: 25%; height: 25%;">
</div>
<br>

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.

## Objetivos / Casos de uso

BadZure fue escrito originalmente para albergar el taller [Azure AD Battle School: Hands-on Attack and Defense](https://www.x33fcon.com/#!archive/2023/s/MauricioVelazco.md) en X33fcon 2023.

Un entorno de Azure poblado con BadZure ahora permite a los equipos rojo y azul:

* Experimentar con vectores de ataque comunes de Entra ID y técnicas de ataque modernas de infraestructura en la nube
* Configurar rápidamente inquilinos de Azure con rutas de ataque intencionales y recursos en la nube mal configurados
* Obtener telemetría completa de ataques a través de las capas de identidad e infraestructura para construir, probar y mejorar los controles de detección
* Ejecutar ejercicios de equipo púrpura que cubren tanto ataques de identidad tradicionales como escenarios de compromiso nativos de la nube en un entorno seguro
* Facilitar la formación práctica en seguridad de Entra ID y la nube con rutas de ataque
* Organizar eventos dinámicos de Capture the Flag (CTF) de seguridad en la nube de Azure con escenarios de ataque multivectoriales

## Rutas de ataque

### Acceso inicial

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.

### Escalada de privilegios
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:

### Escalada de privilegios basada en identidad
- **ApplicationOwnershipAbuse**: Explota la propiedad de aplicaciones para agregar credenciales a aplicaciones propias con altos privilegios
- **ApplicationAdministratorAbuse**: Explota el rol de Administrador de aplicaciones de Entra ID para administrar cualquier aplicación y agregar credenciales a aplicaciones privilegiadas
- **CloudAppAdministratorAbuse**: Explota el rol de Administrador de aplicaciones en la nube de Entra ID — alcance más reducido que el de Administrador de aplicaciones
- **ManagedIdentityAbuse**: Explota el acceso a recursos de Azure (VM, Logic Apps, Automation Accounts, Function Apps) con identidades administradas para robar tokens de identidad y pivotar a otros recursos en la nube
  - **Orígenes admitidos**: Máquinas virtuales, Aplicaciones lógicas, Cuentas de automatización, Aplicaciones de funciones (Linux/Python)
  - **Destinos admitidos**: Almacén de claves, Cuenta de almacenamiento, Cosmos DB
  - **Tipos de credenciales**: Secretos (predeterminado) o certificados

### Escalada de privilegios basada en recursos
- **KeyVaultSecretTheft**: Escalada de privilegios directa mediante acceso a Azure Key Vault para recuperar secretos de aplicaciones
- **StorageCertificateTheft**: Escalada de privilegios directa mediante acceso a Azure Storage Account para recuperar certificados de aplicaciones
- **CosmosDBSecretTheft**: Escalada de privilegios directa mediante acceso a Azure Cosmos DB para recuperar secretos de aplicaciones almacenados como documentos de base de datos

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](https://www.badzure.com/attack-paths/).

A continuación se muestra un gráfico generado por BloodHound que muestra las rutas de ataque que BadZure puede crear.

<div align="center">
    <img src="https://assets.kitploit.com/production/public/readmes/6522/aa4fe7dfe6720e6cc376c3e7542112160720719763e33646011ec23b3722e413.png" alt="BloodHound" style="width: 50%; height: 50%;">
</div>
<br>

## Demo

[![BadZure](https://assets.kitploit.com/production/public/readmes/6522/bbe361139d60cda4fd6237526433df91b879b0391d460f9e6f5591c02702366c.jpg)](https://www.youtube.com/watch?v=IzurUrOsvsQ&t=746s)

## Guía de inicio rápido

### Requisitos

- **Azure CLI**: Siga las instrucciones [aquí](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) para instalar Azure CLI.
- **Terraform**: Siga las instrucciones [aquí](https://learn.hashicorp.com/tutorials/terraform/install-cli) para instalar Terraform.

### Crear un inquilino de Entra ID

[Crear una suscripción de Azure](https://learn.microsoft.com/en-us/training/modules/create-an-azure-account/1-introduction) 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.

### Clonar el repositorio

````shell
git clone https://github.com/mvelazc0/BadZure
cd BadZure
````

### Crear un entorno virtual e instalar dependencias

```shell
# Create a virtual environment
python -m venv venv

# Activate the virtual environment
# On Windows
venv\Scripts\activate

# On Unix or MacOS
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt
```
### Iniciar sesión en Azure

Debe iniciar sesión como **Administrador global** en Entra ID y tener el rol **Propietario** de RBAC en la suscripción de Azure:

```shell
az login
````

### Crear y destruir inquilinos mal configurados

````shell
# Display the help menu
python badzure.py --help

# Populate a tenant and configure all attack paths using the default badzure.yml config file
python badzure.py build

# Populate a tenant and configure all attack paths with a different config file
python badzure.py build --config config.yml

# Show the created resources in Entra ID tenant
python badzure.py show

# Destroy all created identities with verbose logging
python badzure.py destroy --verbose

````

## Documentación

La documentación completa está disponible en [www.badzure.com](https://www.badzure.com/), incluyendo la guía de [Primeros pasos](https://www.badzure.com/getting-started/), la [Referencia de configuración](https://www.badzure.com/configuration/) y las descripciones detalladas de [Rutas de ataque](https://www.badzure.com/attack-paths/).

## Autor

* **Mauricio Velazco** - [@mvelazco](https://twitter.com/mvelazco)

## Contribuyentes

* [Chan Huan Jun](https://www.linkedin.com/in/chan-huan-jun-50a704115/) 
* [Manuel Melendez](https://www.linkedin.com/in/manuel-melendez-b62298238/) 

## Referencias

* [Cloud Katana](https://github.com/Azure/Cloud-Katana) por [Roberto Rodriguez](https://twitter.com/Cyb3rWard0g)
* [AADInternals](https://github.com/Gerenios/AADInternals) por [Nestori Syynimaa](https://twitter.com/DrAzureAD)
* [Azure Attack Paths](https://cloudbrothers.info/en/azure-attack-paths/) por [Fabian Bader](https://twitter.com/fabian_bader)
* [ROADtools](https://github.com/dirkjanm/ROADtools) por [Dirkjan Mollema](https://twitter.com/_dirkjan)
* [PurpleCloud](https://github.com/iknowjason/PurpleCloud) por [Jason Ostrom](https://twitter.com/securitypuck) 
* [Azure AD - Attack and Defense Playbook](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense) por [Sami Lamppu](https://twitter.com/samilamppu) y [Thomas Naunheim](https://twitter.com/Thomas_Live)
* [BloodHound/AzureHound](https://github.com/BloodHoundAD/AzureHound) por [Andy Robbins](https://twitter.com/_wald0) 
* Publicaciones de blog, charlas y herramientas de [@Haus3c](https://twitter.com/Haus3c), [@kfosaaen](https://twitter.com/kfosaaen), [@inversecos](https://twitter.com/inversecos) y otros.

## Licencia

Este proyecto está licenciado bajo la Licencia Apache 2.0 - consulte el archivo [LICENSE](https://github.com/mvelazc0/badzure/blob/main/LICENSE) para más detalles.
Descargar herramienta