
Una colección de herramientas de Azure AD/Entra para fines de seguridad ofensiva y defensiva
(Herramientas Rogue Office 365 y Azure (active) Directory)
ROADtools es un framework para interactuar con Azure AD. Consiste en una librería (roadlib) con componentes comunes, la herramienta de exploración de Azure AD ROADrecon y la herramienta ROADtools Token eXchange (roadtx).
ROADlib es una librería que se puede usar para autenticarse con Azure AD o para construir herramientas que se integren con una base de datos que contenga datos de ROADrecon. El modelo de base de datos en ROADlib se genera automáticamente basado en la definición de metadatos de la API interna de Azure AD. ROADlib vive en el espacio de nombres de ROADtools, así que para importarlo en tus scripts usa from roadtools.roadlib import X
ROADrecon es una herramienta para explorar información en Azure AD desde una perspectiva tanto de Red Team como de Blue Team. En resumen, esto es lo que hace:
ROADrecon utiliza características async de Python y solo es compatible con Python 3.10 y posteriores (el desarrollo se realiza con Python 3.11, las pruebas se ejecutan con versiones hasta Python 3.14).
Hay múltiples formas de instalar ROADrecon:
Usando una versión publicada en PyPi
Las versiones estables se pueden instalar con pip install roadrecon. Esto añadirá automáticamente el comando roadrecon a tu PATH.
Usando una versión de GitHub
Cada commit a master se construye automáticamente en una versión con Azure Pipelines. Esto asegura que puedas instalar la última versión de la GUI sin necesidad de instalar npm y todas sus dependencias. Puedes descargar los archivos de construcción de roadlib y roadrecon desde los artefactos de Azure Pipelines (haz clic en el botón "1 Publicado". Los archivos de salida de la construcción se almacenan en ROADtools.zip. Puedes instalar los archivos .whl o .tar.gz directamente usando pip o descomprimir ambos e instalar las carpetas en el orden correcto (roadlib primero):
pip install roadlib/
pip install roadrecon/
También puedes instalarlos en modo desarrollo con pip install -e roadlib/.
Desarrollando el front-end
Si quieres hacer cambios en el front-end de Angular, necesitarás tener node y npm instalados. Luego instala los componentes desde git:
git clone https://github.com/dirkjanm/roadtools.git
pip install -e roadlib/
pip install -e roadrecon/
cd roadrecon/frontend/
npm install
Puedes ejecutar el frontend de Angular con npm start o ng serve usando la CLI de Angular desde el directorio roadrecon/frontend/. Para construir los archivos JavaScript en el directorio dist_gui de ROADrecon, ejecuta npm run build.
Consulta esta página del Wiki sobre cómo comenzar.
roadtx es una herramienta para intercambiar y usar diferentes tipos de tokens emitidos por Azure AD. Soporta muchos flujos de autenticación diferentes, registro de dispositivos y operaciones relacionadas con PRT. Para una visión general de la herramienta, consulta el Wiki de roadtx.
Hay múltiples formas de instalar roadtx. Ten en cuenta que roadtx requiere Python 3.10 o posterior.
Usando una versión publicada en PyPi
Las versiones estables se pueden instalar con pip install roadtx. Esto añadirá automáticamente el comando roadtx a tu PATH.
Usando una versión de GitHub
Puedes clonar este repositorio e instalar roadlib y luego roadtx para asegurarte de tener las últimas versiones tanto de la herramienta como de la librería:
pip install roadlib/
pip install roadtx/
También puedes instalarlos en modo desarrollo con pip install -e roadtx/.
Consulta el Wiki sobre cómo usar roadtx. Consulta también el blog de lanzamiento.