(Rogue Office 365 和 Azure (active) Directory 工具)
ROADtools 是一个用于与 Azure AD 交互的框架。它包含一个库 (roadlib) 提供通用组件、ROADrecon Azure AD 探索工具以及 ROADtools Token eXchange (roadtx) 工具。
ROADlib 是一个库,可用于与 Azure AD 进行身份验证,或构建与包含 ROADrecon 数据的数据库集成的工具。ROADlib 中的数据库模型基于 Azure AD 内部 API 的元数据定义自动生成。ROADlib 位于 ROADtools 命名空间下,因此在脚本中导入时请使用 from roadtools.roadlib import X。
ROADrecon 是一个从红队和蓝队角度探索 Azure AD 信息的工具。简而言之,它的功能如下:
ROADrecon 使用 async Python 特性,仅兼容 Python 3.10 及更高版本(开发基于 Python 3.11,测试运行至 Python 3.14 版本)。
有多种方式安装 ROADrecon:
使用 PyPi 上的发布版本
稳定版本可通过 pip install roadrecon 安装。这会将 roadrecon 命令自动添加到你的 PATH 环境变量中。
使用 GitHub 上的版本
每次对 master 分支的提交都会通过 Azure Pipelines 自动构建成一个发布版本。这确保你可以安装最新版本的 GUI,而无需安装 npm 及其所有依赖。你可以从 Azure Pipelines 构件(点击“1 Published”按钮)下载 roadlib 和 roadrecon 构建文件。构建输出文件存储在 ROADtools.zip 中。你可以直接使用 pip 安装 .whl 或 .tar.gz 文件,也可以解压两者并按正确顺序(先 roadlib)安装文件夹:
pip install roadlib/
pip install roadrecon/
你也可以使用 pip install -e roadlib/ 以开发模式安装它们。
开发前端
如果你想修改 Angular 前端,需要安装 node 和 npm。然后从 git 安装组件:
git clone https://github.com/dirkjanm/roadtools.git
pip install -e roadlib/
pip install -e roadrecon/
cd roadrecon/frontend/
npm install
你可以从 roadrecon/frontend/ 目录使用 Angular CLI 通过 npm start 或 ng serve 运行 Angular 前端。要构建 JavaScript 文件到 ROADrecon 的 dist_gui 目录,请运行 npm run build。
参见 此 Wiki 页面 了解如何开始。
roadtx 是一个用于交换和使用不同类型的 Azure AD 颁发令牌的工具。它支持多种不同的身份验证流程、设备注册和 PRT 相关操作。有关该工具的概述,请参见 roadtx Wiki。
有多种方式安装 roadtx。请注意,roadtx 需要 Python 3.10 或更高版本。
使用 PyPi 上的发布版本
稳定版本可通过 pip install roadtx 安装。这会将 roadtx 命令自动添加到你的 PATH 环境变量中。
使用 GitHub 上的版本
你可以克隆此仓库并安装 roadlib,然后安装 roadtx,以确保同时拥有工具和库的最新版本:
pip install roadlib/
pip install roadtx/
你也可以使用 pip install -e roadtx/ 以开发模式安装它们。