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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
CosmosDB Post Exploitation
Za više informacija o SQL bazi podataka, proverite:
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.
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
Dodatno, možete omogućiti upravljane identitete u nalogu:
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.
# 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.
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.
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.
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.
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.
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.
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.
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.
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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.