Az - MySQL Database Privesc

Reading time: 3 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

MySQL Database Privesc

Para mais informações sobre SQL Database, consulte:

Az - MySQL

Microsoft.DBforMySQL/flexibleServers/read && Microsoft.DBforMySQL/flexibleServers/write

Com esta permissão, você pode criar, atualizar ou excluir instâncias do MySQL Flexible Server no Azure. Isso inclui provisionar novos servidores, modificar configurações de servidores existentes ou descomissionar servidores.

bash
az mysql flexible-server create \
--name <ServerName> \
--resource-group <ResourceGroupName> \
--location <Location> \
--admin-user <AdminUsername> \
--admin-password <AdminPassword> \
--sku-name <SkuName> \
--storage-size <StorageSizeInGB> \
--tier <PricingTier> \
--version <MySQLVersion>

Por exemplo, essas permissões permitem alterar a senha do MySQL, útil, é claro, no caso de a autenticação do MySQL estar habilitada.

bash
az mysql flexible-server update \
--resource-group <resource_group_name> \
--name <server_name> \
--admin-password <password_to_update>

Além disso, é necessário ter o acesso público habilitado se você quiser acessar a partir de um endpoint não privado. Para habilitá-lo:

bash
az mysql flexible-server update --resource-group <resource_group_name> --server-name <server_name> --public-access Enabled

Microsoft.DBforMySQL/flexibleServers/read, Microsoft.DBforMySQL/flexibleServers/write, Microsoft.DBforMySQL/flexibleServers/backups/read, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action

Com essas permissões, você pode restaurar um servidor MySQL a partir de um backup:

bash
az mysql flexible-server restore \
--resource-group <resource_group_name> \
--name <restore_server_name> \
--source-server <server_name> \
--yes

Microsoft.DBforMySQL/flexibleServers/read, Microsoft.DBforMySQL/flexibleServers/write, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action, Microsoft.DBforMySQL/flexibleServers/administrators/write && Microsoft.DBforMySQL/flexibleServers/administrators/read

Com esta permissão, você pode configurar administradores do Azure Active Directory (AD) para um MySQL Flexible Server. Isso pode ser explorado configurando-se ou configurando outra conta como o administrador do AD, concedendo controle administrativo total sobre o servidor MySQL. É importante que o flexible-server tenha identidades gerenciadas atribuídas a um usuário para uso.

bash
az mysql flexible-server ad-admin create \
--resource-group <ResourceGroupName> \
--server-name <ServerName> \
--display-name <ADAdminDisplayName> \
--identity <IdentityNameOrID> \
--object-id <ObjectID>

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks