
Eine Sammlung von Azure AD/Entra-Tools für offensive und defensive Sicherheitszwecke
(Rogue Office 365 und Azure (active) Directory-Werkzeuge)
ROADtools ist ein Framework zur Interaktion mit Azure AD. Es besteht aus einer Bibliothek (roadlib) mit gemeinsamen Komponenten, dem ROADrecon Azure AD-Erkundungstool und dem ROADtools Token eXchange (roadtx)-Tool.
ROADlib ist eine Bibliothek, die zur Authentifizierung mit Azure AD oder zum Erstellen von Tools verwendet werden kann, die in eine Datenbank mit ROADrecon-Daten integrieren. Das Datenbankmodell in ROADlib wird automatisch basierend auf der Metadatendefinition der internen Azure AD-API generiert. ROADlib lebt im ROADtools-Namensraum, daher verwenden Sie in Ihren Skripten from roadtools.roadlib import X
ROADrecon ist ein Tool zur Erkundung von Informationen in Azure AD aus der Perspektive von Red Team und Blue Team. Kurz gesagt, was es tut:
ROADrecon verwendet async Python-Funktionen und ist nur mit Python 3.10 und neuer kompatibel (Entwicklung erfolgt mit Python 3.11, Tests werden mit Versionen bis Python 3.14 durchgeführt).
Es gibt mehrere Möglichkeiten, ROADrecon zu installieren:
Verwendung einer veröffentlichten Version auf PyPi
Stabile Versionen können mit pip install roadrecon installiert werden. Dies fügt automatisch den Befehl roadrecon zu Ihrem PATH hinzu.
Verwendung einer Version von GitHub
Jeder Commit auf master wird automatisch mit Azure Pipelines in eine Release-Version gebaut. Dies stellt sicher, dass Sie die neueste Version der GUI installieren können, ohne npm und seine Abhängigkeiten installieren zu müssen. Sie können die Build-Dateien von roadlib und roadrecon von den Azure Pipelines-Artefakten herunterladen (klicken Sie auf den Button "1 Published". Die Build-Ausgabedateien werden in ROADtools.zip gespeichert. Sie können entweder die .whl- oder .tar.gz-Dateien direkt mit pip installieren oder beide entpacken und die Ordner in der richtigen Reihenfolge installieren (roadlib zuerst):
pip install roadlib/
pip install roadrecon/
Sie können sie auch im Entwicklungsmodus mit pip install -e roadlib/ installieren.
Entwicklung des Frontends
Wenn Sie Änderungen am Angular-Frontend vornehmen möchten, müssen Sie node und npm installiert haben. Installieren Sie dann die Komponenten von git:
git clone https://github.com/dirkjanm/roadtools.git
pip install -e roadlib/
pip install -e roadrecon/
cd roadrecon/frontend/
npm install
Sie können das Angular-Frontend mit npm start oder ng serve über die Angular CLI aus dem Verzeichnis roadrecon/frontend/ ausführen. Um die JavaScript-Dateien in das dist_gui-Verzeichnis von ROADrecon zu bauen, führen Sie npm run build aus.
Siehe diese Wiki-Seite für den Einstieg.
roadtx ist ein Tool zum Austausch und zur Verwendung verschiedener Arten von von Azure AD ausgestellten Token. Es unterstützt viele verschiedene Authentifizierungsabläufe, Geräteregistrierung und PRT-bezogene Operationen. Für einen Überblick über das Tool siehe das roadtx-Wiki.
Es gibt mehrere Möglichkeiten, roadtx zu installieren. Beachten Sie, dass roadtx Python 3.10 oder neuer benötigt.
Verwendung einer veröffentlichten Version auf PyPi
Stabile Versionen können mit pip install roadtx installiert werden. Dies fügt automatisch den Befehl roadtx zu Ihrem PATH hinzu.
Verwendung einer Version von GitHub
Sie können dieses Repository klonen und roadlib und dann roadtx installieren, um sicherzustellen, dass Sie die neuesten Versionen sowohl des Tools als auch der Bibliothek haben:
pip install roadlib/
pip install roadtx/
Sie können sie auch im Entwicklungsmodus mit pip install -e roadtx/ installieren.
Siehe das Wiki zur Verwendung von roadtx. Siehe auch den Release-Blog.