Az - CosmosDB Post Exploitation
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- 脷nete al 馃挰 Discord group o al telegram group o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
CosmosDB Post Exploitation
Para m谩s informaci贸n sobre SQL Database consulta:
Microsoft.DocumentDB/databaseAccounts/read && Microsoft.DocumentDB/databaseAccounts/write
Con este permiso, puedes crear o actualizar cuentas de Azure Cosmos DB. Esto incluye modificar configuraciones a nivel de cuenta, habilitar o deshabilitar la conmutaci贸n por error autom谩tica, gestionar controles de acceso a la red, establecer pol铆ticas de respaldo y ajustar niveles de consistencia. Los atacantes con este permiso podr铆an alterar configuraciones para debilitar los controles de seguridad, interrumpir la disponibilidad o exfiltrar datos modificando las reglas de red.
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
Adem谩s, puedes habilitar identidades administradas en la cuenta:
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
Con este permiso, puedes crear o modificar contenedores (colecciones) dentro de una base de datos SQL de una cuenta de Azure Cosmos DB. Los contenedores se utilizan para almacenar datos, y los cambios en ellos pueden afectar la estructura de la base de datos y los patrones de acceso.
# 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
Con este permiso, puedes crear o modificar bases de datos SQL dentro de una cuenta de Azure Cosmos DB. Esto permite gestionar la estructura de la base de datos y agregar nuevas bases de datos a la cuenta. Si bien este permiso permite la creaci贸n de bases de datos, el uso indebido o no autorizado podr铆a resultar en un consumo innecesario de recursos, costos incrementados o ineficiencias operativas.
az cosmosdb sql database create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--name <database_name>
Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action
Con este permiso, puedes cambiar la prioridad de conmutaci贸n por error de las regiones para una cuenta de base de datos de Azure Cosmos DB. Esta acci贸n determina el orden en el que las regiones se convierten en primarias durante un evento de conmutaci贸n por error. El uso inadecuado de este permiso puede interrumpir la alta disponibilidad de la base de datos o provocar impactos operativos no deseados.
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
Con este permiso, puedes regenerar las claves primaria o secundaria para una cuenta de Azure Cosmos DB. Esto se utiliza t铆picamente para mejorar la seguridad al reemplazar claves antiguas, pero puede interrumpir el acceso a servicios o aplicaciones que dependen de las claves actuales.
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
Con este permiso, puedes crear o modificar disparadores dentro de un contenedor de una base de datos SQL en una cuenta de Azure Cosmos DB. Los disparadores te permiten ejecutar l贸gica del lado del servidor en respuesta a operaciones.
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
Con este permiso, puedes crear o modificar procedimientos almacenados dentro de un contenedor de una base de datos SQL en una cuenta de Azure Cosmos DB. Los procedimientos almacenados en Cosmos DB son funciones de JavaScript del lado del servidor que te permiten encapsular la l贸gica para procesar datos o realizar operaciones directamente dentro de la base de datos.
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
Con este permiso, puedes crear o modificar disparadores dentro de un contenedor de una base de datos SQL en una cuenta de Azure Cosmos DB. Los disparadores te permiten ejecutar l贸gica del lado del servidor en respuesta a operaciones como inserciones, actualizaciones o eliminaciones.
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
Con este permiso, puedes crear o modificar colecciones dentro de bases de datos MongoDB en una cuenta de Azure Cosmos DB. Las colecciones se utilizan para almacenar documentos y definir la estructura y particionamiento de los datos.
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
Con este permiso, puedes crear nuevas bases de datos MongoDB dentro de una cuenta de Azure Cosmos DB. Esto permite aprovisionar nuevas bases de datos para almacenar y gestionar colecciones y documentos.
az cosmosdb mongodb database create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--name <database_name>
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- 脷nete al 馃挰 Discord group o al telegram group o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

