
Une collection d'outils Azure AD/Entra à des fins de sécurité offensive et défensive
(Rogue Office 365 and Azure (active) Directory tools)
ROADtools est un framework pour interagir avec Azure AD. Il se compose d'une bibliothèque (roadlib) avec des composants communs, de l'outil d'exploration Azure AD ROADrecon et de l'outil ROADtools Token eXchange (roadtx).
ROADlib est une bibliothèque qui peut être utilisée pour s'authentifier avec Azure AD ou pour construire des outils qui s'intègrent avec une base de données contenant les données de ROADrecon. Le modèle de base de données dans ROADlib est généré automatiquement à partir de la définition des métadonnées de l'API interne d'Azure AD. ROADlib vit dans l'espace de noms ROADtools, donc pour l'importer dans vos scripts, utilisez from roadtools.roadlib import X
ROADrecon est un outil pour explorer les informations dans Azure AD du point de vue d'une équipe rouge aussi bien que d'une équipe bleue. En bref, voici ce qu'il fait :
ROADrecon utilise les fonctionnalités async de Python et n'est compatible qu'avec Python 3.10 et plus récent (le développement est fait avec Python 3.11, les tests sont exécutés avec des versions allant jusqu'à Python 3.14).
Il y a plusieurs façons d'installer ROADrecon :
Utiliser une version publiée sur PyPi
Les versions stables peuvent être installées avec pip install roadrecon. Cela ajoutera automatiquement la commande roadrecon à votre PATH.
Utiliser une version depuis GitHub
Chaque commit sur master est automatiquement construit en une version de publication avec Azure Pipelines. Cela garantit que vous pouvez installer la dernière version de l'interface graphique sans avoir à installer npm et toutes ses dépendances. Vous pouvez télécharger les fichiers de construction roadlib et roadrecon depuis les artefacts Azure Pipelines (cliquez sur le bouton "1 Published"). Les fichiers de sortie de construction sont stockés dans ROADtools.zip. Vous pouvez soit installer directement les fichiers .whl ou .tar.gz avec pip, soit décompresser les deux et installer les dossiers dans le bon ordre (roadlib d'abord) :
pip install roadlib/
pip install roadrecon/
Vous pouvez également les installer en mode développement avec pip install -e roadlib/.
Développer le front-end
Si vous souhaitez apporter des modifications au front-end Angular, vous aurez besoin d'avoir node et npm installés. Ensuite, installez les composants depuis git :
git clone https://github.com/dirkjanm/roadtools.git
pip install -e roadlib/
pip install -e roadrecon/
cd roadrecon/frontend/
npm install
Vous pouvez exécuter le front-end Angular avec npm start ou ng serve en utilisant l'interface en ligne de commande Angular depuis le répertoire roadrecon/frontend/. Pour construire les fichiers JavaScript dans le répertoire dist_gui de ROADrecon, exécutez npm run build.
Voir cette page Wiki pour commencer.
roadtx est un outil pour échanger et utiliser différents types de jetons émis par Azure AD. Il prend en charge de nombreux flux d'authentification différents, l'enregistrement des appareils et les opérations liées au PRT. Pour un aperçu de l'outil, voir le wiki roadtx.
Il y a plusieurs façons d'installer roadtx. Notez que roadtx nécessite Python 3.10 ou plus récent.
Utiliser une version publiée sur PyPi
Les versions stables peuvent être installées avec pip install roadtx. Cela ajoutera automatiquement la commande roadtx à votre PATH.
Utiliser une version depuis GitHub
Vous pouvez cloner ce dépôt et installer roadlib puis roadtx pour vous assurer d'avoir les dernières versions de l'outil et de la bibliothèque :
pip install roadlib/
pip install roadtx/
Vous pouvez également les installer en mode développement avec pip install -e roadtx/.
Voir le wiki pour utiliser roadtx. Consultez également le billet de blog de sortie.