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

This commit is contained in:
Translator
2025-02-20 23:14:37 +00:00
parent 84b7325212
commit 3c1c0d5daa
7 changed files with 74 additions and 199 deletions

View File

@@ -1,29 +0,0 @@
# Az - Queue Storage Persistence
{{#include ../../../banners/hacktricks-training.md}}
## Queue
詳細については、次を確認してください:
{{#ref}}
../az-services/az-queue.md
{{#endref}}
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
この権限により、攻撃者はストレージアカウント内のキューおよびそのプロパティを作成または変更できます。これを使用して、不正なキューを作成したり、メタデータを変更したり、アクセス制御リストACLを変更してアクセスを付与または制限したりできます。この機能は、ワークフローを妨害したり、悪意のあるデータを注入したり、機密情報を抽出したり、さらなる攻撃を可能にするためにキュー設定を操作したりする可能性があります。
```bash
az storage queue create --name <new-queue-name> --account-name <storage-account>
az storage queue metadata update --name <queue-name> --metadata key1=value1 key2=value2 --account-name <storage-account>
az storage queue policy set --name <queue-name> --permissions rwd --expiry 2024-12-31T23:59:59Z --account-name <storage-account>
```
## 参考文献
- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues)
- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api)
- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes)
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,20 +0,0 @@
# Az - SQL Persistence
{{#include ../../../banners/hacktricks-training.md}}
## SQL
詳細については、次を確認してください:
{{#ref}}
../az-services/az-sql.md
{{#endref}}
### 一般的な永続化技術
- SQL資格情報を侵害するか、SQLユーザーを作成する必要に応じてSQL認証を有効にする
- 侵害されたユーザーをEntra ID管理者として割り当てる必要に応じてEntra ID認証を有効にする
- VMにバックドアを設置するSQL VMが使用されている場合
- SQLデータベースへのアクセスを維持するためにFWルールを作成する
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -3,23 +3,35 @@
{{#include ../../../banners/hacktricks-training.md}}
## CosmosDB ポストエクスプロイテーション
SQL データベースに関する詳細情報は、以下を確認してください:
SQL Database に関する詳細情報は、以下を確認してください:
{{#ref}}
../az-services/az-cosmosDB.md
{{#endref}}
### `Microsoft.DocumentDB/databaseAccounts/read` && `Microsoft.DocumentDB/databaseAccounts/write`
この権限を持つことで、Azure Cosmos DB アカウントを作成または更新できます。これには、アカウントレベルの設定の変更、リージョンの追加または削除、一貫性レベルの変更、マルチリージョン書き込みのような機能の有効化または無効化が含まれます。
この権限を持つことで、Azure Cosmos DB アカウントを作成または更新できます。これには、アカウントレベルの設定の変更、自動フェイルオーバーの有効化または無効化、ネットワークアクセス制御の管理、バックアップポリシーの設定、一貫性レベルの調整が含まれます。この権限を持つ攻撃者は、設定を変更してセキュリティ制御を弱体化させたり、可用性を妨害したり、ネットワークルールを変更してデータを抽出したりする可能性があります。
```bash
az cosmosdb update \
--name <account_name> \
--resource-group <resource_group_name> \
--public-network-access ENABLED
```
```bash
az cosmosdb update \
--account-name <account_name> \
--resource-group <resource_group_name> \
--capabilities EnableMongoRoleBasedAccessControl
```
アカウントでマネージドアイデンティティを有効にすることもできます:
```bash
az cosmosdb identity assign \
--name <cosmosdb_account_name> \
--resource-group <resource_group_name>
```
### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write`
この権限を持つことで、Azure Cosmos DB アカウントの SQL データベース内コンテナ(コレクション)を作成または変更できます。コンテナはデータを保存するために使用され、その変更はデータベースの構造やアクセスパターンに影響を与える可能性があります。
この権限を持つことで、Azure Cosmos DB アカウントの SQL データベース内コンテナ(コレクション)を作成または変更できます。コンテナはデータを保存するために使用され、その変更はデータベースの構造やアクセスパターンに影響を与える可能性があります。
```bash
# Create
az cosmosdb sql container create \
@@ -38,7 +50,7 @@ az cosmosdb sql container update \
--ttl 3600
```
### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read`
この権限を使用すると、Azure Cosmos DB アカウント内で SQL データベースを作成または変更できます。これにより、データベースの構造を管理し、新しいデータベースをアカウントに追加することができます。この権限はデータベースの作成を可能にしますが、不適切または無許可の使用は、不必要なリソース消費、コストの増加、または運用の非効率を引き起こす可能性があります。
この権限を使用すると、Azure Cosmos DB アカウント内で SQL データベースを作成または変更できます。これにより、データベースの構造を管理し、新しいデータベースをアカウントに追加できます。この権限はデータベースの作成を可能にしますが、不適切または無許可の使用は、不必要なリソース消費、コストの増加、または運用の非効率を引き起こす可能性があります。
```bash
az cosmosdb sql database create \
--account-name <account_name> \
@@ -119,52 +131,4 @@ az cosmosdb mongodb database create \
--resource-group <resource_group_name> \
--name <database_name>
```
### `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read`
この権限を持つことで、Azure Cosmos DB アカウント内に新しい MongoDB ロール定義を作成できます。これにより、MongoDB ユーザーのために特定の権限を持つカスタムロールを定義できます。
```bash
az cosmosdb mongodb role definition create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--body '{
"Id": "<mydatabase>.readWriteRole",
"RoleName": "readWriteRole",
"Type": "CustomRole",
"DatabaseName": "<mydatabase>",
"Privileges": [
{
"Resource": {
"Db": "<mydatabase>",
"Collection": "mycollection"
},
"Actions": [
"insert",
"find",
"update"
]
}
],
"Roles": []
}'
```
### `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read`
この権限を使用すると、Azure Cosmos DB アカウント内に新しい MongoDB ユーザー定義を作成できます。これにより、特定の役割とアクセスレベルを持つユーザーを MongoDB データベースにプロビジョニングできます。
```bash
az cosmosdb mongodb user definition create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--body '{
"Id": "<mydatabase>.myUser",
"UserName": "myUser",
"Password": "mySecurePassword",
"DatabaseName": "<mydatabase>",
"CustomData": "TestCustomData",
"Mechanisms": "SCRAM-SHA-256",
"Roles": [
{
"Role": "readWriteRole",
"Db": "<mydatabase>"
}
]
}'
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -43,12 +43,63 @@ az cosmosdb sql role assignment create \
--principal-id <principal_id-togive-perms> \
--scope "/"
```
### (`Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions/read`)&& (`Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write` && `Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read`)
この権限を持つことで、Azure Cosmos DB アカウント内に新しい MongoDB ロール定義を作成できます。これにより、MongoDB ユーザーのために特定の権限を持つカスタムロールを定義できます。これを使用するには、RBAC 機能を有効にする必要があります。
```bash
az cosmosdb mongodb role definition create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--body '{
"Id": "<mydatabase>.readWriteRole",
"RoleName": "readWriteRole",
"Type": "CustomRole",
"DatabaseName": "<mydatabase>",
"Privileges": [
{
"Resource": {
"Db": "<mydatabase>",
"Collection": "mycollection"
},
"Actions": [
"insert",
"find",
"update"
]
}
],
"Roles": []
}'
```
Azure Cosmos DB アカウント内で新しい MongoDB ユーザー定義を作成できます。これにより、特定の役割と MongoDB データベースへのアクセスを持つユーザーのプロビジョニングが可能になります。
```bash
az cosmosdb mongodb user definition create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--body '{
"Id": "<mydatabase>.myUser",
"UserName": "<myUser>",
"Password": "<mySecurePassword>",
"DatabaseName": "<mydatabase>",
"CustomData": "TestCustomData",
"Mechanisms": "SCRAM-SHA-256",
"Roles": [
{
"Role": "readWriteRole",
"Db": "<mydatabase>"
}
]
}'
```
MongoDB内に新しいユーザーが作成された後、私たちはそれにアクセスできます:
```bash
mongosh "mongodb://<myUser>:<mySecurePassword>@<account_name>.mongo.cosmos.azure.com:10255/<mymongodatabase>?ssl=true&replicaSet=globaldb&retrywrites=false"
```
### `Microsoft.DocumentDB/databaseAccounts/listKeys/action`
この権限を持つことで、Azure Cosmos DB アカウントのプライマリキーとセカンダリキーを取得できます。これらのキーはデータベースアカウントとそのリソースへの完全なアクセスを提供し、データの読み取り、書き込み、設定変更などのアクションを可能にします。
```bash
az cosmosdb keys list \
--name <account_name> \
--resource-group <resource_group_name>
```
{{#include ../../../banners/hacktricks-training.md}}