mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-30 22:50:43 -08:00
Translated ['src/pentesting-cloud/azure-security/az-post-exploitation/az
This commit is contained in:
@@ -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}}
|
||||
@@ -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}}
|
||||
@@ -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}}
|
||||
|
||||
@@ -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}}
|
||||
|
||||
Reference in New Issue
Block a user