
Collection d'outils offensifs ciblant Microsoft Azure écrite en Python pour être indépendante de la plateforme. La liste actuelle des outils se trouve ci-dessous avec une brève description de leurs fonctionnalités.
./Device_Code/device_code_easy_mode.py
- Génère un code à saisir par l'utilisateur cible
- Peut être utilisé pour la génération de jetons générale ou lors d'une campagne de phishing/ingénierie sociale.
./Access_Tokens/token_juggle.py
- Prend un jeton de rafraîchissement de différentes manières et récupère un nouveau jeton de rafraîchissement ainsi qu'un jeton d'accès pour la ressource spécifiée
./Access_Tokens/read_token.py
- Prend un jeton d'accès, analyse les informations de revendication incluses, vérifie l'expiration et tente de valider la signature
./Outsider_Recon/outsider_recon.py
- Prend un domaine et énumère autant d'informations que possible sur le locataire sans nécessiter d'authentification
./User_Enum/user_enum.py
- Prend un nom d'utilisateur ou une liste de noms d'utilisateurs et tente d'énumérer les comptes valides à l'aide de l'une des trois méthodes
- Peut également être utilisé pour effectuer une pulvérisation de mots de passe
./Azure_AD/get_tenant.py
- Prend un jeton d'accès ou un jeton de rafraîchissement, renvoie l'ID du locataire et le nom du locataire
- Crée un fichier de sortie texte ainsi qu'un fichier aztenant compatible BloodHound
./Azure_AD/get_users.py
- Prend un jeton d'accès ou un jeton de rafraîchissement, renvoie tous les utilisateurs dans Azure AD et toutes les propriétés utilisateur disponibles dans Microsoft Graph
- Crée trois fichiers de données : un fichier JSON condensé, un fichier JSON brut et un fichier azusers compatible BloodHound
./Azure_AD/get_groups.py
- Prend un jeton d'accès ou un jeton de rafraîchissement, renvoie tous les groupes dans Azure AD et toutes les propriétés de groupe disponibles dans Microsoft Graph
- Crée trois fichiers de données : un fichier JSON condensé, un fichier JSON brut et un fichier azgroups compatible BloodHound
./Azure_AD/get_group_members.py
- Prend un jeton d'accès ou un jeton de rafraîchissement, renvoie toutes les appartenances aux groupes dans Azure AD et toutes les propriétés des membres de groupe disponibles dans Microsoft Graph
- Crée trois fichiers de données : un fichier JSON condensé, un fichier JSON brut et un fichier azgroups compatible BloodHound
./Azure_AD/get_subscriptions.py
- Prend un jeton ARM ou un jeton de rafraîchissement, renvoie tous les abonnements dans Azure et toutes les propriétés d'abonnement disponibles dans Azure Resource Manager
- Crée trois fichiers de données : un fichier JSON condensé, un fichier JSON brut et un fichier azgroups compatible BloodHound
./Azure_AD/get_resource_groups.py
- Prend un jeton ARM ou un jeton de rafraîchissement, renvoie tous les groupes de ressources dans Azure et toutes les propriétés de groupe de ressources disponibles dans Azure Resource Manager
- Crée deux fichiers de données : un fichier JSON brut et un fichier azgroups compatible BloodHound
./Azure_AD/get_vms.py
- Prend un jeton ARM ou un jeton de rafraîchissement, renvoie toutes les machines virtuelles dans Azure et toutes les propriétés de machine virtuelle disponibles dans Azure Resource Manager
- Crée deux fichiers de données : un fichier JSON brut et un fichier azgroups compatible BloodHound
Installation
Offensive Azure peut être installé de plusieurs façons, ou pas du tout.
Vous êtes libre de cloner le dépôt et d'exécuter les scripts spécifiques que vous souhaitez. Un fichier requirements.txt est inclus pour chaque module afin de faciliter cette tâche.
Poetry
Le projet est conçu pour fonctionner avec poetry. Pour l'utiliser, suivez les étapes suivantes :
git clone https://github.com/blacklanternsecurity/offensive-azure.git
cd ./offensive-azure
poetry install
Pip
La version empaquetée du dépôt est également conservée sur PyPI, vous pouvez donc utiliser pip pour l'installer. Nous recommandons d'utiliser pipenv pour garder votre environnement aussi propre que possible.
pipenv shell
pip install offensive_azure
Utilisation
C'est à vous de décider comment utiliser cette boîte à outils. Chaque module peut être exécuté indépendamment, ou vous pouvez l'installer en tant que package et l'utiliser de cette manière. Chaque module est exporté sous forme de script portant le même nom que le fichier du module. Par exemple :
Poetry
poetry install
poetry run outsider_recon your-domain.com
Pip
pipenv shell
pip install offensive_azure
outsider_recon your-domain.com