Az - CosmosDB Post Exploitation

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

CosmosDB Post Exploitation

Pour plus d’informations sur SQL Database, consultez :

Az - CosmosDB

Microsoft.DocumentDB/databaseAccounts/read && Microsoft.DocumentDB/databaseAccounts/write

Avec cette autorisation, vous pouvez crĂ©er ou mettre Ă  jour des comptes Azure Cosmos DB. Cela inclut la modification des configurations au niveau du compte, l’activation ou la dĂ©sactivation de la bascule automatique, la gestion des contrĂŽles d’accĂšs rĂ©seau, la dĂ©finition des politiques de sauvegarde et l’ajustement des niveaux de cohĂ©rence. Les attaquants disposant de cette autorisation pourraient modifier les paramĂštres pour affaiblir les contrĂŽles de sĂ©curitĂ©, perturber la disponibilitĂ© ou exfiltrer des donnĂ©es en modifiant les rĂšgles rĂ©seau.

az cosmosdb update \
--name <account_name> \
--resource-group <resource_group_name> \
--public-network-access ENABLED
az cosmosdb update \
--account-name <account_name> \
--resource-group <resource_group_name> \
--capabilities EnableMongoRoleBasedAccessControl

De plus, vous pouvez activer les identités gérées dans le compte :

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

Avec cette autorisation, vous pouvez crĂ©er ou modifier des conteneurs (collections) au sein d’une base de donnĂ©es SQL d’un compte Azure Cosmos DB. Les conteneurs sont utilisĂ©s pour stocker des donnĂ©es, et les modifications apportĂ©es peuvent affecter la structure de la base de donnĂ©es et les modĂšles d’accĂšs.

# Create
az cosmosdb sql container create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <database_name> \
--name <container_name> \
--partition-key-path <partition_key_path>

#Update
az cosmosdb sql container update \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <database_name> \
--name <container_name> \
--ttl 3600

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write && Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read

Avec cette autorisation, vous pouvez crĂ©er ou modifier des bases de donnĂ©es SQL au sein d’un compte Azure Cosmos DB. Cela permet de gĂ©rer la structure de la base de donnĂ©es et d’ajouter de nouvelles bases de donnĂ©es au compte. Bien que cette autorisation permette la crĂ©ation de bases de donnĂ©es, une utilisation inappropriĂ©e ou non autorisĂ©e pourrait entraĂźner une consommation de ressources inutile, des coĂ»ts accrus ou des inefficacitĂ©s opĂ©rationnelles.

az cosmosdb sql database create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--name <database_name>

Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action

Avec cette autorisation, vous pouvez changer la prioritĂ© de basculement des rĂ©gions pour un compte de base de donnĂ©es Azure Cosmos DB. Cette action dĂ©termine l’ordre dans lequel les rĂ©gions deviennent primaires lors d’un Ă©vĂ©nement de basculement. Une utilisation incorrecte de cette autorisation peut perturber la haute disponibilitĂ© de la base de donnĂ©es ou entraĂźner des impacts opĂ©rationnels non souhaitĂ©s.

az cosmosdb failover-priority-change \
--name <database_account_name> \
--resource-group <resource_group_name> \
--failover-policies <region1=priority1> <region2=priority2>

Microsoft.DocumentDB/databaseAccounts/regenerateKey/action

Avec cette autorisation, vous pouvez rĂ©gĂ©nĂ©rer les clĂ©s primaire ou secondaire pour un compte Azure Cosmos DB. Cela est gĂ©nĂ©ralement utilisĂ© pour amĂ©liorer la sĂ©curitĂ© en remplaçant les anciennes clĂ©s, mais cela peut perturber l’accĂšs pour les services ou applications qui dĂ©pendent des clĂ©s actuelles.

az cosmosdb keys regenerate \
--name <account_name> \
--resource-group <resource_group_name> \
--key-kind <primary|secondary>

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/write && Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/read

Avec cette autorisation, vous pouvez crĂ©er ou modifier des dĂ©clencheurs au sein d’un conteneur d’une base de donnĂ©es SQL dans un compte Azure Cosmos DB. Les dĂ©clencheurs vous permettent d’exĂ©cuter une logique cĂŽtĂ© serveur en rĂ©ponse Ă  des opĂ©rations.

az cosmosdb sql trigger create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <sql_database_name> \
--container-name <container_name> \
--name <trigger_name> \
--body 'function trigger() { var context = getContext(); var request = context.getRequest(); request.setBody("Triggered operation!"); }' \
--type Pre \
--operation All

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/write && Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/read

Avec cette autorisation, vous pouvez crĂ©er ou modifier des procĂ©dures stockĂ©es au sein d’un conteneur d’une base de donnĂ©es SQL dans un compte Azure Cosmos DB. Les procĂ©dures stockĂ©es dans Cosmos DB sont des fonctions JavaScript cĂŽtĂ© serveur qui vous permettent d’encapsuler la logique de traitement des donnĂ©es ou d’effectuer des opĂ©rations directement dans la base de donnĂ©es.

az cosmosdb sql stored-procedure create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <sql_database_name> \
--container-name <container_name> \
--name <stored_procedure_name> \
--body 'function sample() { return "Hello, Cosmos!"; }'

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write && Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read

Avec cette autorisation, vous pouvez crĂ©er ou modifier des dĂ©clencheurs au sein d’un conteneur d’une base de donnĂ©es SQL dans un compte Azure Cosmos DB. Les dĂ©clencheurs vous permettent d’exĂ©cuter une logique cĂŽtĂ© serveur en rĂ©ponse Ă  des opĂ©rations telles que des insertions, des mises Ă  jour ou des suppressions.

az cosmosdb sql trigger create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <sql_database_name> \
--container-name <container_name> \
--name <trigger_name> \
--body 'function trigger() { var context = getContext(); var request = context.getRequest(); request.setBody("Triggered operation!"); }' \
--type Pre \
--operation All

Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/read && Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/write

Avec cette autorisation, vous pouvez créer ou modifier des collections au sein des bases de données MongoDB dans un compte Azure Cosmos DB. Les collections sont utilisées pour stocker des documents et définir la structure et le partitionnement des données.

az cosmosdb mongodb collection create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <mongodb_database_name> \
--name <collection_name>

Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/write && Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/read

Avec cette autorisation, vous pouvez crĂ©er de nouvelles bases de donnĂ©es MongoDB au sein d’un compte Azure Cosmos DB. Cela permet de provisionner de nouvelles bases de donnĂ©es pour stocker et gĂ©rer des collections et des documents.

az cosmosdb mongodb database create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--name <database_name>

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks