
Colección de herramientas ofensivas dirigidas a Microsoft Azure escritas en Python para ser independientes de la plataforma. La lista actual de herramientas se puede encontrar a continuación con una breve descripción de su funcionalidad.
./Device_Code/device_code_easy_mode.py
- Genera un código para ser ingresado por el usuario objetivo
- Puede usarse para la generación general de tokens o durante una campaña de phishing/ingeniería social.
./Access_Tokens/token_juggle.py
- Toma un token de actualización de varias maneras y recupera un nuevo token de actualización y un token de acceso para el recurso especificado
./Access_Tokens/read_token.py
- Toma un token de acceso y analiza la información de las reclamaciones incluidas, verifica la caducidad, intenta validar la firma
./Outsider_Recon/outsider_recon.py
- Toma un dominio y enumera toda la información posible sobre el inquilino sin requerir autenticación
./User_Enum/user_enum.py
- Toma un nombre de usuario o una lista de nombres de usuario e intenta enumerar cuentas válidas usando uno de tres métodos
- También se puede usar para realizar un rociado de contraseñas
./Azure_AD/get_tenant.py
- Toma un token de acceso o token de actualización, genera el ID del inquilino y el nombre del inquilino
- Crea un archivo de salida de texto así como un archivo aztenant compatible con BloodHound
./Azure_AD/get_users.py
- Toma un token de acceso o token de actualización, genera todos los usuarios en Azure AD y todas las propiedades de usuario disponibles en Microsoft Graph
- Crea tres archivos de datos, un archivo json condensado, un archivo json sin procesar y un archivo azusers compatible con BloodHound
./Azure_AD/get_groups.py
- Toma un token de acceso o token de actualización, genera todos los grupos en Azure AD y todas las propiedades de grupo disponibles en Microsoft Graph
- Crea tres archivos de datos, un archivo json condensado, un archivo json sin procesar y un archivo azgroups compatible con BloodHound
./Azure_AD/get_group_members.py
- Toma un token de acceso o token de actualización, genera todas las membresías de grupo en Azure AD y todas las propiedades de miembros de grupo disponibles en Microsoft Graph
- Crea tres archivos de datos, un archivo json condensado, un archivo json sin procesar y un archivo azgroups compatible con BloodHound
./Azure_AD/get_subscriptions.py
- Toma un token ARM o token de actualización, genera todas las suscripciones en Azure y todas las propiedades de suscripción disponibles en Azure Resource Manager
- Crea tres archivos de datos, un archivo json condensado, un archivo json sin procesar y un archivo azgroups compatible con BloodHound
./Azure_AD/get_resource_groups.py
- Toma un token ARM o token de actualización, genera todos los grupos de recursos en Azure y todas las propiedades de grupo de recursos disponibles en Azure Resource Manager
- Crea dos archivos de datos, un archivo json sin procesar y un archivo azgroups compatible con BloodHound
./Azure_AD/get_vms.py
- Toma un token ARM o token de actualización, genera todas las máquinas virtuales en Azure y todas las propiedades de VM disponibles en Azure Resource Manager
- Crea dos archivos de datos, un archivo json sin procesar y un archivo azgroups compatible con BloodHound
Instalación
Offensive Azure se puede instalar de varias maneras o no instalarlo en absoluto.
Eres bienvenido a clonar el repositorio y ejecutar los scripts específicos que desees. Se incluye un archivo requirements.txt para cada módulo para que esto sea lo más fácil posible.
Poetry
El proyecto está diseñado para funcionar con poetry. Para usarlo, sigue los siguientes pasos:
git clone https://github.com/blacklanternsecurity/offensive-azure.git
cd ./offensive-azure
poetry install
Pip
La versión empaquetada del repositorio también se mantiene en pypi, por lo que también puedes usar pip para instalarlo. Recomendamos usar pipenv para mantener tu entorno lo más limpio posible.
pipenv shell
pip install offensive_azure
Uso
Depende de ti cómo desees usar este conjunto de herramientas. Cada módulo se puede ejecutar de forma independiente, o puedes instalarlo como un paquete y usarlo de esa manera. Cada módulo se exporta a un script con el mismo nombre que el archivo del módulo. Por ejemplo:
Poetry
poetry install
poetry run outsider_recon your-domain.com
Pip
pipenv shell
pip install offensive_azure
outsider_recon your-domain.com