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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
EntraFalcon — Microsoft Entra ID 환경의 보안 상태를 평가하기 위한 경량 PowerShell 도구입니다. 권한 있는 개체, 위험한 할당 및 잠재적 구성 오류를 식별하는 데 도움이 됩니다. | Kitploit
도구/GitHubGitHub/compasssecurity/entrafalcon
Vulnerability ScannersInformation GatheringPenetration TestingCloud SecurityIdentity & Access Management (IAM)Misconfiguration
GitHubcompasssecurity/entrafalcon

EntraFalcon

Microsoft Entra ID 환경의 보안 상태를 평가하기 위한 경량 PowerShell 도구입니다. 권한 있는 개체, 위험한 할당 및 잠재적 구성 오류를 식별하는 데 도움이 됩니다.

저장소 보기
45847286일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

EntraFalcon

alt text

EntraFalcon은 펜테스터, 보안 분석가, 시스템 관리자가 Microsoft Entra ID 환경의 보안 상태를 평가할 수 있도록 돕는 PowerShell 기반 평가 도구입니다.

사용 편의성을 염두에 두고 설계된 EntraFalcon은 PowerShell 5.1 및 7에서 실행되며, Windows와 Linux를 모두 지원하고, 추가 PowerShell 모듈이나 별도 설치, Microsoft Graph API 동의가 필요하지 않습니다.

이 도구는 종종 간과되는 권한 있는 객체, 잠재적으로 위험한 할당, Conditional Access 오구성을 발견하는 데 도움을 줍니다. 예를 들어:

  • 높은 권한의 그룹이나 애플리케이션을 제어할 수 있는 사용자
  • 과도한 권한을 가진 외부 또는 내부 엔터프라이즈 애플리케이션 (예: Microsoft Graph API, Azure 역할)
  • 리소스에 직접 Azure IAM 역할이 할당된 사용자
  • 온프레미스에서 동기화된 권한 있는 계정
  • 비활성 사용자 또는 MFA 기능이 없는 사용자
  • 민감한 할당에 사용되는 보호되지 않은 그룹 (예: Conditional Access 제외, Subscription Owner, 또는 권한 있는 그룹의 적격 구성원)

발견 사항은 효율적인 탐색과 분석을 지원하기 위해 대화형 HTML 보고서로 제공됩니다.

🚀 기능

  • PowerShell 5.1 및 7과 호환되는 간단한 PowerShell 스크립트. Windows와 Linux에서 작동
  • 여러 인증 방법을 지원하는 내장 인증
  • Graph API 동의 프롬프트를 우회하기 위해 사전 동의된 범위를 가진 자사 Microsoft 애플리케이션 사용
  • 필터링, 정렬, 데이터 내보내기 등을 지원하는 탐색 가능한 HTML 보고서 생성
  • 90개 이상의 자동 검사를 수행하고 결과를 보안 발견 사항 보고서로 요약
    • 취약한 테넌트 구성과 위험한 객체 속성 또는 권한에 대한 검사 포함
    • 심각도 등급과 함께 문제 설명, 잠재적 위협, 그리고 교정 지침 제공
    • 영향을 받는 객체를 나열하고 추가 조사를 위해 해당 객체의 상세 보고서로 직접 연결
  • 기본적인 영향도, 가능성, 위험 점수 산정을 수행하여 취약하게 보호되는 높은 권한 객체를 강조하고 데이터를 정렬
  • 위험한 구성과 상승된 권한에 대한 경고 표시
  • 다음을 포함한 Entra ID 객체 열거:
    • 사용자 (Agent Users 포함)
    • 그룹
    • 엔터프라이즈 애플리케이션
    • 앱 등록
    • 관리 ID
    • 에이전트 ID
    • 에이전트 ID 블루프린트 주체
    • 에이전트 ID 블루프린트
    • PIM 할당:
      • Entra 역할용 PIM
      • 그룹용 PIM
      • Azure 역할용 PIM
    • Entra 역할 할당
    • Azure 역할 할당
    • Intune RBAC 할당
    • 액세스 패키지
    • 권한 관리 카탈로그
    • 카탈로그 RBAC
    • Conditional Access 정책
    • 관리 단위
    • PIM 설정:
      • Entra 역할용 PIM
      • 그룹용 PIM (BroCi 인증 전용)

