Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
AzureRedOps — Azure RedOps est une boîte à outils de sécurité offensive pour évaluer la posture de sécurité de Microsoft Entra ID. | Kitploit
Outils/GitHubGitHub/mr-un1k0d3r/azureredops
Outils de PhishingEscalade de PrivilègesReconnaissanceAttaques de Mots de PasseExploitationCollecte d'InformationsPost-ExploitationTests d'IntrusionSécurité CloudAuthentificationRed Teaming
1801818il y a 1 jourVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHub
mr-un1k0d3r/azureredops

AzureRedOps

Azure RedOps est une boîte à outils de sécurité offensive pour évaluer la posture de sécurité de Microsoft Entra ID.

Voir le dépôt

AzureRedOps

Un couteau suisse pour le red teaming Azure / Entra ID.

Auteur: Mr.Un1k0d3r (TrueCyber Inc) Version: 0.1 Langage: Python 3.12+


Vue d'ensemble

AzureRedOps est une boîte à outils de sécurité offensive pour évaluer la posture de sécurité des locataires Microsoft Entra ID et Azure. Il regroupe les workflows de red team les plus courants — authentification, gestion des jetons, énumération d'annuaire, vérification des privilèges, pulvérisation de mots de passe et actions de post-exploitation contre Microsoft Graph — derrière une CLI cohérente pilotée par --activity.

Chaque opération est sélectionnée avec -a/--activity. Les jetons obtenus pendant l'authentification peuvent être mis en cache localement (.azure_creds) et réutilisés par nom avec -l/--load-access-token, vous n'avez donc que rarement à coller des JWT bruts.

En savoir plus sur l'outil sur le blog CYPFER

