Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
AzureRedOps — Azure RedOps는 Microsoft Entra ID의 보안 태세를 평가하기 위한 공격적 보안 도구 키트입니다. | Kitploit
도구/GitHubGitHub/mr-un1k0d3r/azureredops
Phishing ToolsPrivilege EscalationReconnaissancePassword AttacksExploitationInformation GatheringPost-ExploitationPenetration TestingCloud SecurityAuthenticationRed Teaming
18018181일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
mr-un1k0d3r/azureredops

AzureRedOps

Azure RedOps는 Microsoft Entra ID의 보안 태세를 평가하기 위한 공격적 보안 도구 키트입니다.

저장소 보기

AzureRedOps

Azure/Entra ID 레드 팀을 위한 스위스 군용 칼

저자: Mr.Un1k0d3r (TrueCyber Inc) 버전: 0.1 언어: Python 3.12+


개요

AzureRedOps는 Microsoft Entra ID 및 Azure 테넌트의 보안 상태를 평가하기 위한 공격적 보안 툴킷입니다. 가장 일반적인 레드 팀 워크플로(인증, 토큰 관리, 디렉터리 열거, 권한 확인, 비밀번호 스프레이, Microsoft Graph에 대한 사후 침투 작업)를 일관된 --activity 기반 CLI 아래에 통합합니다.

모든 작업은 -a/--activity로 선택합니다. 인증 과정에서 획득한 토큰은 로컬(.azure_creds)에 캐시하고 -l/--load-access-token으로 이름별로 재사용할 수 있으므로 원시 JWT를 붙여넣을 필요가 거의 없습니다.

도구에 대한 자세한 내용은 CYPFER 블로그에서 확인하세요.

기능

  • 토큰 관리 — 로컬 자격증명 저장소(.azure_creds)에서 액세스/갱신 토큰을 저장, 나열, 디코드/보기, 삭제합니다. 모든 흐름은 -s/--save + -n/--name을 사용하여 토큰을 자동으로 영구 저장할 수 있습니다.
  • 다중 인증 흐름:
    • ROPC (auth) — 직접 사용자 이름/비밀번호 인증.
    • 장치 코드 피싱 (phish-start / phish-capture) — OAuth 장치 인증 부여를 악용하여 대상이 microsoft.com/devicelogin에 사용자 코드를 입력하면 발급되는 토큰을 캡처합니다. 기본적으로 자동 캡처.
    • 타사 앱 동의 (auth-app) — 사용자 정의 애플리케이션 등록에 대한 전체 인증 코드 + PKCE 흐름으로, 리디렉션을 수신하는 내장 로컬 HTTPS 리스너가 제공됩니다.
    • 대화형 브라우저 캡처 (auth-interactive) — 실제 브라우저(Playwright; 기본 Firefox, -br로 전환)를 구동하여 (MFA/조건부 액세스/SSO 처리) 기록된 세션 HAR에서 모든 토큰을 수집합니다.
    • 갱신 토큰 교환 (refresh) — 갱신 토큰을 새로운 액세스 토큰으로 교환합니다.
    • On-Behalf-Of 부여 (obo) — 이미 발급된 액세스 토큰을 다운스트림 리소스에 대한 새 토큰으로 교환합니다(OAuth 2.0 jwt-bearer / OBO).
    • 토큰-브라우저 SSO (browser-sso) — 대상 웹 앱(Outlook 웹, Teams, SharePoint, Azure 포털 등)에 이미 사용자로 인증된 실제 브라우저를 엽니다. -aprt/--auto-prt를 사용하면 갱신 토큰에서 기본 갱신 토큰(PRT) 쿠키를 자동으로 생성하므로(장치 등록 → PRT → x-ms-RefreshTokenCredential), 새로운 브라우저가 수동 로그인 없이 Single Sign-On을 완료합니다.
  • Microsoft Graph를 통한 디렉터리 열거 — 사용자, 애플리케이션, 서비스 주체, 인증 정책, 그리고 대량 수집기 gather-all.
  • 알려진 Microsoft 퍼스트파티 앱 ID에 대한 비밀번호 스프레이 (spray) 및 교차 앱 갱신 토큰 스프레이 (spray-refresh).
  • 사후 침투 — 애플리케이션 등록, 그룹 생성, 디렉터리 역할 할당, 외부(게스트) 사용자 초대, OneDrive에 파일 업로드.
  • 정찰 도우미 — magic-app은 AllPrincipals 동의가 있는 공개 리디렉션 가능 앱을 찾습니다. 알려진/흥미로운 Microsoft 앱 ID의 내장 목록이 포함되어 있습니다.
  • 편의 기능 — 베타 엔드포인트 전환, 사용자 정의 헤더, 사용자 정의 User-Agent/범위/대상, 속성 필터링, 확장 출력, 디버그/상세 HTTP 로깅, 출력 파일 리디렉션.