✅ 요구 사항

유형권한필수누락 시 영향
Entra ID 역할Global Reader예스크립트를 실행할 수 없음
Azure 역할Reader: 모든 관리 그룹 또는 구독에 대해아니요Azure IAM 할당을 평가할 수 없음

또한 도구를 실행하는 장치에서 Microsoft Graph API 및 선택적으로 Azure ARM API에 인증할 수 있어야 합니다. Conditional Access 정책이 인증을 차단하지 않는지 확인하세요.

▶️ 사용법

EntraFalcon 다운로드

시작하려면 저장소를 복제하고 프로젝트 디렉터리로 이동하세요:```powershell git clone https://github.com/CompassSecurity/EntraFalcon cd EntraFalcon

참고: 스크립트를 실행하려면 PowerShell 실행 정책을 일시적으로 변경해야 할 수 있습니다.
신뢰할 수 있는 스크립트에 대해서만 이 작업을 수행하세요!```
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process

EntraFalcon 실행

EntraFalcon은 Entra ID 인증에 대한 기본 지원을 포함합니다. -AuthFlow를 사용하여 인증 흐름을 선택하십시오.

일반적인 평가에는 전체 범위 흐름 중 하나를 사용하십시오:

권장 흐름최적 용도플랫폼범위
BroCi (기본값)대화형 Windows 실행Windows전체
BroCiManualCode다른 브라우저에서 인증Windows, Linux, macOS전체
BroCiToken기존 Azure Portal 새로 고침 토큰Windows, Linux, macOS전체
ServicePrincipal자동화 / CIWindows, Linux, macOS전체

BroCi는 대화형 로그인을 한 번 사용합니다. BroCiToken과 ServicePrincipal은 전혀 사용하지 않습니다. 대체 사용자 흐름은 별도의 리소스 토큰이 요청되므로 여러 번의 대화형 로그인이 필요할 수 있습니다.

대체 인증 흐름

사전 동의된 자사 애플리케이션이 없기 때문에 대체 흐름은 전체 열거(PIM for Groups, Access Packages, Catalogs)를 수행할 수 없습니다. 따라서 현재는 대체 옵션으로만 남아 있습니다.

흐름사용 조건플랫폼제한 사항
AuthCode레거시 호환성이 필요한 경우Windows부분 범위. 독립적인 PIM for Groups, Access Packages, Catalogs 보고서 없음.
DeviceCode브라우저 기반 인증이 불가능한 경우Windows, Linux, macOS부분 범위. 독립적인 PIM for Groups, Access Packages, Catalogs 보고서 없음. 일부 Security Findings 검사는 축소된 깊이로 실행됩니다.
ManualCode별도의 브라우저 세션을 통해 인증을 완료해야 하는 경우Windows, Linux, macOS부분 범위. 독립적인 PIM for Groups, Access Packages, Catalogs 보고서 없음.

권장: BroCi 흐름 (기본값 / Windows 전용)

BroCi는 대체 자사 애플리케이션을 사용하며 대화형 로그인을 한 번만 요구합니다.
Azure Active Directory PowerShell 클라이언트에 할당이 필요하여 피해야 하는 경우에 유용합니다.```powershell .\run_EntraFalcon.ps1

명시적 BroCi 선택:```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCi

권장: BroCi + 수동 코드 흐름```powershell

.\run_EntraFalcon.ps1 -AuthFlow BroCiManualCode

1. 스크립트가 인증 URL을 클립보드에 복사합니다.
2. URL을 브라우저에 붙여넣습니다(SSO 지원을 위해 선택적으로 다른 기기에서 수행 가능).
3. 브라우저 개발자 도구를 열고 Network 탭에서 `Preserve log`를 활성화합니다.
4. 인증을 완료합니다.
5. 네트워크 로그에서 `code=1.`을 검색하고 코드가 포함된 요청 URL을 클립보드에 복사합니다.
6. Enter를 눌러 계속하면 스크립트가 클립보드에서 코드를 읽고 토큰 획득을 완료합니다.


#### 권장: 토큰을 사용한 BroCi
유효한 Azure Portal refresh token(client c44b4083-3bb0-49c1-b47d-974e53cbdf3c)이 이미 있는 경우, 이를 직접 사용할 수 있습니다.
예시: 브라우저에서 refresh token 얻기
1. 브라우저 개발자 도구를 열고 Network 탭에서 Preserve log를 활성화합니다.
2. https://entra.microsoft.com에서 인증합니다.
3. 네트워크 로그에서 `brk_client_id=c44b4083-3bb0-49c1-b47d-974e53cbdf3c`를 검색하고 응답에서 refresh token을 추출합니다.```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCiToken -BroCiToken "1.XXXXXXXXXXX"

