Az - CosmosDB Post Exploitation

Reading time: 6 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

CosmosDB Post Exploitation

Za više informacija o SQL bazi podataka, proverite:

Az - CosmosDB

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

Sa ovom dozvolom, možete kreirati ili ažurirati Azure Cosmos DB naloge. To uključuje modifikaciju konfiguracija na nivou naloga, omogućavanje ili onemogućavanje automatskog prebacivanja, upravljanje kontrolama pristupa mreži, postavljanje politika rezervnih kopija i prilagođavanje nivoa konzistentnosti. Napadači sa ovom dozvolom mogli bi da promene postavke kako bi oslabili bezbednosne kontrole, ometali dostupnost ili exfiltrirali podatke modifikovanjem mrežnih pravila.

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

Dodatno, možete omogućiti upravljane identitete u nalogu:

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

Sa ovom dozvolom, možete kreirati ili modifikovati kontejnere (kolekcije) unutar SQL baze podataka Azure Cosmos DB naloga. Kontejneri se koriste za skladištenje podataka, a promene u njima mogu uticati na strukturu baze podataka i obrasce pristupa.

bash
# 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

Sa ovom dozvolom, možete kreirati ili modifikovati SQL baze podataka unutar Azure Cosmos DB naloga. Ovo omogućava upravljanje strukturom baze podataka i dodavanje novih baza podataka u nalog. Iako ova dozvola omogućava kreiranje baza podataka, nepravilna ili neovlašćena upotreba može dovesti do nepotrebne potrošnje resursa, povećanih troškova ili operativnih neefikasnosti.

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

Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action

Sa ovom dozvolom, možete promeniti prioritet oporavka regiona za Azure Cosmos DB nalog baze podataka. Ova akcija određuje redosled u kojem regioni postaju primarni tokom događaja oporavka. Nepravilna upotreba ove dozvole može ometati visoku dostupnost baze podataka ili dovesti do nepredviđenih operativnih posledica.

bash
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

Sa ovom dozvolom, možete regenerisati primarne ili sekundarne ključeve za Azure Cosmos DB nalog. Ovo se obično koristi za poboljšanje bezbednosti zamenom starih ključeva, ali može ometati pristup uslugama ili aplikacijama koje se oslanjaju na trenutne ključeve.

bash
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

Sa ovom dozvolom, možete kreirati ili modifikovati okidače unutar kontejnera SQL baze podataka u Azure Cosmos DB nalogu. Okidači vam omogućavaju da izvršavate logiku na strani servera kao odgovor na operacije.

bash
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

Sa ovom dozvolom, možete kreirati ili modifikovati skladišne procedure unutar kontejnera SQL baze podataka u Azure Cosmos DB nalogu. Skladišne procedure u Cosmos DB su JavaScript funkcije na serverskoj strani koje vam omogućavaju da enkapsulirate logiku za obradu podataka ili izvršavanje operacija direktno unutar baze podataka.

bash
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

Sa ovom dozvolom, možete kreirati ili modifikovati okidače unutar kontejnera SQL baze podataka u Azure Cosmos DB nalogu. Okidači vam omogućavaju da izvršavate logiku na serveru kao odgovor na operacije poput umetanja, ažuriranja ili brisanja.

bash
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

Sa ovom dozvolom, možete kreirati ili modifikovati kolekcije unutar MongoDB baza podataka u Azure Cosmos DB nalogu. Kolekcije se koriste za čuvanje dokumenata i definišu strukturu i particionisanje podataka.

bash
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

Sa ovom dozvolom, možete kreirati nove MongoDB baze podataka unutar Azure Cosmos DB naloga. Ovo omogućava kreiranje novih baza podataka za skladištenje i upravljanje kolekcijama i dokumentima.

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

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks