
공격 및 방어 보안 목적을 위한 Azure AD/Entra 도구 모음
(Rogue Office 365 및 Azure (활성) Directory 도구)
ROADtools는 Azure AD와 상호 작용하기 위한 프레임워크입니다. 공통 구성 요소를 포함하는 라이브러리(roadlib), Azure AD 탐색 도구인 ROADrecon 및 ROADtools Token eXchange(roadtx) 도구로 구성됩니다.
ROADlib는 Azure AD로 인증하거나 ROADrecon 데이터가 포함된 데이터베이스와 통합되는 도구를 구축하는 데 사용할 수 있는 라이브러리입니다. ROADlib의 데이터베이스 모델은 Azure AD 내부 API의 메타데이터 정의를 기반으로 자동 생성됩니다. ROADlib는 ROADtools 네임스페이스에 있으므로, 스크립트에서 이를 가져오려면 from roadtools.roadlib import X를 사용하세요.
ROADrecon은 Red Team과 Blue Team 관점에서 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를 통해 자동으로 릴리스 버전으로 빌드됩니다. 이를 통해 npm 및 모든 종속성을 설치하지 않고도 GUI의 최신 버전을 설치할 수 있습니다. Azure Pipelines artifacts에서 roadlib 및 roadrecon 빌드 파일을 다운로드할 수 있습니다 ("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
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/로 개발 모드로 설치할 수도 있습니다.