Translated ['src/pentesting-cloud/azure-security/az-post-exploitation/az

This commit is contained in:
Translator
2025-02-22 16:15:36 +00:00
parent e88b390ead
commit 3e52e2c453
4 changed files with 28 additions and 28 deletions

View File

@@ -2,7 +2,7 @@
{{#include ../../../banners/hacktricks-training.md}}
## Logic Apps 数据库后期利用
## Logic Apps 数据库后渗透
有关逻辑应用的更多信息,请查看:
{{#ref}}
@@ -10,7 +10,7 @@
{{#endref}}
### `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
拥有这些权限,您可以修改逻辑应用工作流并管理其身份。具体来说,您可以将系统分配和用户分配的托管身份分配或移除到工作流,这使得逻辑应用能够在没有显式凭据的情况下进行身份验证并访问其他 Azure 资源。
通过这些权限,您可以修改逻辑应用工作流并管理其身份。具体而言,您可以将系统分配和用户分配的托管身份分配或移除到工作流,这使得逻辑应用能够在没有显式凭据的情况下进行身份验证并访问其他 Azure 资源。
```bash
az logic workflow identity remove/assign \
--name <workflow_name> \
@@ -66,7 +66,7 @@ az logicapp update \
--set httpsOnly=false
```
### `Microsoft.Web/sites/stop/action`, `Microsoft.Web/sites/start/action` || `Microsoft.Web/sites/restart/action`
拥有此权限,您可以启动/停止/重启一个 web 应用,包括托管在 App Service Plan 上的 Logic Apps。此操作确保之前停止的应用程序重新上线并恢复其功能。这可能会干扰工作流程触发意外操作或通过意外启动、停止或重启 Logic Apps 导致停机。
拥有此权限,您可以启动/停止/重启一个 web 应用,包括托管在应用服务计划上的 Logic Apps。此操作确保之前停止的应用程序重新上线并恢复其功能。这可能会干扰工作流程触发意外操作或通过意外启动、停止或重启 Logic Apps 导致停机。
```bash
az webapp start/stop/restart \
--name <logic_app_name> \
@@ -116,7 +116,7 @@ az logic integration-account map create \
--map-content map-content.xslt
```
### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/partners/write`
拥有此权限,您可以在 Azure Logic Apps 集成帐户中创建或修改合作伙伴。合作伙伴代表参与企业对企业B2B工作流的实体或系统。
通过此权限,您可以在 Azure Logic Apps 集成帐户中创建或修改合作伙伴。合作伙伴代表参与企业对企业 (B2B) 工作流的实体或系统。
```bash
az logic integration-account partner create \
--resource-group <resource_group_name> \
@@ -135,7 +135,7 @@ az logic integration-account partner create \
}'
```
### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/sessions/write`
通过此权限,您可以在 Azure Logic Apps 集成帐户中创建或修改会话。会话用于 B2B 工作流,以在定义的时间段内对消息进行分组并跟踪相关交易。
拥有此权限,您可以在 Azure Logic Apps 集成帐户中创建或修改会话。会话用于 B2B 工作流,以在定义的时间段内对消息进行分组并跟踪相关交易。
```bash
az logic integration-account session create \
--resource-group <resource_group_name> \

View File

@@ -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"
```
这将返回一个回调 URL`https://prod-28.centralus.logic.azure.com:443/workflows/....`。现在我们可以用以下命令运行它:
这将返回一个回调 URL`https://prod-28.centralus.logic.azure.com:443/workflows/....`。现在我们可以用以下方式运行它:
```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>" \

View File

@@ -4,13 +4,13 @@
## Azure CosmosDB
**Azure Cosmos DB** 是一个完全 **托管的 NoSQL、关系和向量数据库**,提供单毫秒级响应时间、自动扩展和具有企业级安全性的 SLA 支持的可用性。它通过即即用的多区域数据分发、流行语言的开源 API、SDK 和集成向量支持及无缝 Azure AI 集成等 AI 数据库功能,加速应用程序开发。
**Azure Cosmos DB** 是一个完全 **托管的 NoSQL、关系和向量数据库**,提供单毫秒级响应时间、自动扩展和具有企业级安全性的 SLA 支持的可用性。它通过即即用的多区域数据分发、流行语言的开源 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。通过该户,您可以配置全球复制,以确保数据在多个区域可用,以实现低延迟访问。此外,您可以选择在性能和数据准确性之间取得平衡的一致性级别,选项范围从强一致性到最终一致性。
CosmosDB 的一个关键方面是 Azure Cosmos 账户。**Azure Cosmos 账户** 作为数据库的入口点。该账户决定关键设置,如全球分布、一致性级别和要使用的特定 API例如 NoSQL。通过该户,您可以配置全球复制,以确保数据在多个区域可用,以实现低延迟访问。此外,您可以选择在性能和数据准确性之间取得平衡的一致性级别,选项范围从强一致性到最终一致性。
Azure Cosmos DB 支持 **用户分配的身份****系统分配的托管身份**这些身份会自动创建并与资源的生命周期绑定。然而Cosmos DB 没有内置机制直接查询外部数据源,如 Azure Blob Storage。与 SQL Server 的外部表功能不同Cosmos DB 需要使用 Azure Data Factory、数据迁移工具或自定义脚本等外部工具将数据导入其容器然后才能使用其本查询功能进行查询。
Azure Cosmos DB 支持 **用户分配的身份****系统分配的托管身份**这些身份会自动创建并与资源的生命周期绑定。然而Cosmos DB 没有内置机制直接查询外部数据源,如 Azure Blob Storage。与 SQL Server 的外部表功能不同Cosmos DB 需要使用 Azure Data Factory、数据迁移工具或自定义脚本等外部工具将数据导入其容器然后才能使用其本查询功能进行查询。
### NoSQL
Azure Cosmos DB NoSQL API 是一个基于文档的 API使用 JSON 作为其数据格式。它提供类似 SQL 的查询语法来查询 JSON 对象,使其适合处理结构化和半结构化数据。该服务的端点是:
@@ -21,12 +21,12 @@ https://<Account-Name>.documents.azure.com:443/
在一个帐户内,您可以创建一个或多个数据库,这些数据库作为容器的逻辑分组。数据库充当资源管理和用户权限的边界。数据库可以让多个容器使用共享的性能容量池,或者为每个容器提供其自己的专用能力。
#### 容器
数据存储的核心单元是容器,它保存 JSON 文档并自动进行索引以实现高效查询。容器具有弹性可扩展性,并分布在由用户定义的分区键确定的分区中。分区键对于确保最佳性能和均匀数据分布至关重要。例如,一个容器可能存储客户数据,"customerId" 作为分区键。
数据存储的核心单元是容器,它保存 JSON 文档并自动建立索引以便高效查询。容器具有弹性可扩展性,并分布在由用户定义的分区键确定的分区中。分区键对于确保最佳性能和均匀数据分布至关重要。例如,一个容器可能存储客户数据,"customerId" 作为分区键。
#### 关键特性
- **全球分布**:启用或禁用地理冗余以进行跨区域复制和多区域写入以提高可用性。
- **网络与安全**:在公共(所有/选择网络)或私有端点之间进行连接。使用 TLS 1.2 加密进行安全连接。支持 CORS跨源资源共享以控制对资源的访问。可以启用 Microsoft Defender for Cloud。要建立连接您可以使用密钥。
- **备份与恢复**来自定期、连续7 天或连续30 天)备份策略,具有可配置的间隔和保留。
- **网络与安全**:在公共(所有/选择网络)或私有端点之间进行连接。使用 TLS 1.2 加密进行安全连接。支持 CORS跨源资源共享以控制对资源的访问。可以启用 Microsoft Defender for Cloud。要建立连接您可以使用密钥。
- **备份与恢复**定期、连续7 天或连续30 天)备份策略中选择,具有可配置的间隔和保留
- **数据加密**默认服务管理密钥或客户管理密钥CMK用于加密CMK 选择是不可逆的)。
#### 枚举
@@ -131,8 +131,8 @@ Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "<ResourceGroupName>" -A
#### 连接
它有两种关键类型,读写(完全)和只读。它们提供对 Cosmos DB户内所有数据库、集合和数据的访问。
要连接 azure-cosmosDBpip install azure-cosmos,需要该库。此外,端点和密钥是建立连接的关键组件。
它有两种关键类型读写完全和只读。它们提供对Cosmos DB户内所有数据库、集合和数据的指示访问。
要连接azure-cosmosDBpip install azure-cosmos是必需的。此外,端点和密钥是建立连接的关键组件。
```python
from azure.cosmos import CosmosClient, PartitionKey
@@ -208,15 +208,15 @@ mongodb://<hostname>:<port>/<database>
MongoDB 中的数据存储核心单元是集合,它保存文档,并设计用于高效查询和灵活的模式设计。集合具有弹性可扩展性,并可以支持在分布式设置中跨多个节点的高吞吐量操作。
#### 请求单位 (RU) 类型的关键特性
**全球分布**:启用或禁用地理冗余以进行跨区域复制和多区域写入以提高可用性。
**网络与安全**:在公共(所有/选择网络)或私有端点之间进行连接。使用 TLS 1.2 加密进行安全连接。支持 CORS跨源资源共享以控制对资源的访问。要建立连接您可以使用密钥。
**全球分布**:启用或禁用跨区域复制的地理冗余和多区域写入以提高可用性。
**网络与安全**:在公共(所有/选择网络)或私有端点之间进行连接。使用 TLS 1.2 加密安全连接。支持 CORS跨源资源共享以控制对资源的访问。要建立连接您可以使用密钥。
**备份与恢复**从定期、连续7 天免费或连续30 天,付费)备份策略中进行选择,具有可配置的间隔和保留。
**数据加密**默认服务管理密钥或客户管理密钥CMK用于加密CMK 选择是不可逆的)。
#### vCore 集群类型的关键特性
**全球分布**:在另一个 Azure 区域启用只读副本以实现高可用性和故障转移支持。配置副本名称、区域和每个分片的存储。
**网络与安全**:支持公共访问,分配公共 IP 和私有访问。使用防火墙规则限制连接——默认情况下,不允许公共 IP。
**加密连接**:强制使用 TLS 加密以确保数据传输安全。
**加密连接**:强制使用 TLS 加密以确保数据传输安全
#### 枚举
@@ -300,7 +300,7 @@ Get-AzCosmosDBMongoDBRoleDefinition -AccountName <account-name> -ResourceGroupNa
#### 连接
RU MongoDB 类型在 CosmoDB 中有 2 种关键类型,读写(完)和只读。它们提供对 Cosmos DB 账户内所有数据库、集合和数据的指示访问。
RU MongoDB 类型在 CosmoDB 中有 2 种关键类型,读写(完)和只读。它们提供对 Cosmos DB 账户内所有数据库、集合和数据的指示访问。
对于密码,您可以使用密钥或使用特权提升部分中描述的方法。
```python
from pymongo import MongoClient

View File

@@ -25,7 +25,7 @@ Logic Apps 提供了一个可视化设计器,可以使用 **广泛的预构建
### SSRF 保护
即使您发现 **Logic App 易受 SSRF 攻击**,也无法从元数据中访问凭据,因为 Logic Apps 不允许这样做。
即使您发现 **Logic App SSRF 漏洞**,也无法从元数据中访问凭据,因为 Logic Apps 不允许这样做。
例如,像这样的请求不会返回令牌:
```bash
@@ -41,7 +41,7 @@ curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e9741
* **Standard**
- **Workflow Service Plan**: 专用计算资源,具有 VNET 集成用于网络,并按工作流服务计划实例收费。适合需要更大控制的更高要求的工作负载。
- **App Service Environment V3** 专用计算资源,具有完全隔离和可扩展性。它还与 VNET 集成用于网络,并使用基于环境中 App Service 实例的定价模型。
- **Hybrid** 设计用于本地处理和多云支持。它允许客户管理的计算资源具有本地网络访问,并利用 Kubernetes 事件驱动的自动扩展KEDA。它依赖于容器应用连接环境。
- **Hybrid** 设计用于本地处理和多云支持。它允许客户管理的计算资源具有本地网络访问,并利用 Kubernetes 事件驱动的自动扩展KEDA。它依赖于容器应用连接环境。
### Key Features
- **Storage**: Logic Apps 需要一个外部 Azure 存储帐户来存储工作流状态、运行历史记录……并且必须与 Logic App 在同一资源组中。
@@ -72,7 +72,7 @@ Azure Logic apps 提供了 **创建单一工作流而无需 Logic App** 本身
- 允许的入站 IP 地址:此设置允许您限制谁可以触发或启动您的 Logic App。选项包括任何 IP、仅其他 Logic Apps 和特定 IP 范围。
- 集成帐户:在这里,您可以将 Logic App 链接到集成帐户。
- 高吞吐量:此设置使您的 Logic App 能够更快地处理更多请求。
- 运行历史保留:保留您 Logic App 执行历史的时间长度
- 运行历史保留:保留您 Logic App 执行历史的时间。
您可以查看工作流具有的不同 API 连接。在每个连接内部,它们具有不同的属性,并可以编辑 API 连接,其中身份验证类型可以更改。
@@ -82,7 +82,7 @@ Azure Logic apps 提供了 **创建单一工作流而无需 Logic App** 本身
还可以访问工作流的不同 **versions**,您可以检查代码并用其旧版本更改当前工作流。
**Authorization:**
Azure Logic Apps 支持使用 Entra ID 的 **authorization policies** 来保护基于请求的触发器,要求有效的访问令牌。此令牌必须包含特定声明:
Azure Logic Apps 支持使用 Entra ID 的 **authorization policies**,通过要求有效的访问令牌来保护基于请求的触发器。此令牌必须包含特定声明:
- Issuer (iss) 用于验证身份提供者
- Audience (aud) 确保令牌是针对 Logic App 的
- Subject (sub) 用于识别调用者
@@ -92,7 +92,7 @@ Azure Logic Apps 支持使用 Entra ID 的 **authorization policies** 来保护
当收到请求时Logic Apps 会根据这些声明验证令牌,并仅在匹配配置的策略时允许执行。这可以用于允许另一个租户触发工作流或拒绝来自其他来源的触发,例如仅允许来自 https://login.microsoftonline.com/ 的触发。
**Access Keys:**
当您第一次保存基于请求的触发器时Logic Apps 会自动创建一个有 SAS 签名的唯一端点(由访问密钥创建),该签名授予调用工作流的权限。此 SAS 签名嵌入在触发器的 URL 中。此密钥可以重新生成,并将提供新的 SAS 签名,但密钥不能列出。
当您第一次保存基于请求的触发器时Logic Apps 会自动创建一个有 SAS 签名的唯一端点(由访问密钥创建),该签名授予调用工作流的权限。此 SAS 签名嵌入在触发器的 URL 中。此密钥可以重新生成,并将提供新的 SAS 签名,但密钥不能列出。
使用访问密钥调用的 URL
@@ -210,10 +210,10 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
* 映射:配置基于 XSLT 的转换,以在集成工作流中转换数据格式。
* 程序集:管理集成帐户程序集,以简化逻辑和数据处理。
* 证书:处理用于加密和签名消息的证书,确保安全通信。
* 合作伙伴:管理 B2B 交易的交易伙伴信息,实现无缝集成。
* 伙伴:管理 B2B 交易的交易伙伴信息,实现无缝集成。
* 协议配置与交易伙伴交换数据的规则和设置例如EDI、AS2
* 批处理配置:管理批处理配置,以高效地分组和处理消息。
* RosettaNet PIP配置 RosettaNet 合作伙伴接口流程PIPs以标准化 B2B 通信。
* RosettaNet PIP配置 RosettaNet 伙伴接口流程PIPs以标准化 B2B 通信。
#### 枚举
@@ -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
@@ -317,7 +317,7 @@ Get-AzIntegrationAccountSchema -ResourceGroupName <resource-group-name> -Integra
## 权限提升
与逻辑应用程序权限提升相同:
与逻辑应用权限提升相同:
{{#ref}}
../az-privilege-escalation/az-logic-apps-privesc.md