Fonctionnalités

  • Gestion des jetons — sauvegarder, lister, décoder/afficher et supprimer les jetons d'accès/actualisation dans un magasin d'identifiants local (.azure_creds). N'importe quel flux peut enregistrer automatiquement ses jetons avec -s/--save + -n/--name.
  • Plusieurs flux d'authentification :
    • ROPC (auth) — authentification directe par nom d'utilisateur / mot de passe.
    • Hameçonnage par code d'appareil (phish-start / phish-capture) — abus de l'octroi d'autorisation d'appareil OAuth pour capturer les jetons émis lorsqu'une cible saisit votre code utilisateur sur microsoft.com/devicelogin. Capture automatique par défaut.
    • Consentement d'application tierce (auth-app) — flux complet Authorization Code + PKCE contre un enregistrement d'application personnalisé, servi par un écouteur HTTPS local intégré qui reçoit la redirection.
    • Capture interactive par navigateur (auth-interactive) — pilote un vrai navigateur (Playwright ; Firefox par défaut, -br pour changer) (gère MFA / l'accès conditionnel / le SSO), puis récolte chaque jeton de la session HAR enregistrée.
    • Échange de jeton d'actualisation (refresh) — échangez un jeton d'actualisation contre de nouveaux jetons d'accès.
    • Octroi On-Behalf-Of (obo) — échangez un jeton d'accès déjà émis contre un nouveau jeton ciblé sur une ressource en aval (OAuth 2.0 jwt-bearer / OBO).
    • SSO jeton-vers-navigateur (browser-sso) — ouvrez un vrai navigateur déjà authentifié en tant qu'utilisateur directement dans l'application web cible (Outlook sur le web, Teams, SharePoint, le portail Azure, ...). Avec -aprt/--auto-prt, il génère automatiquement un cookie Primary Refresh Token (PRT) à partir d'un jeton d'actualisation (enregistrement de l'appareil → PRT → x-ms-RefreshTokenCredential), pour qu'un nouveau navigateur réalise l'authentification unique sans connexion manuelle.
  • Énumération d'annuaire via Microsoft Graph — utilisateurs, applications, principaux de service, stratégies d'autorisation et un collecteur groupé gather-all.
  • Pulvérisation de mots de passe contre les ID d'applications Microsoft first-party connus (spray) et pulvérisation inter-applications de jetons d'actualisation (spray-refresh).
  • Post-exploitation — enregistrer des applications, créer des groupes, attribuer des rôles d'annuaire, inviter des utilisateurs externes (invités) et téléverser des fichiers vers OneDrive.
  • Aides à la reconnaissance — magic-app trouve les applications redirigeables publiquement avec le consentement AllPrincipals ; listes intégrées d'ID d'applications Microsoft connues/intéressantes.
  • Qualité de vie — bascule d'endpoint bêta, en-têtes personnalisés, user-agent/portée/audience personnalisés, filtrage d'attributs, sortie étendue, journalisation HTTP de débogage/détaillée et redirection de la sortie vers un fichier.

Prérequis

  • Python 3.12 ou plus (le code repose sur la syntaxe f-string PEP 701).
  • Paquets Python (voir requirements.txt) :
    • PyJWT
    • requests
    • playwright
    • cryptography (uniquement nécessaire pour browser-sso -aprt, le flux PRT automatique)
  • Un runtime navigateur Playwright pour les flux navigateur (auth-interactive, browser-sso). Firefox est le moteur par défaut (-br/--browser) ; installez-le avec python -m playwright install firefox.
  • Certificat et clé TLS à includes/web/cert.pem et includes/web/key.pem (uniquement nécessaires pour le flux PKCE auth-app — voir Notes).```bash

Clone the repository

git clone AzureRedOps cd AzureRedOps

Create and activate a virtual environment

python3 -m venv AzureRedOps source AzureRedOps/bin/activate # Linux / macOS

.\AzureRedOps\Scripts\Activate.ps1 # Windows PowerShell

Install dependencies

pip install -r requirements.txt

Install the browser used by the browser flows (one-time).

Firefox is the default engine; install the one(s) you plan to use with -br.

python -m playwright install firefox

python -m playwright install chromium webkit # optional, for -br chromium/webkit

python -m playwright install-deps # Linux/WSL: pull system libs

Exécutez l'outil :```bash
python3 AzureRedOps.py -a <activity> [options]

Utilisation

Le modèle d'invocation générale est :```bash python3 AzureRedOps.py -a [authentication] [activity options] [global options]

### Fournir un jeton

Les activités qui appellent Microsoft Graph nécessitent un jeton d'accès. Vous pouvez le fournir de deux manières :

| Méthode | Option | Exemple |
|--------|------|---------|
| Fournir un jeton brut | `-ac, --access-token` | `-ac eyJ0eXAi...` |
| Charger un jeton en cache par nom | `-l, --load-access-token` | `-l mytoken` |

Lorsque `-l` est utilisé, le `access_token` correspondant (et, le cas échéant, `refresh_token`
et `tenant`) est lu depuis le magasin `.azure_creds`.

### Enregistrer les jetons dans un fichier (`-s` / `-n`)

Toute activité qui obtient des jetons (`auth`, `auth-app`, `auth-interactive`,
`phish-start`/`phish-capture`, `refresh`) peut **les conserver automatiquement** dans le
magasin local d'informations d'identification (`.azure_creds`) en ajoutant `-s/--save` avec
`-n/--name` :```bash
# Authenticate and save the resulting tokens under the name "victim1"
python3 AzureRedOps.py -a auth -u [email protected] -p 'P@ssw0rd!' -tid <tenant-guid> -s -n victim1
  • -s/--save active la sauvegarde automatique ; cela nécessite -n/--name — l'outil se termine avec une erreur si -n est manquant.
  • -n/--name est la clé sous laquelle le jeton est stocké. Vous pouvez ensuite le réutiliser avec -l victim1 au lieu de coller le JWT brut, le visualiser avec -a view -n victim1, ou le supprimer avec -a delete -n victim1.
  • L'activité auth-interactive effectue toujours une sauvegarde automatique et vous demandera un nom de manière interactive si -n n'est pas fourni.

Enregistrement de la sortie de l'activité dans un fichier (-j)

La plupart des activités d'énumération (list-users, list-applications, list-principals, gather-all, raw-url) acceptent -j/--json <filename> pour écrire la réponse brute de l'API dans un fichier JSON au lieu de (ou en plus de) l'afficher :```bash

Dump every user to users.json

python3 AzureRedOps.py -a list-users -l victim1 -j users.json

Pour `gather-all`, le nom de fichier fourni est utilisé comme suffixe et un fichier est écrit
par point de terminaison Graph (p. ex. `users-<name>`, `groups-<name>`, ...).

> Astuce : `-j` contrôle l'export JSON structuré, tandis que `-re/--redirect-to-file` réplique
> la sortie console formatée vers `output.txt`. Les deux sont indépendants.

### Identifiants du locataire
Télécharger l’outil