
Uma coleção de ferramentas do Azure AD/Entra para fins de segurança ofensiva e defensiva
(Rogue Office 365 e Azure (active) Directory tools)
ROADtools é um framework para interagir com o Azure AD. Consiste em uma biblioteca (roadlib) com componentes comuns, a ferramenta de exploração ROADrecon do Azure AD e a ferramenta ROADtools Token eXchange (roadtx).
ROADlib é uma biblioteca que pode ser usada para autenticar com o Azure AD ou para construir ferramentas que se integram a um banco de dados contendo dados do ROADrecon. O modelo de banco de dados no ROADlib é gerado automaticamente com base na definição de metadados da API interna do Azure AD. O ROADlib reside no namespace ROADtools, então para importá-lo em seus scripts use from roadtools.roadlib import X
ROADrecon é uma ferramenta para explorar informações no Azure AD tanto da perspectiva da Equipe Vermelha quanto da Equipe Azul. Em resumo, é isso que ela faz:
O ROADrecon usa recursos async do Python e é compatível apenas com Python 3.10 e mais recente (o desenvolvimento é feito com Python 3.11, os testes são executados com versões até Python 3.14).
Existem várias maneiras de instalar o ROADrecon:
Usando uma versão publicada no PyPi
Versões estáveis podem ser instaladas com pip install roadrecon. Isso adicionará automaticamente o comando roadrecon ao seu PATH.
Usando uma versão do GitHub
Cada commit para o master é automaticamente construído em uma versão de lançamento com o Azure Pipelines. Isso garante que você possa instalar a versão mais recente da GUI sem ter que instalar o npm e todas as suas dependências. Você pode baixar os arquivos de compilação do roadlib e roadrecon dos artefatos do Azure Pipelines (clique no botão "1 Published". Os arquivos de saída da compilação estão armazenados em ROADtools.zip. Você pode instalar os arquivos .whl ou .tar.gz diretamente usando pip ou descompactar ambos e instalar as pastas na ordem correta (roadlib primeiro):
pip install roadlib/
pip install roadrecon/
Você também pode instalá-los em modo de desenvolvimento com pip install -e roadlib/.
Desenvolvendo o front-end
Se você quiser fazer alterações no front-end Angular, precisará ter node e npm instalados. Em seguida, instale os componentes a partir do git:
git clone https://github.com/dirkjanm/roadtools.git
pip install -e roadlib/
pip install -e roadrecon/
cd roadrecon/frontend/
npm install
Você pode executar o front-end Angular com npm start ou ng serve usando a CLI do Angular a partir do diretório roadrecon/frontend/. Para compilar os arquivos JavaScript no diretório dist_gui do ROADrecon, execute npm run build.
Veja esta página da Wiki para começar.
roadtx é uma ferramenta para trocar e usar diferentes tipos de tokens emitidos pelo Azure AD. Ela suporta muitos fluxos de autenticação diferentes, registro de dispositivos e operações relacionadas a PRT. Para uma visão geral da ferramenta, veja a Wiki do roadtx.
Existem várias maneiras de instalar o roadtx. Observe que o roadtx requer Python 3.10 ou mais recente.
Usando uma versão publicada no PyPi
Versões estáveis podem ser instaladas com pip install roadtx. Isso adicionará automaticamente o comando roadtx ao seu PATH.
Usando uma versão do GitHub
Você pode clonar este repositório e instalar o roadlib e depois o roadtx para garantir que você tenha as versões mais recentes tanto da ferramenta quanto da biblioteca:
pip install roadlib/
pip install roadtx/
Você também pode instalá-los em modo de desenvolvimento com pip install -e roadtx/.
Veja a Wiki sobre como usar o roadtx. Veja também o blog de lançamento.