
Набор инструментов Azure AD/Entra для целей наступательной и оборонительной безопасности
(Rogue Office 365 и Azure (активный) Directory инструменты)
ROADtools — это фреймворк для взаимодействия с Azure AD. Он состоит из библиотеки (roadlib) с общими компонентами, инструмента исследования Azure AD ROADrecon и инструмента ROADtools Token eXchange (roadtx).
ROADlib — это библиотека, которая может использоваться для аутентификации в Azure AD или для создания инструментов, интегрирующихся с базой данных, содержащей данные ROADrecon. Модель базы данных в ROADlib автоматически генерируется на основе определения метаданных внутреннего API Azure AD. ROADlib находится в пространстве имен ROADtools, поэтому для импорта в ваши скрипты используйте from roadtools.roadlib import X
ROADrecon — это инструмент для изучения информации в Azure AD как с точки зрения Red Team, так и Blue Team. Вкратце, вот что он делает:
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 и все его зависимости. Вы можете скачать файлы сборки roadlib и roadrecon из артефактов Azure Pipelines (нажмите на кнопку "1 Published". Выходные файлы сборки хранятся в ROADtools.zip. Вы можете либо установить файлы .whl или .tar.gz напрямую с помощью pip, либо распаковать оба и установить папки в правильном порядке (сначала 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
Вы можете запустить Angular-фронтенд с помощью npm start или ng serve, используя Angular CLI из директории roadrecon/frontend/. Чтобы собрать JavaScript-файлы в директорию dist_gui ROADrecon, выполните 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/.
Смотрите Wiki о том, как использовать roadtx. Также смотрите блог о релизе.