Az - CosmosDB Post Exploitation
Reading time: 7 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
CosmosDB Post Exploitation
Pour plus d'informations sur SQL Database, consultez :
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 et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.