dirkjanm/ROADtools

GitHub: dirkjanm/ROADtools

ROADtools 是一套用于 Azure AD/Entra ID 环境信息探索、数据导出分析和 Token 交换操作的综合安全工具集。

Stars: 2672 | Forks: 386

# ROADtools *(**R**ogue **O**ffice 365 and **A**zure (active) **D**irectory tools)* ![仅支持 Python 3](https://img.shields.io/badge/python-3.10+-blue.svg) ![许可证:MIT](https://img.shields.io/pypi/l/roadlib.svg) ROADtools logo ROADtools 是一个用于与 Azure AD 交互的框架。它由一个包含通用组件的库(roadlib)、Azure AD 探索工具 ROADrecon 以及 ROADtools Token eXchange (roadtx) 工具组成。 ## ROADlib ![PyPI 版本](https://img.shields.io/pypi/v/roadlib.svg) ROADlib 是一个库,可用于向 Azure AD 进行身份验证,或用于构建与包含 ROADrecon 数据的数据库集成的工具。ROADlib 中的数据库模型是根据 Azure AD 内部 API 的 metadata 定义自动生成的。ROADlib 位于 ROADtools namespace 中,因此要在你的脚本中导入它,请使用 `from roadtools.roadlib import X` ## ROADrecon ![PyPI 版本](https://img.shields.io/pypi/v/roadrecon.svg) [![构建状态](https://dev.azure.com/dirkjanm/ROADtools/_apis/build/status/dirkjanm.ROADtools?branchName=master)](https://dev.azure.com/dirkjanm/ROADtools/_build/latest?definitionId=19&branchName=master) ROADrecon 是一款从红队和蓝队视角探索 Azure AD 信息的工具。简而言之,它的功能如下: * 使用自动生成的 metadata 模型在磁盘上创建由 SQLAlchemy 支持的数据库。 * 在 Python 中使用异步 HTTP 调用,将 Azure AD graph 中的所有可用信息 dump 到此数据库中。 * 提供插件来查询此数据库并将其输出为有用的格式。 * 提供一个基于 Angular 构建的广泛界面,可直接查询离线数据库进行分析。 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 artifacts](https://dev.azure.com/dirkjanm/ROADtools/_build/latest?definitionId=19&branchName=master) 下载 `roadlib` 和 `roadrecon` 的构建文件(点击“1 Published”按钮)。构建输出文件存储在 `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/` 目录下使用 `npm start` 或通过 Angular CLI 运行 `ng serve` 来启动 Angular 前端。要将 JavaScript 文件构建到 ROADrecon 的 `dist_gui` 目录中,请运行 `npm run build`。 ### 使用 ROADrecon 请参阅 [此 Wiki 页面](https://github.com/dirkjanm/ROADtools/wiki/Getting-started-with-ROADrecon) 了解如何开始。 ## ROADtools Token eXchange (roadtx) ![PyPI 版本](https://img.shields.io/pypi/v/roadtx.svg) [![构建状态](https://dev.azure.com/dirkjanm/ROADtools/_apis/build/status/dirkjanm.ROADtools?branchName=master)](https://dev.azure.com/dirkjanm/ROADtools/_build/latest?definitionId=19&branchName=master) roadtx 是一款用于交换和使用不同类型的 Azure AD 颁发 token 的工具。它支持多种不同的身份验证流程、设备注册以及 PRT 相关操作。有关该工具的概述,请参阅 [roadtx Wiki](https://github.com/dirkjanm/ROADtools/wiki/ROADtools-Token-eXchange-(roadtx))。 ### 安装说明 安装 roadtx 有多种方式。请注意,roadtx 需要 Python 3.10 或更高版本。 **使用 PyPi 上发布的版本** 稳定版本可以通过 `pip install roadtx` 进行安装。这会自动将 `roadtx` 命令添加到你的 PATH 中。 **使用 GitHub 上的版本** 你可以 clone 此代码仓库,然后依次安装 `roadlib` 和 `roadtx`,以确保你拥有最新版本的工具和库: ``` pip install roadlib/ pip install roadtx/ ``` 你也可以使用 `pip install -e roadtx/` 以开发模式安装它们。 ### 使用 roadtx 有关如何使用 roadtx,请参阅 [Wiki](https://github.com/dirkjanm/ROADtools/wiki/ROADtools-Token-eXchange-(roadtx))。另请参阅[发布博客](https://dirkjanm.io/introducing-roadtools-token-exchange-roadtx/)。
标签:Azure AD, Python, Web报告查看器, 无后门, 暗色界面, 身份与访问管理, 逆向工具