요구 사항

  • Python 3.12 이상 (PEP 701 f-문자열 구문 사용).
  • Python 패키지 (requirements.txt 참조):
    • PyJWT
    • requests
    • playwright
    • cryptography (browser-sso -aprt, 자동 PRT 흐름에만 필요)
  • 브라우저 흐름(auth-interactive, browser-sso)을 위한 Playwright 브라우저 런타임. Firefox가 기본 엔진(-br/--browser); 설치하려면 python -m playwright install firefox 실행.
  • includes/web/cert.pem 및 includes/web/key.pem의 TLS 인증서 + 키 (auth-app PKCE 흐름에만 필요 — 참고 참조).

설치```bash

Clone the repository

git clone AzureRedOps cd AzureRedOps

Create and activate a virtual environment

python3 -m venv AzureRedOps source AzureRedOps/bin/activate # Linux / macOS

.\AzureRedOps\Scripts\Activate.ps1 # Windows PowerShell

Install dependencies

pip install -r requirements.txt

Install the browser used by the browser flows (one-time).

Firefox is the default engine; install the one(s) you plan to use with -br.

python -m playwright install firefox

python -m playwright install chromium webkit # optional, for -br chromium/webkit

python -m playwright install-deps # Linux/WSL: pull system libs

도구 실행:```bash
python3 AzureRedOps.py -a <activity> [options]

사용법

일반적인 호출 패턴은 다음과 같습니다:```bash python3 AzureRedOps.py -a [authentication] [activity options] [global options]

### 토큰 제공

Microsoft Graph를 호출하는 활동에는 액세스 토큰이 필요합니다. 두 가지 방법으로 제공할 수 있습니다:

| 방법 | 플래그 | 예시 |
|--------|------|---------|
| 원시 토큰 전달 | `-ac, --access-token` | `-ac eyJ0eXAi...` |
| 캐시된 토큰을 이름으로 로드 | `-l, --load-access-token` | `-l mytoken` |

`-l`을 사용하면 일치하는 `access_token`(및 해당되는 경우 `refresh_token`과 `tenant`)이 `.azure_creds` 저장소에서 읽힙니다.

### 파일에 토큰 저장 (`-s` / `-n`)

토큰을 획득하는 모든 활동(`auth`, `auth-app`, `auth-interactive`, `phish-start`/`phish-capture`, `refresh`)은 `-s/--save`와 `-n/--name`을 함께 추가하여 로컬 자격 증명 저장소(`.azure_creds`)에 **자동으로 저장**할 수 있습니다:```bash
# Authenticate and save the resulting tokens under the name "victim1"
python3 AzureRedOps.py -a auth -u [email protected] -p 'P@ssw0rd!' -tid <tenant-guid> -s -n victim1
  • -s/--save는 자동 저장을 켭니다; -n/--name이 필요합니다 — -n이 없으면 도구가 오류와 함께 종료됩니다.
  • -n/--name은 토큰이 저장되는 키입니다. 이후에 원시 JWT를 붙여넣는 대신 -l victim1로 재사용하거나, -a view -n victim1으로 확인하거나, -a delete -n victim1으로 삭제할 수 있습니다.
  • auth-interactive 활동은 항상 자동 저장되며, -n이 제공되지 않으면 대화식으로 이름을 입력하라는 메시지가 표시됩니다.

활동 출력을 파일로 저장하기 (-j)

대부분의 열거 활동(list-users, list-applications, list-principals, gather-all, raw-url)은 -j/--json <filename>을 허용하여 원시 API 응답을 출력하는 대신(또는 추가로) JSON 파일에 기록합니다.```bash

Dump every user to users.json

python3 AzureRedOps.py -a list-users -l victim1 -j users.json

`gather-all`의 경우 제공된 파일명이 접미사로 사용되며 Graph 엔드포인트 당 하나의 파일이 기록됩니다(예: `users-<name>`, `groups-<name>`, ...).

> 팁: `-j`는 구조화된 JSON 내보내기를 제어하고, `-re/--redirect-to-file`은 형식화된 콘솔 출력을 `output.txt`로 미러링합니다. 두 기능은 서로 독립적입니다.

### 테넌트 식별자

- `-t, --tenant`는 **도메인 이름**(예: `contoso.com`)을 기대하며 `id` 활동에 사용됩니다.
- `-tid, --tenant-id`는 **테넌트 GUID** 또는 `common`을 기대하며 인증 활동에 사용됩니다.

---

## 명령줄 옵션
도구 다운로드