권장: 서비스 주체

OAuth2 클라이언트 자격 증명 부여를 사용하여 등록된 애플리케이션으로 인증합니다 — 사용자 상호 작용이 필요하지 않습니다. 반복적인 자동 실행에 유용합니다.
Application 유형의 Graph API 권한이 있는 사용자 지정 Entra 앱 등록이 필요합니다(아래 참조).

클라이언트 암호 사용:```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPClientSecret ""

**PFX 인증서 사용 시:**```powershell
.\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "<AppId>" -SPCertificatePath "C:\certs\app.pfx"

암호로 보호된 PFX의 경우 -SPCertificatePassword (Read-Host -Prompt "Certificate password" -AsSecureString)를 추가합니다.

PEM 인증서 + 개인 키 사용(PowerShell 7+ 전용):```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPCertificatePemPath "C:\certs\cert.pem" -SPPrivateKeyPemPath "C:\certs\key.pem"

암호화된 개인 키의 경우 `-SPPrivateKeyPemPassword (Read-Host -Prompt "Private key password" -AsSecureString)`를 추가합니다.

##### 필수 앱 등록 권한
앱 등록에 다음 **Application** 권한(Delegated 아님)을 부여하고 관리자 동의를 수행합니다:

| 권한 | 유형 |
|---|---|
| `AdministrativeUnit.Read.All` | Application |
| `AgentIdentity.Read.All` | Application |
| `AgentIdentityBlueprint.Read.All` | Application |
| `AgentIdentityBlueprintPrincipal.Read.All` | Application |
| `Application.Read.All` | Application |
| `AuditLog.Read.All` | Application |
| `Device.Read.All` | Application |
| `EntitlementManagement.Read.All` | Application |
| `Group.Read.All` | Application |
| `Organization.Read.All` | Application |
| `Policy.Read.All` | Application |
| `PrivilegedAccess.Read.AzureADGroup` | Application |
| `RoleManagement.Read.Directory` | Application |
| `RoleManagementPolicy.Read.AzureADGroup` | Application |
| `User.Read.All` | Application |
| `DeviceManagementRBAC.Read.All` | Application |

또한 루트 관리 그룹(또는 모든 관련 구독)에 **Azure Reader** 역할을 할당하고, 선택적으로 Entra ID의 서비스 주체에 **Global Reader** 역할을 할당합니다(사용자별 MFA 상태에 필요).

#### 대체 방법: 인증 코드 흐름(Windows 전용)```powershell
.\run_EntraFalcon.ps1 -AuthFlow AuthCode

대체 방법: 디바이스 코드 흐름

강화된 환경에서는 조건부 액세스에 의해 종종 제한됩니다.
DeviceCode를 사용하면 두 가지 보안 취약점 검사가 축소된 깊이로 실행됩니다(CAP-004 및 CAP-005).```powershell .\run_EntraFalcon.ps1 -AuthFlow DeviceCode

#### 대체 방법: 인증 코드 + 수동 코드 흐름```powershell
.\run_EntraFalcon.ps1 -AuthFlow ManualCode
  1. 스크립트가 인증 URL을 클립보드에 복사합니다.
  2. 브라우저에 URL을 붙여넣습니다(SSO 지원을 위해 선택적으로 다른 기기에서 수행 가능).
  3. 인증을 완료합니다.
  4. 브라우저 주소 표시줄에서 최종 리디렉션 URL(인증 코드 포함)을 클립보드에 복사합니다.
  5. Enter를 눌러 계속하면 스크립트가 클립보드에서 코드를 읽고 토큰 획득을 완료합니다.

기타 매개변수

도구 다운로드