mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes
This commit is contained in:
@@ -29,7 +29,7 @@ az-unauthenticated-enum-and-initial-entry/
|
||||
{{#endref}}
|
||||
|
||||
이 정보를 바탕으로 발판을 확보하기 위해 시도할 수 있는 가장 일반적인 방법은 다음과 같습니다:
|
||||
- **OSINT**: **자격 증명**이나 흥미로운 정보를 포함할 수 있는 Github 또는 기타 오픈 소스 플랫폼에서 **유출**을 확인합니다.
|
||||
- **OSINT**: **자격 증명**이나 흥미로운 정보가 포함될 수 있는 Github 또는 기타 오픈 소스 플랫폼에서 **유출**을 확인합니다.
|
||||
- **비밀번호** 재사용, 유출 또는 [비밀번호 스프레이](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
|
||||
- 직원의 자격 증명 구매
|
||||
- [**일반 피싱**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (자격 증명 또는 Oauth 앱)
|
||||
@@ -37,23 +37,23 @@ az-unauthenticated-enum-and-initial-entry/
|
||||
- 제3자 **침해**
|
||||
- Azure 호스팅 애플리케이션의 취약점
|
||||
- [**서버 측 요청 위조**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) 메타데이터 엔드포인트에 대한 접근
|
||||
- [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)와 같은 **서브도메인 인수**
|
||||
- **서브도메인 인수** [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)와 같이
|
||||
- **기타 Azure 서비스 구성 오류**
|
||||
- 일부 개발자 노트북이 침해된 경우 ([WinPEAS 및 LinPEAS](https://github.com/peass-ng/PEASS-ng)로 이 정보를 찾을 수 있습니다):
|
||||
- **`<HOME>/.Azure`** 내부
|
||||
- **`azureProfile.json`**은 과거 로그인한 사용자에 대한 정보를 포함합니다.
|
||||
- **`clouds.config`**는 구독에 대한 정보를 포함합니다.
|
||||
- **`service_principal_entries.json`**은 애플리케이션 자격 증명(테넌트 ID, 클라이언트 및 비밀)을 포함합니다. Linux 및 macOS에서만 사용 가능
|
||||
- **`msal_token_cache.json`**은 액세스 토큰 및 새로 고침 토큰을 포함합니다. Linux 및 macOS에서만 사용 가능
|
||||
- **`service_principal_entries.bin`** 및 msal_token_cache.bin은 Windows에서 사용되며 DPAPI로 암호화됩니다.
|
||||
- **`msal_http_cache.bin`**은 HTTP 요청의 캐시입니다.
|
||||
- **`azureProfile.json`**에는 과거 로그인한 사용자에 대한 정보가 포함되어 있습니다.
|
||||
- **`clouds.config`**에는 구독에 대한 정보가 포함되어 있습니다.
|
||||
- **`service_principal_entries.json`**에는 애플리케이션 자격 증명(테넌트 ID, 클라이언트 및 비밀)이 포함되어 있습니다. Linux 및 macOS에서만 사용 가능
|
||||
- **`msal_token_cache.json`**에는 액세스 토큰 및 새로 고침 토큰이 포함되어 있습니다. Linux 및 macOS에서만 사용 가능
|
||||
- **`service_principal_entries.bin`** 및 msal_token_cache.bin은 Windows에서 사용되며 DPAPI로 암호화되어 있습니다.
|
||||
- **`msal_http_cache.bin`**는 HTTP 요청의 캐시입니다.
|
||||
- 로드하기: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)`
|
||||
- **`AzureRmContext.json`**은 Az PowerShell을 사용한 이전 로그인에 대한 정보를 포함합니다(하지만 자격 증명은 포함되지 않음).
|
||||
- **`AzureRmContext.json`**에는 Az PowerShell을 사용한 이전 로그인에 대한 정보가 포함되어 있습니다(하지만 자격 증명은 아님).
|
||||
- **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** 내부에는 **액세스 토큰**, ID 토큰 및 사용자 DPAPI로 암호화된 계정 정보가 포함된 여러 `.bin` 파일이 있습니다.
|
||||
- **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** 내부의 `.tbres` 파일에서 더 많은 **액세스 토큰**을 찾을 수 있으며, 이는 DPAPI로 암호화된 base64 형식의 액세스 토큰을 포함합니다.
|
||||
- **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** 내부의 `.tbres` 파일에서 더 많은 **액세스 토큰**을 찾을 수 있으며, 이 파일은 DPAPI로 암호화된 액세스 토큰을 포함합니다.
|
||||
- Linux 및 macOS에서는 Az PowerShell(사용한 경우)에서 `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"`을 실행하여 **액세스 토큰, 새로 고침 토큰 및 ID 토큰**을 얻을 수 있습니다.
|
||||
- Windows에서는 ID 토큰만 생성됩니다.
|
||||
- Linux 및 macOS에서 Az PowerShell이 사용되었는지 확인하려면 `$HOME/.local/share/.IdentityService/`가 존재하는지 확인합니다(파일이 비어 있고 쓸모가 없더라도).
|
||||
- Linux 및 macOS에서 Az PowerShell이 사용되었는지 확인하려면 `$HOME/.local/share/.IdentityService/`가 존재하는지 확인합니다(비록 포함된 파일은 비어 있고 쓸모가 없지만).
|
||||
|
||||
다음 페이지에서 **기타 Azure 서비스 구성 오류**를 찾아 발판을 확보할 수 있습니다:
|
||||
|
||||
@@ -62,7 +62,7 @@ az-unauthenticated-enum-and-initial-entry/
|
||||
{{#endref}}
|
||||
|
||||
> [!NOTE]
|
||||
> 일반적으로 **열거의 가장 시끄러운** 부분은 **로그인**이며, 열거 자체는 아닙니다.
|
||||
> 일반적으로 열거의 **가장 시끄러운** 부분은 **로그인**이며, 열거 자체는 아닙니다.
|
||||
|
||||
### Azure 및 Entra ID 도구
|
||||
|
||||
@@ -72,18 +72,24 @@ az-unauthenticated-enum-and-initial-entry/
|
||||
az-enumeration-tools.md
|
||||
{{#endref}}
|
||||
|
||||
### 로그인 조건 우회
|
||||
### 접근 정책 우회
|
||||
|
||||
<figure><img src="../../images/image (268).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
유효한 자격 증명이 있지만 로그인할 수 없는 경우, 다음은 적용될 수 있는 일반적인 보호 조치입니다:
|
||||
|
||||
- **IP 화이트리스트** -- 유효한 IP를 침해해야 합니다.
|
||||
- **지리적 제한** -- 사용자가 거주하는 곳이나 회사 사무실이 있는 곳을 찾아 같은 도시(또는 최소한 같은 국가)의 IP를 확보합니다.
|
||||
- **IP 화이트리스트** -- 유효한 IP를 타겟으로 해야 합니다.
|
||||
- **지리적 제한** -- 사용자가 거주하는 곳이나 회사의 사무실이 있는 곳을 찾아 같은 도시(또는 최소한 같은 국가)의 IP를 확보합니다.
|
||||
- **브라우저** -- 특정 OS(Windows, Linux, Mac, Android, iOS)에서만 허용될 수 있습니다. 피해자/회사가 사용하는 OS를 알아내세요.
|
||||
- **서비스 주체 자격 증명**을 침해하려고 시도할 수도 있습니다. 일반적으로 제한이 적고 로그인 검토가 덜 이루어집니다.
|
||||
- **서비스 주체 자격 증명**을 **타겟**으로 삼을 수도 있습니다. 이들은 일반적으로 제한이 적고 로그인 검토가 덜 이루어집니다.
|
||||
|
||||
이를 우회한 후에는 초기 설정으로 돌아가 여전히 접근할 수 있을 것입니다.
|
||||
이를 우회한 후, 초기 설정으로 돌아가 여전히 접근할 수 있을 것입니다.
|
||||
|
||||
확인하세요:
|
||||
|
||||
{{#ref}}
|
||||
az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
{{#endref}}
|
||||
|
||||
### Whoami
|
||||
|
||||
@@ -137,21 +143,21 @@ Get-AzureADTenantDetail
|
||||
|
||||
### Entra ID 열거 및 권한 상승
|
||||
|
||||
기본적으로, 모든 사용자는 **사용자, 그룹, 역할, 서비스 주체**와 같은 항목을 열거할 수 있는 **충분한 권한**을 가져야 합니다... (기본 [AzureAD 권한](az-basic-information/index.html#default-user-permissions) 확인).\
|
||||
기본적으로, 모든 사용자는 **사용자, 그룹, 역할, 서비스 주체**와 같은 항목을 열거할 수 있는 **충분한 권한을 가져야 합니다**... (기본 [AzureAD 권한](az-basic-information/index.html#default-user-permissions) 확인).\
|
||||
여기에서 가이드를 찾을 수 있습니다:
|
||||
|
||||
{{#ref}}
|
||||
az-services/az-azuread.md
|
||||
{{#endref}}
|
||||
|
||||
**Post-Exploitation 도구**를 확인하여 **AzureHound**와 같은 Entra ID에서 권한을 상승시키는 도구를 찾으세요:
|
||||
**Post-Exploitation 도구**를 확인하여 **AzureHound**와 같은 Entra ID에서 권한을 상승시키기 위한 도구를 찾으세요:
|
||||
|
||||
{{#ref}}
|
||||
az-enumeration-tools.md#automated-post-exploitation-tools
|
||||
{{#endref}}
|
||||
|
||||
|
||||
### Azure 서비스 열거
|
||||
### Azure 열거
|
||||
|
||||
자신이 누구인지 알게 되면, **접근할 수 있는 Azure 서비스**를 열거하기 시작할 수 있습니다.
|
||||
|
||||
@@ -159,9 +165,9 @@ az-enumeration-tools.md#automated-post-exploitation-tools
|
||||
|
||||
1. **접근할 수 있는 자원을 찾으세요**:
|
||||
|
||||
Az PowerShell 명령 **`Get-AzResource`**를 사용하면 **현재 사용자가 볼 수 있는 자원**을 알 수 있습니다.
|
||||
Az PowerShell 명령 **`Get-AzResource`**를 사용하면 **현재 사용자가 볼 수 있는 자원을 알 수 있습니다**.
|
||||
|
||||
또한, **웹 콘솔**에서 [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll)로 가거나 "모든 자원"을 검색하거나 다음을 실행하여 동일한 정보를 얻을 수 있습니다: `az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"`
|
||||
또한, **웹 콘솔**에서 [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll)로 이동하거나 "모든 자원"을 검색하거나 다음을 실행하여 동일한 정보를 얻을 수 있습니다: `az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"`
|
||||
|
||||
2. **접근할 수 있는 자원에 대한 권한과 자신에게 할당된 역할을 찾으세요**:
|
||||
|
||||
@@ -169,15 +175,15 @@ Az PowerShell 명령 **`Get-AzResource`**를 사용하면 **현재 사용자가
|
||||
|
||||
또한, 충분한 권한이 있는 경우, 역할 **`Get-AzRoleAssignment`**를 사용하여 구독 내의 **모든 역할**을 열거하거나 특정 자원에 대한 권한을 확인할 수 있습니다. 예를 들어: **`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**.
|
||||
|
||||
다음과 같이 **`az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`**를 실행하여 이 정보를 얻는 것도 가능합니다:
|
||||
이 정보를 얻기 위해 **`az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`**를 실행할 수도 있습니다. 예를 들어:
|
||||
|
||||
- **`az rest --method GET --uri "https://management.azure.com//subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`**
|
||||
|
||||
3. **자신에게 부여된 역할의 세부 권한을 찾으세요**:
|
||||
|
||||
그런 다음, 세부 권한을 얻으려면 **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`**를 실행할 수 있습니다.
|
||||
그런 다음, 세부 권한을 얻기 위해 **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`**를 실행할 수 있습니다.
|
||||
|
||||
또는 API를 직접 호출하여 **`az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"`**를 사용할 수 있습니다.
|
||||
또는 API를 직접 호출하여 **`az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"`**를 실행할 수 있습니다.
|
||||
|
||||
|
||||
다음 섹션에서는 **가장 일반적인 Azure 서비스 및 이를 열거하는 방법에 대한 정보**를 찾을 수 있습니다:
|
||||
@@ -186,7 +192,7 @@ Az PowerShell 명령 **`Get-AzResource`**를 사용하면 **현재 사용자가
|
||||
az-services/
|
||||
{{#endref}}
|
||||
|
||||
### Azure 서비스에서의 권한 상승, Post-Exploitation 및 지속성
|
||||
### 권한 상승, Post-Exploitation 및 지속성
|
||||
|
||||
Azure 환경이 어떻게 구성되어 있고 어떤 서비스가 사용되고 있는지 알게 되면, **권한을 상승시키고, 측면 이동을 하며, 다른 Post-Exploitation 공격을 수행하고, 지속성을 유지하는 방법**을 찾기 시작할 수 있습니다.
|
||||
|
||||
|
||||
@@ -2,19 +2,19 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
### Illicit Consent Grant
|
||||
### OAuth 애플리케이션
|
||||
|
||||
기본적으로, 모든 사용자는 Azure AD에 애플리케이션을 등록할 수 있습니다. 따라서 높은 영향력 있는 권한이 필요한 애플리케이션(대상 테넌트 전용)을 등록할 수 있으며, 관리자가 승인하면(관리자라면 승인 가능) 사용자 대신 메일을 보내거나 역할 관리를 하는 등의 권한을 부여할 수 있습니다. 이는 성공할 경우 매우 **결실을 맺을** 수 있는 **피싱 공격을 실행**할 수 있게 해줍니다.
|
||||
기본적으로, 모든 사용자는 Entra ID에 애플리케이션을 등록할 수 있습니다. 따라서 관리자의 동의가 필요한 높은 영향력의 권한을 가진 애플리케이션(대상 테넌트 전용)을 등록할 수 있습니다(관리자라면 승인할 수 있습니다) - 예를 들어 사용자를 대신하여 메일을 보내거나, 역할 관리를 하는 등의 작업입니다. 이는 성공할 경우 매우 **결실을 맺을** 수 있는 **피싱 공격을 실행**할 수 있게 해줍니다.
|
||||
|
||||
게다가, 사용자가 해당 애플리케이션을 수락하여 접근을 유지하는 방법으로 사용할 수도 있습니다.
|
||||
게다가, 사용자가 해당 애플리케이션을 수락하여 접근을 유지할 수도 있습니다.
|
||||
|
||||
### Applications and Service Principals
|
||||
### 애플리케이션 및 서비스 주체
|
||||
|
||||
Application Administrator, GA 또는 microsoft.directory/applications/credentials/update 권한이 있는 사용자 정의 역할의 권한으로, 기존 애플리케이션에 자격 증명(비밀 또는 인증서)을 추가할 수 있습니다.
|
||||
애플리케이션 관리자, GA 또는 microsoft.directory/applications/credentials/update 권한이 있는 사용자 정의 역할의 권한으로, 기존 애플리케이션에 자격 증명(비밀 또는 인증서)을 추가할 수 있습니다.
|
||||
|
||||
**높은 권한을 가진 애플리케이션을 타겟팅**하거나 **높은 권한을 가진 새로운 애플리케이션을 추가**하는 것이 가능합니다.
|
||||
|
||||
애플리케이션에 추가할 흥미로운 역할은 **특권 인증 관리자 역할**로, 이는 전역 관리자의 **비밀번호를 재설정**할 수 있게 해줍니다.
|
||||
애플리케이션에 추가할 흥미로운 역할은 **특권 인증 관리자 역할**로, 이는 글로벌 관리자의 **비밀번호를 재설정**할 수 있게 해줍니다.
|
||||
|
||||
이 기술은 또한 **MFA를 우회**할 수 있게 해줍니다.
|
||||
```bash
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## 기본 정보
|
||||
|
||||
Azure Active Directory (Azure AD)는 Microsoft의 클라우드 기반 아이덴티티 및 액세스 관리 서비스입니다. 이는 직원들이 조직 내외부의 리소스에 로그인하고 접근할 수 있도록 하는 데 중요한 역할을 하며, Microsoft 365, Azure 포털 및 다양한 다른 SaaS 애플리케이션을 포함합니다. Azure AD의 설계는 **인증, 권한 부여 및 사용자 관리**를 포함한 필수 아이덴티티 서비스를 제공하는 데 중점을 두고 있습니다.
|
||||
Azure Active Directory (Azure AD)는 Microsoft의 클라우드 기반 아이덴티티 및 액세스 관리 서비스입니다. 이는 직원들이 조직 내외부의 리소스에 로그인하고 접근할 수 있도록 하는 데 중요한 역할을 하며, Microsoft 365, Azure 포털 및 다양한 다른 SaaS 애플리케이션을 포함합니다. Azure AD의 설계는 **인증, 권한 부여 및 사용자 관리**와 같은 필수 아이덴티티 서비스를 제공하는 데 중점을 두고 있습니다.
|
||||
|
||||
Azure AD의 주요 기능에는 **다단계 인증** 및 **조건부 액세스**가 포함되며, 다른 Microsoft 보안 서비스와의 원활한 통합이 특징입니다. 이러한 기능은 사용자 아이덴티티의 보안을 크게 향상시키고 조직이 액세스 정책을 효과적으로 구현하고 시행할 수 있도록 합니다. Microsoft의 클라우드 서비스 생태계의 기본 구성 요소로서, Azure AD는 사용자 아이덴티티의 클라우드 기반 관리를 위해 필수적입니다.
|
||||
|
||||
@@ -158,7 +158,7 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token
|
||||
|
||||
Azure에 **CLI**를 통해 로그인할 때, **Microsoft**에 속한 **tenant**의 **Azure Application**을 사용하고 있습니다. 이러한 애플리케이션은 귀하의 계정에서 생성할 수 있는 것처럼 **클라이언트 ID**를 가지고 있습니다. **콘솔에서 볼 수 있는 허용된 애플리케이션 목록**에서 모든 애플리케이션을 **볼 수는 없지만**, 기본적으로 허용됩니다.
|
||||
|
||||
예를 들어, **인증**을 수행하는 **powershell 스크립트**는 클라이언트 ID **`1950a258-227b-4e31-a9cf-717495945fc2`**를 가진 애플리케이션을 사용합니다. 애플리케이션이 콘솔에 나타나지 않더라도, 시스템 관리자는 사용자가 해당 앱을 통해 접근할 수 없도록 **해당 애플리케이션을 차단**할 수 있습니다.
|
||||
예를 들어, **`1950a258-227b-4e31-a9cf-717495945fc2`** 클라이언트 ID를 가진 앱을 사용하는 **powershell 스크립트**가 **인증**을 수행합니다. 앱이 콘솔에 나타나지 않더라도, 시스템 관리자는 사용자가 해당 앱을 통해 연결할 수 없도록 **해당 애플리케이션을 차단**할 수 있습니다.
|
||||
|
||||
그러나 **Azure에 연결할 수 있는 다른 클라이언트 ID**의 애플리케이션이 있습니다:
|
||||
```bash
|
||||
@@ -307,15 +307,15 @@ $password = "ThisIsTheNewPassword.!123" | ConvertTo- SecureString -AsPlainText
|
||||
|
||||
(Get-AzureADUser -All $true | ?{$_.UserPrincipalName -eq "victim@corp.onmicrosoft.com"}).ObjectId | Set- AzureADUserPassword -Password $password –Verbose
|
||||
```
|
||||
### MFA 및 조건부 액세스 정책
|
||||
### MFA & Conditional Access Policies
|
||||
|
||||
모든 사용자에게 MFA를 추가하는 것이 강력히 권장되지만, 일부 회사는 이를 설정하지 않거나 특정 위치, 브라우저 또는 **일부 조건**에서 로그인할 경우에만 MFA를 요구할 수 있습니다. 이러한 정책이 올바르게 구성되지 않으면 **우회**에 취약할 수 있습니다. 확인하세요:
|
||||
모든 사용자에게 MFA를 추가하는 것이 강력히 권장되지만, 일부 회사는 이를 설정하지 않거나 특정 위치, 브라우저 또는 **일부 조건**에서 로그인할 경우에만 MFA를 요구하는 Conditional Access를 설정할 수 있습니다. 이러한 정책이 올바르게 구성되지 않으면 **bypasses**에 취약할 수 있습니다. 확인하세요:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
{{#endref}}
|
||||
|
||||
### 그룹
|
||||
### Groups
|
||||
|
||||
Entra ID 그룹에 대한 자세한 정보는 다음을 확인하세요:
|
||||
|
||||
@@ -495,7 +495,7 @@ Get-AzureADServicePrincipal -ObjectId <id> | Get-AzureADServicePrincipalMembersh
|
||||
|
||||
<details>
|
||||
|
||||
<summary>각 엔터프라이즈 앱에 클라이언트 비밀을 나열하고 추가해 보세요</summary>
|
||||
<summary>각 엔터프라이즈 앱에서 클라이언트 비밀을 나열하고 추가해 보세요</summary>
|
||||
```bash
|
||||
# Just call Add-AzADAppSecret
|
||||
Function Add-AzADAppSecret
|
||||
@@ -660,8 +660,8 @@ Get-AzureADApplication -ObjectId <id> | Get-AzureADApplicationOwner |fl *
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> **`AppRoleAssignment.ReadWrite`** 권한이 있는 앱은 **Global Admin**으로 **승격**할 수 있습니다.\
|
||||
> 더 많은 정보는 [**여기에서 확인하세요**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48).
|
||||
> **`AppRoleAssignment.ReadWrite`** 권한을 가진 앱은 **Global Admin**으로 **승격**할 수 있습니다.\
|
||||
> 더 많은 정보는 [**여기서 확인하세요**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48).
|
||||
|
||||
> [!NOTE]
|
||||
> 애플리케이션이 토큰을 요청할 때 자신의 신원을 증명하는 데 사용하는 비밀 문자열은 애플리케이션 비밀번호입니다.\
|
||||
@@ -915,14 +915,14 @@ Get-AzureADMSScopedRoleMembership -Id <id> | fl #Get role ID and role members
|
||||
|
||||
Azure의 권한 있는 ID 관리(PIM)는 **불필요하게 사용자에게 과도한 권한이 부여되는 것을 방지**하는 데 도움을 줍니다.
|
||||
|
||||
PIM이 제공하는 주요 기능 중 하나는 항상 활성 상태인 주체에게 역할을 할당하지 않고 **일정 기간(예: 6개월)** 동안 자격을 부여할 수 있다는 것입니다. 그런 다음 사용자가 해당 역할을 활성화하고 싶을 때 필요한 권한의 시간을 지정하여 요청해야 합니다(예: 3시간). 그런 다음 **관리자가** 요청을 승인해야 합니다.\
|
||||
PIM이 제공하는 주요 기능 중 하나는 항상 활성화된 주체에게 역할을 할당하지 않고, **일정 기간(예: 6개월)** 동안 자격을 부여할 수 있다는 것입니다. 그런 다음 사용자가 해당 역할을 활성화하고 싶을 때, 필요한 권한의 시간을 지정하여 요청해야 합니다(예: 3시간). 그런 다음 **관리자가** 요청을 승인해야 합니다.\
|
||||
사용자는 또한 시간을 **연장** 요청할 수 있습니다.
|
||||
|
||||
또한, **PIM은** 권한 있는 역할이 누군가에게 할당될 때마다 이메일을 보냅니다.
|
||||
|
||||
<figure><img src="../../../images/image (354).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
PIM이 활성화되면 각 역할을 다음과 같은 특정 요구 사항으로 구성할 수 있습니다:
|
||||
PIM이 활성화되면 각 역할에 대해 다음과 같은 특정 요구 사항을 구성할 수 있습니다:
|
||||
|
||||
- 활성화 최대 기간(시간)
|
||||
- 활성화 시 MFA 요구
|
||||
@@ -930,10 +930,10 @@ PIM이 활성화되면 각 역할을 다음과 같은 특정 요구 사항으로
|
||||
- 활성화 시 정당화 요구
|
||||
- 활성화 시 티켓 정보 요구
|
||||
- 활성화 승인 요구
|
||||
- 자격 부여된 할당의 최대 만료 시간
|
||||
- 자격 부여의 만료 최대 시간
|
||||
- 특정 작업이 해당 역할과 관련하여 발생할 때 알림을 보낼 사람과 시기를 구성하는 많은 추가 설정
|
||||
|
||||
### 조건부 액세스 정책 <a href="#title-text" id="title-text"></a>
|
||||
### 조건부 액세스 정책
|
||||
|
||||
확인:
|
||||
|
||||
@@ -941,11 +941,11 @@ PIM이 활성화되면 각 역할을 다음과 같은 특정 요구 사항으로
|
||||
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
|
||||
{{#endref}}
|
||||
|
||||
### Entra ID 보호 <a href="#title-text" id="title-text"></a>
|
||||
### Entra ID 보호
|
||||
|
||||
Entra ID 보호는 **사용자 또는 로그인 시도가 너무 위험할 때 이를 감지**하여 사용자를 **차단**하거나 로그인 시도를 차단할 수 있는 보안 서비스입니다.
|
||||
|
||||
관리자가 "낮음 이상", "중간 이상" 또는 "높음"일 때 시도를 **차단**하도록 구성할 수 있습니다. 그러나 기본적으로는 완전히 **비활성화**되어 있습니다:
|
||||
관리자가 "낮음 이상", "중간 이상" 또는 "높음"일 때 시도를 **차단**하도록 구성할 수 있습니다. 그러나 기본적으로 완전히 **비활성화**되어 있습니다:
|
||||
|
||||
<figure><img src="../../../images/image (356).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
@@ -963,7 +963,7 @@ Entra 비밀번호 보호 ([https://portal.azure.com/index.html#view/Microsoft_A
|
||||
|
||||
<figure><img src="../../../images/image (355).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## 참고 문헌
|
||||
## 참조
|
||||
|
||||
- [https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units](https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user