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/az-post-exploitation/az
This commit is contained in:
+2
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Logic Apps Database Post Exploitation
|
||||
## Logic Apps 데이터베이스 포스트 익스플로이테이션
|
||||
Logic Apps에 대한 자세한 정보는 다음을 확인하세요:
|
||||
|
||||
{{#ref}}
|
||||
@@ -58,7 +58,7 @@ az rest --method PUT \
|
||||
}'
|
||||
```
|
||||
### `Microsoft.Web/sites/read`, `Microsoft.Web/sites/write`
|
||||
이 권한을 사용하면 App Service Plan에 호스팅된 Logic Apps를 생성하거나 업데이트할 수 있습니다. 여기에는 HTTPS 강제 적용을 활성화하거나 비활성화하는 설정을 수정하는 것이 포함됩니다.
|
||||
이 권한을 사용하면 App Service Plan에 호스팅된 Logic Apps를 생성하거나 업데이트할 수 있습니다. 여기에는 HTTPS 강제 적용을 활성화하거나 비활성화하는 등의 설정 수정이 포함됩니다.
|
||||
```bash
|
||||
az logicapp update \
|
||||
--resource-group <resource_group_name> \
|
||||
|
||||
+4
-4
@@ -3,7 +3,7 @@
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Logic Apps Privesc
|
||||
SQL 데이터베이스에 대한 자세한 내용은 다음을 확인하세요:
|
||||
SQL 데이터베이스에 대한 자세한 정보는 다음을 확인하세요:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-logic-apps.md
|
||||
@@ -11,7 +11,7 @@ SQL 데이터베이스에 대한 자세한 내용은 다음을 확인하세요:
|
||||
|
||||
### (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`) && (`Microsoft.Logic/workflows/triggers/run/action`)
|
||||
|
||||
이 권한을 사용하면 Azure Logic Apps 워크플로를 생성하거나 업데이트할 수 있습니다. 워크플로는 다양한 시스템 및 서비스 간의 자동화된 프로세스와 통합을 정의합니다.
|
||||
이 권한으로 Azure Logic Apps 워크플로를 생성하거나 업데이트할 수 있습니다. 워크플로는 다양한 시스템 및 서비스 간의 자동화된 프로세스와 통합을 정의합니다.
|
||||
```bash
|
||||
az logic workflow create \
|
||||
--resource-group <resource_group_name> \
|
||||
@@ -32,7 +32,7 @@ az rest \
|
||||
--body '{}' \
|
||||
--headers "Content-Type=application/json"
|
||||
```
|
||||
추가적으로 `Microsoft.Logic/workflows/write`만으로도 권한 정책을 변경할 수 있으며, 예를 들어 다른 테넌트가 워크플로우를 트리거할 수 있는 권한을 부여할 수 있습니다:
|
||||
추가적으로 `Microsoft.Logic/workflows/write`를 사용하면 권한 정책을 변경할 수 있으며, 예를 들어 다른 테넌트가 워크플로우를 트리거할 수 있는 권한을 부여할 수 있습니다:
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/workflows/<workflow-name>?api-version=2016-10-01" \
|
||||
@@ -84,7 +84,7 @@ az rest --method PUT \
|
||||
az rest --method POST \
|
||||
--uri "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Logic/workflows/<workflow_name>/triggers/<trigger_name>/listCallbackUrl?api-version=2019-05-01"
|
||||
```
|
||||
이것은 `https://prod-28.centralus.logic.azure.com:443/workflows/....`와 같은 콜백 URL을 반환합니다. 이제 다음과 같이 실행할 수 있습니다:
|
||||
이것은 `https://prod-28.centralus.logic.azure.com:443/workflows/....`와 같은 콜백 URL을 반환합니다. 이제 다음과 함께 실행할 수 있습니다:
|
||||
```bash
|
||||
curl --request POST \
|
||||
--url "https://prod-28.centralus.logic.azure.com:443/workflows/<workflow_id>/triggers/<trigger_name>/paths/invoke?api-version=2019-05-01&sp=%2Ftriggers%2F<trigger_name>%2Frun&sv=1.0&sig=<signature>" \
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
## Azure CosmosDB
|
||||
|
||||
**Azure Cosmos DB**는 단일 밀리초 응답 시간, 자동 확장성 및 기업 수준의 보안이 보장된 SLA 기반 가용성을 제공하는 완전 관리형 **NoSQL, 관계형 및 벡터 데이터베이스**입니다. 이는 다중 지역 데이터 분배, 오픈 소스 API, 인기 있는 언어를 위한 SDK 및 통합 벡터 지원과 원활한 Azure AI 통합과 같은 AI 데이터베이스 기능을 통해 더 빠른 앱 개발을 가능하게 합니다.
|
||||
**Azure Cosmos DB**는 단일 밀리초 응답 시간, 자동 확장성 및 엔터프라이즈급 보안이 보장된 SLA를 제공하는 완전 관리형 **NoSQL, 관계형 및 벡터 데이터베이스**입니다. 이는 다중 지역 데이터 분배, 오픈 소스 API, 인기 있는 언어를 위한 SDK 및 통합 벡터 지원과 원활한 Azure AI 통합과 같은 AI 데이터베이스 기능을 통해 더 빠른 앱 개발을 가능하게 합니다.
|
||||
|
||||
Azure Cosmos DB는 문서, 관계형, 키-값, 그래프 및 열 패밀리 데이터 모델을 사용하여 실제 데이터를 모델링하기 위한 여러 데이터베이스 API를 제공합니다. 이 API는 NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin 및 Table입니다.
|
||||
Azure Cosmos DB는 문서, 관계형, 키-값, 그래프 및 열 패밀리 데이터 모델을 사용하여 실제 데이터를 모델링하기 위해 여러 데이터베이스 API를 제공합니다. 이 API는 NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin 및 Table입니다.
|
||||
|
||||
CosmosDB의 주요 측면 중 하나는 Azure Cosmos Account입니다. **Azure Cosmos Account**는 데이터베이스에 대한 진입점 역할을 합니다. 계정은 글로벌 분배, 일관성 수준 및 사용할 특정 API(예: NoSQL)와 같은 주요 설정을 결정합니다. 계정을 통해 여러 지역에서 데이터에 대한 저지연 액세스를 보장하기 위해 글로벌 복제를 구성할 수 있습니다. 또한 성능과 데이터 정확성 간의 균형을 맞추는 일관성 수준을 선택할 수 있으며, 옵션은 Strong에서 Eventual consistency까지 다양합니다.
|
||||
|
||||
@@ -197,7 +197,7 @@ container.create_item(item)
|
||||
print("Document inserted.")
|
||||
```
|
||||
### MongoDB
|
||||
MongoDB NoSQL API는 JSON과 유사한 BSON(이진 JSON)을 데이터 형식으로 사용하는 문서 기반 API입니다. 이 API는 집계 기능을 갖춘 쿼리 언어를 제공하여 구조화된, 반구조화된 및 비구조화된 데이터 작업에 적합합니다. 서비스의 엔드포인트는 일반적으로 다음 형식을 따릅니다:
|
||||
MongoDB NoSQL API는 JSON과 유사한 BSON(이진 JSON)을 데이터 형식으로 사용하는 문서 기반 API입니다. 이 API는 집계 기능이 있는 쿼리 언어를 제공하여 구조화된, 반구조화된 및 비구조화된 데이터 작업에 적합합니다. 서비스의 엔드포인트는 일반적으로 다음 형식을 따릅니다:
|
||||
```bash
|
||||
mongodb://<hostname>:<port>/<database>
|
||||
```
|
||||
@@ -209,8 +209,8 @@ MongoDB에서 데이터 저장의 핵심 단위는 컬렉션으로, 문서를
|
||||
|
||||
#### 요청 단위(RU) 유형의 주요 기능
|
||||
**글로벌 분산**: 지역 간 복제를 위한 Geo-Redundancy를 활성화하거나 비활성화하고 가용성을 개선하기 위한 다중 지역 쓰기를 지원합니다.
|
||||
**네트워킹 및 보안**: 공용(모든/선택 네트워크) 또는 개인 엔드포인트 간의 연결을 제공합니다. TLS 1.2 암호화를 통한 안전한 연결을 지원합니다. 리소스에 대한 제어된 접근을 위해 CORS(교차 출처 리소스 공유)를 지원합니다. 연결을 위해 키를 사용할 수 있습니다.
|
||||
**백업 및 복구**: 주기적, 지속적(7일, 무료) 또는 지속적(30일, 유료) 백업 정책을 통해 구성 가능한 간격 및 보존과 함께 제공합니다.
|
||||
**네트워킹 및 보안**: 공용(모든/선택 네트워크) 또는 개인 엔드포인트 간의 연결을 지원합니다. TLS 1.2 암호화를 통한 안전한 연결을 제공합니다. 리소스에 대한 제어된 접근을 위해 CORS(교차 출처 리소스 공유)를 지원합니다. 연결을 위해 키를 사용할 수 있습니다.
|
||||
**백업 및 복구**: 주기적, 지속적(7일, 무료) 또는 지속적(30일, 유료) 백업 정책을 통해 구성 가능한 간격 및 보존 기간으로 백업합니다.
|
||||
**데이터 암호화**: 기본 서비스 관리 키 또는 고객 관리 키(CMK)를 통한 암호화(CMK 선택은 되돌릴 수 없습니다).
|
||||
|
||||
#### vCore 클러스터 유형의 주요 기능
|
||||
@@ -300,7 +300,7 @@ Get-AzCosmosDBMongoDBRoleDefinition -AccountName <account-name> -ResourceGroupNa
|
||||
|
||||
#### 연결
|
||||
|
||||
CosmoDB의 RU MongoDB 유형에는 2가지 키 유형이 있습니다: 읽기-쓰기(전체) 및 읽기 전용. 이들은 Cosmos DB 계정 내의 모든 데이터베이스, 컬렉션 및 데이터에 대한 액세스를 제공합니다. 비밀번호는 키를 사용하거나 privesc 섹션에 설명된 방법을 사용할 수 있습니다.
|
||||
CosmoDB의 RU MongoDB 유형에는 2가지 키 유형이 있습니다: 읽기-쓰기(전체) 및 읽기 전용. 이들은 Cosmos DB 계정 내의 모든 데이터베이스, 컬렉션 및 데이터에 대한 액세스를 제공합니다. 비밀번호는 키를 사용하거나 권한 상승 섹션에 설명된 방법을 사용할 수 있습니다.
|
||||
```python
|
||||
from pymongo import MongoClient
|
||||
|
||||
@@ -359,7 +359,7 @@ mongosh "mongodb://<myUser>:<mySecurePassword>@<account_name>.mongo.cosmos.azure
|
||||
|
||||
## ToDo
|
||||
|
||||
* 여기 DB의 나머지 부분, 테이블, 카산드라, 그렘린...
|
||||
* 여기 DB의 나머지, 테이블, 카산드라, 그렘린...
|
||||
* 포스트 익스플로잇 "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read" 및 역할 정의를 살펴보세요. 여기서 권한 상승이 있을 수 있습니다.
|
||||
* 복원 살펴보기
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ Azure Logic Apps는 **Logic App 자체 없이 단일 워크플로우를 생성
|
||||
- 높은 처리량: 이 설정은 Logic App이 더 많은 요청을 신속하게 처리할 수 있도록 합니다.
|
||||
- 실행 기록 보존: Logic App 실행의 기록이 유지되는 기간입니다.
|
||||
|
||||
워크플로우가 가진 다양한 API 연결을 볼 수 있습니다. 각 연결 내부에는 다양한 속성이 있으며, 인증 유형을 변경할 수 있는 API 연결을 편집할 수 있는 가능성이 있습니다.
|
||||
워크플로우가 가진 다양한 API 연결을 볼 수 있습니다. 이러한 연결 내에서 서로 다른 속성과 API 연결을 편집할 수 있는 가능성이 있으며, 인증 유형을 변경할 수 있습니다.
|
||||
|
||||
**기록 및 버전:**
|
||||
다양한 실행의 **기록**에 접근할 수 있는 옵션이 있으며, 설정, 출력, 매개변수 및 코드를 보여줍니다.
|
||||
@@ -89,7 +89,7 @@ Azure Logic Apps는 유효한 액세스 토큰을 요구하여 요청 기반 트
|
||||
- JWT ID (JSON 웹 토큰 식별자)
|
||||
- 사용자 정의 클레임
|
||||
|
||||
요청이 수신되면, Logic Apps는 이러한 클레임에 대해 토큰을 검증하고, 구성된 정책과 일치하는 경우에만 실행을 허용합니다. 이는 다른 테넌트가 워크플로우를 트리거하도록 허용하거나, 예를 들어 https://login.microsoftonline.com/에서 오는 트리거만 허용하는 등의 방식으로 다른 소스의 트리거를 거부하는 데 사용될 수 있습니다.
|
||||
요청이 수신되면, Logic Apps는 이러한 클레임에 대해 토큰을 검증하고, 구성된 정책과 일치하는 경우에만 실행을 허용합니다. 이는 다른 테넌트가 워크플로우를 트리거하도록 허용하거나 다른 출처에서의 트리거를 거부하는 데 사용할 수 있습니다. 예를 들어, https://login.microsoftonline.com/에서 오는 트리거만 허용할 수 있습니다.
|
||||
|
||||
**액세스 키:**
|
||||
요청 기반 트리거를 처음 저장할 때, Logic Apps는 워크플로우를 호출할 수 있는 권한을 부여하는 SAS 서명이 포함된 고유한 엔드포인트를 자동으로 생성합니다. 이 SAS 서명은 트리거의 URL에 포함됩니다. 이 키는 재생성할 수 있으며, 새로운 SAS 서명을 제공하지만, 키는 나열할 수 없습니다.
|
||||
@@ -203,19 +203,19 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
### 통합 계정
|
||||
**통합 계정**은 Azure Logic Apps의 기능입니다. 통합 계정은 EDI, AS2 및 XML 스키마 관리를 포함한 고급 B2B 기능을 활성화하여 기업 수준의 통합을 용이하게 합니다. 통합 계정은 Logic Apps에 사용되는 다음 아티팩트를 저장하는 Azure의 컨테이너입니다:
|
||||
### Integration Accounts
|
||||
**Integration Accounts**는 Azure Logic Apps의 기능입니다. Integration Accounts는 EDI, AS2 및 XML 스키마 관리를 포함한 고급 B2B 기능을 활성화하여 기업 수준의 통합을 용이하게 합니다. Integration Accounts는 Logic Apps에 사용되는 다음 아티팩트를 저장하는 Azure의 컨테이너입니다:
|
||||
|
||||
* 스키마: 통합 계정에서 메시지를 검증하고 처리하기 위한 XML 스키마를 관리합니다.
|
||||
* 맵: 통합 워크플로 내에서 데이터 형식을 변환하기 위해 XSLT 기반 변환을 구성합니다.
|
||||
* 어셈블리: 논리 및 데이터 처리를 간소화하기 위해 통합 계정 어셈블리를 관리합니다.
|
||||
* 인증서: 메시지를 암호화하고 서명하기 위한 인증서를 처리하여 안전한 통신을 보장합니다.
|
||||
* 파트너: B2B 거래를 위한 거래 파트너 정보를 관리하여 원활한 통합을 가능하게 합니다.
|
||||
* 계약: 거래 파트너와 데이터 교환을 위한 규칙 및 설정을 구성합니다 (예: EDI, AS2).
|
||||
* 배치 구성: 메시지를 효율적으로 그룹화하고 처리하기 위한 배치 처리 구성을 관리합니다.
|
||||
* RosettaNet PIP: B2B 통신을 표준화하기 위해 RosettaNet 파트너 인터페이스 프로세스(PIPs)를 구성합니다.
|
||||
* Schemas: 통합 계정에서 메시지를 검증하고 처리하기 위한 XML 스키마를 관리합니다.
|
||||
* Maps: 통합 워크플로 내에서 데이터 형식을 변환하기 위해 XSLT 기반 변환을 구성합니다.
|
||||
* Assemblies: 논리 및 데이터 처리를 간소화하기 위해 통합 계정 어셈블리를 관리합니다.
|
||||
* Certificates: 메시지를 암호화하고 서명하기 위한 인증서를 처리하여 안전한 통신을 보장합니다.
|
||||
* Partners: B2B 거래를 위한 거래 파트너 정보를 관리하여 원활한 통합을 가능하게 합니다.
|
||||
* Agreements: 거래 파트너와 데이터 교환을 위한 규칙 및 설정을 구성합니다 (예: EDI, AS2).
|
||||
* Batch Configurations: 메시지를 효율적으로 그룹화하고 처리하기 위한 배치 처리 구성을 관리합니다.
|
||||
* RosettaNet PIP: B2B 통신을 표준화하기 위해 RosettaNet Partner Interface Processes (PIPs)를 구성합니다.
|
||||
|
||||
#### 열거
|
||||
#### Enumeration
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -281,7 +281,7 @@ az logic integration-account assembly show \
|
||||
{{#endtab }}
|
||||
|
||||
{{#tab name="Az Powershell" }}
|
||||
```powershell
|
||||
```bash
|
||||
Get-Command -Module Az.LogicApp
|
||||
|
||||
# Retrieve details of an integration account
|
||||
|
||||
Reference in New Issue
Block a user