mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-29 07:00:29 -07:00
Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation
This commit is contained in:
+10
-10
@@ -19,7 +19,7 @@ Azure App 서비스에 대한 자세한 정보는 다음을 확인하세요:
|
||||
# Direct option
|
||||
az webapp ssh --name <name> --resource-group <res-group>
|
||||
```
|
||||
- **터널을 생성한 후 SSH에 연결**:
|
||||
- **터널을 생성한 다음 SSH에 연결**:
|
||||
```bash
|
||||
az webapp create-remote-connection --name <name> --resource-group <res-group>
|
||||
|
||||
@@ -35,8 +35,8 @@ ssh root@127.0.0.1 -p 39895
|
||||
- **애플리케이션 디버깅**:
|
||||
1. VScode에 Azure 확장을 설치합니다.
|
||||
2. Azure 계정으로 확장에 로그인합니다.
|
||||
3. 구독 내 모든 App 서비스를 나열합니다.
|
||||
4. 디버깅할 App 서비스를 선택하고, 마우스 오른쪽 버튼을 클릭한 후 "디버깅 시작"을 선택합니다.
|
||||
3. 구독 내 모든 앱 서비스를 나열합니다.
|
||||
4. 디버깅할 앱 서비스를 선택하고, 마우스 오른쪽 버튼을 클릭한 후 "디버깅 시작"을 선택합니다.
|
||||
5. 앱에 디버깅이 활성화되어 있지 않으면, 확장이 이를 활성화하려고 시도하지만, 귀하의 계정은 이를 수행하기 위해 `Microsoft.Web/sites/config/write` 권한이 필요합니다.
|
||||
|
||||
### SCM 자격 증명 얻기 및 기본 인증 활성화
|
||||
@@ -98,7 +98,7 @@ az webapp deployment list-publishing-profiles --name <app-name> --resource-group
|
||||
|
||||
또한, **SCM URL은 `<app-name>.scm.azurewebsites.net`**입니다.
|
||||
|
||||
- 권한 **`Microsoft.Web/sites/config/list/action`**은 호출을 허용합니다:
|
||||
- 권한 **`Microsoft.Web/sites/config/list/action`**은 호출할 수 있습니다:
|
||||
```bash
|
||||
az webapp deployment list-publishing-credentials --name <app-name> --resource-group <res-group>
|
||||
# Example output
|
||||
@@ -163,7 +163,7 @@ curl -X POST "<SMC-URL>/api/publish?type=zip" --data-binary "@./app.zip" -u '<us
|
||||
```
|
||||
### Webjobs: Microsoft.Web/sites/publish/Action | SCM 자격 증명
|
||||
|
||||
언급된 Azure 권한은 SCM 자격 증명으로도 수행할 수 있는 여러 흥미로운 작업을 수행할 수 있습니다:
|
||||
언급된 Azure 권한은 SCM 자격 증명으로 수행할 수 있는 여러 흥미로운 작업을 수행할 수 있습니다:
|
||||
|
||||
- **Webjobs** 로그 읽기:
|
||||
```bash
|
||||
@@ -205,7 +205,7 @@ curl -X PUT \
|
||||
```
|
||||
### Microsoft.Web/sites/write, Microsoft.Web/sites/read, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
|
||||
|
||||
이 권한은 **관리형 ID**를 App 서비스에 할당할 수 있게 하므로, 이전에 App 서비스가 침해된 경우 공격자가 App 서비스에 새로운 관리형 ID를 할당하고 **권한을 상승**시킬 수 있습니다.
|
||||
이 권한은 **관리되는 ID를** 앱 서비스에 할당할 수 있게 하므로, 만약 앱 서비스가 이전에 침해되었다면 공격자는 앱 서비스에 새로운 관리되는 ID를 할당하고 **권한을 상승**시킬 수 있습니다.
|
||||
```bash
|
||||
az webapp identity assign --name <app-name> --resource-group <res-group> --identities /subscriptions/<subcripttion-id>/resourceGroups/<res_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
|
||||
```
|
||||
@@ -225,7 +225,7 @@ az rest --method GET \
|
||||
```
|
||||
이 명령은 Github, Bitbucket, Dropbox 및 OneDrive에 대한 토큰을 반환합니다.
|
||||
|
||||
여기 토큰을 확인하기 위한 몇 가지 명령 예가 있습니다:
|
||||
여기 토큰을 확인하기 위한 몇 가지 명령 예제가 있습니다:
|
||||
```bash
|
||||
# GitHub – List Repositories
|
||||
curl -H "Authorization: token <token>" \
|
||||
@@ -251,7 +251,7 @@ https://graph.microsoft.com/v1.0/me/drive/root/children
|
||||
### 소스에서 앱 코드 업데이트
|
||||
|
||||
- 구성된 소스가 Github, BitBucket 또는 Azure Repository와 같은 제3자 제공자인 경우, 리포지토리의 소스 코드를 손상시켜 **앱 서비스의 코드를 업데이트**할 수 있습니다.
|
||||
- 앱이 **원격 git 리포지토리**(사용자 이름 및 비밀번호 포함)를 사용하도록 구성된 경우, 다음을 통해 **URL 및 기본 인증 자격 증명**을 얻어 클론하고 변경 사항을 푸시할 수 있습니다:
|
||||
- 앱이 **원격 git 리포지토리**(사용자 이름 및 비밀번호 포함)를 사용하도록 구성된 경우, **URL 및 기본 인증 자격 증명**을 얻어 클론하고 변경 사항을 푸시할 수 있습니다:
|
||||
- 권한 **`Microsoft.Web/sites/sourcecontrols/read`** 사용: `az webapp deployment source show --name <app-name> --resource-group <res-group>`
|
||||
- 권한 **`Microsoft.Web/sites/config/list/action`** 사용:
|
||||
- `az webapp deployment list-publishing-credentials --name <app-name> --resource-group <res-group>`
|
||||
@@ -263,14 +263,14 @@ https://graph.microsoft.com/v1.0/me/drive/root/children
|
||||
- **`Microsoft.Web/sites/config/list/action`**: 그런 다음 `az webapp deployment list-publishing-credentials --name <name> --resource-group <res-group>`을 실행합니다.
|
||||
|
||||
> [!WARNING]
|
||||
> 권한 `Microsoft.Web/sites/config/list/action`과 SCM 자격 증명을 보유하면, 이전 섹션에서 언급한 바와 같이 제3자 제공자를 사용하도록 구성된 경우에도 웹앱에 배포하는 것이 항상 가능합니다.
|
||||
> 권한 `Microsoft.Web/sites/config/list/action`과 SCM 자격 증명을 보유하면, 이전 섹션에서 언급한 바와 같이 웹앱에 배포하는 것이 항상 가능합니다 (제3자 제공자를 사용하도록 구성된 경우에도).
|
||||
|
||||
> [!WARNING]
|
||||
> 아래 권한을 보유하면 웹앱이 다르게 구성되었더라도 **임의의 컨테이너를 실행하는 것도 가능합니다**.
|
||||
|
||||
### `Microsoft.Web/sites/config/Write`, `Microsoft.Web/sites/config/Read`, `Microsoft.Web/sites/config/list/Action`, `Microsoft.Web/sites/Read`
|
||||
|
||||
이는 웹앱에서 사용되는 **컨테이너를 수정할 수 있는 권한 세트**입니다. 공격자는 이를 악용하여 웹앱이 악성 컨테이너를 실행하도록 만들 수 있습니다.
|
||||
이것은 웹앱에서 사용되는 **컨테이너를 수정할 수 있는 권한 세트**입니다. 공격자는 이를 악용하여 웹앱이 악성 컨테이너를 실행하도록 만들 수 있습니다.
|
||||
```bash
|
||||
az webapp config container set \
|
||||
--name <app-name> \
|
||||
|
||||
Reference in New Issue
Block a user