Az - MySQL Database Privesc

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

MySQL Database Privesc

Aby uzyskać więcej informacji na temat SQL Database, sprawdź:

Az - MySQL

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

Dzięki temu uprawnieniu możesz tworzyć, aktualizować lub usuwać instancje MySQL Flexible Server w Azure. Obejmuje to provisionowanie nowych serwerów, modyfikowanie istniejących konfiguracji serwerów lub wycofywanie serwerów.

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>

Na przykład, te uprawnienia pozwalają na zmianę hasła MySQL, co jest przydatne w przypadku, gdy uwierzytelnianie MySQL jest włączone.

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

Dodatkowo, konieczne jest włączenie dostępu publicznego, jeśli chcesz uzyskać dostęp z punktu końcowego, który nie jest prywatny. Aby to włączyć:

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

Z tymi uprawnieniami możesz przywrócić serwer MySQL z kopii zapasowej:

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

Dzięki temu uprawnieniu możesz skonfigurować administratorów Azure Active Directory (AD) dla elastycznego serwera MySQL. Można to wykorzystać, ustawiając siebie lub inne konto jako administratora AD, co daje pełną kontrolę administracyjną nad serwerem MySQL. Ważne jest, aby elastyczny serwer miał przypisane zarządzane tożsamości użytkowników do użycia.

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

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks