Az - CosmosDB Post Exploitation

Tip

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

Ondersteun HackTricks

CosmosDB Post Exploitation

Vir meer inligting oor SQL Database, kyk:

Az - CosmosDB

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

Met hierdie toestemming kan jy Azure Cosmos DB-rekeninge skep of opdateer. Dit sluit die aanpassing van rekeningvlak konfigurasies in, die inskakeling of deaktivering van outomatiese failover, die bestuur van netwerktoegangbeheer, die instelling van rugsteunbeleide, en die aanpassing van konsekwentievlakke. Aanvallers met hierdie toestemming kan instellings verander om sekuriteitsbeheer te verswak, beskikbaarheid te ontwrig, of data te eksfiltreer deur netwerkreëls te verander.

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

Boonop kan jy bestuurde identiteite in die rekening inskakel:

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

Met hierdie toestemming kan jy houers (versamelings) binne ’n SQL-databasis van ’n Azure Cosmos DB-rekening skep of wysig. Houers word gebruik om data te stoor, en veranderinge aan hulle kan die databasis se struktuur en toegangspatrone beïnvloed.

# 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

Met hierdie toestemming kan jy SQL-databasisse binne ’n Azure Cosmos DB-rekening skep of wysig. Dit stel jou in staat om die databasisstruktuur te bestuur en nuwe databasisse aan die rekening toe te voeg. Terwyl hierdie toestemming databasiscreatie moontlik maak, kan onvanpaste of ongeoorloofde gebruik lei tot onnodige hulpbronverbruik, verhoogde koste, of operasionele ondoeltreffendhede.

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

Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action

Met hierdie toestemming kan jy die failover prioriteit van streke vir ’n Azure Cosmos DB databasisrekening verander. Hierdie aksie bepaal die volgorde waarin streke primêr word tydens ’n failover gebeurtenis. Onbehoorlike gebruik van hierdie toestemming kan die hoë beskikbaarheid van die databasis ontwrig of lei tot onbedoelde operasionele impakte.

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

Met hierdie toestemming kan jy die primêre of sekondêre sleutels vir ’n Azure Cosmos DB-rekening hergenerer. Dit word tipies gebruik om sekuriteit te verbeter deur ou sleutels te vervang, maar dit kan toegang vir dienste of toepassings wat op die huidige sleutels staatmaak, ontwrig.

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

Met hierdie toestemming kan jy triggers binne ’n houer van ’n SQL-databasis in ’n Azure Cosmos DB-rekening skep of wysig. Triggers stel jou in staat om bediener-kant logika uit te voer in reaksie op operasies.

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

Met hierdie toestemming kan jy gestoor prosedures binne ’n houer van ’n SQL-databasis in ’n Azure Cosmos DB-rekening skep of wysig. Gestoor prosedures in Cosmos DB is bediener-kant JavaScript funksies wat jou toelaat om logika vir die verwerking van data of die uitvoering van operasies direk binne die databasis te enkapsuleer.

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

Met hierdie toestemming kan jy triggers binne ’n houer van ’n SQL-databasis in ’n Azure Cosmos DB-rekening skep of wysig. Triggers stel jou in staat om bediener-kant logika uit te voer in reaksie op operasies soos inskrywings, opdaterings of verwyderings.

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

Met hierdie toestemming kan jy versamelinge binne MongoDB-databasisse in ’n Azure Cosmos DB-rekening skep of wysig. Versamelinge word gebruik om dokumente te stoor en die struktuur en partitionering van data te definieer.

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

Met hierdie toestemming kan jy nuwe MongoDB-databasisse binne ’n Azure Cosmos DB-rekening skep. Dit stel jou in staat om nuwe databasisse te voorsien om versamelings en dokumente te stoor en te bestuur.

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

Tip

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

Ondersteun HackTricks