Az - SQL

Support HackTricks

Basic Information

From the docs: Azure SQL est une famille de produits gérés, sécurisés et intelligents qui utilisent le moteur de base de données SQL Server dans le cloud Azure. Cela signifie que vous n'avez pas à vous soucier de l'administration physique de vos serveurs, et vous pouvez vous concentrer sur la gestion de vos données.

Azure SQL se compose de trois principales offres :

  1. Azure SQL Database : Il s'agit d'un service de base de données entièrement géré, qui vous permet d'héberger des bases de données individuelles dans le cloud Azure. Il offre une intelligence intégrée qui apprend vos modèles de base de données uniques et fournit des recommandations personnalisées et un réglage automatique.

  2. Azure SQL Managed Instance : Cela concerne des déploiements à plus grande échelle, à l'échelle de l'ensemble de l'instance SQL Server. Il offre une compatibilité presque totale avec le dernier moteur de base de données SQL Server sur site (Édition Entreprise), qui fournit une mise en œuvre de réseau virtuel (VNet) native qui répond aux préoccupations de sécurité courantes, et un modèle commercial favorable aux clients SQL Server sur site.

  3. Azure SQL Server sur des machines virtuelles Azure : Il s'agit d'une Infrastructure en tant que Service (IaaS) et est le mieux adapté pour les migrations où vous souhaitez contrôler le système d'exploitation et l'instance SQL Server, comme si c'était un serveur fonctionnant sur site.

Enumeration

az sql server list
az sql server show --resource-group <res-grp> --name <name>
az sql db list --server <server> --resource-group <res-grp>

az sql mi list
az sql mi show --resource-group <res-grp> --name <name>
az sql midb list
az sql midb show --resource-group <res-grp> --name <name>

az sql vm list
az sql vm show --resource-group <res-grp> --name <name>

Connecter et exécuter des requêtes SQL

Vous pourriez trouver une chaîne de connexion (contenant des identifiants) à partir de l'exemple énumérer un Az WebApp :

function invoke-sql{
param($query)
$Connection_string = "Server=tcp:supercorp.database.windows.net,1433;Initial Catalog=flag;Persist Security Info=False;User ID=db_read;Password=gAegH!324fAG!#1fht;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
$Connection = New-Object System.Data.SqlClient.SqlConnection $Connection_string
$Connection.Open()
$Command = New-Object System.Data.SqlClient.SqlCommand
$Command.Connection = $Connection
$Command.CommandText = $query
$Reader = $Command.ExecuteReader()
while ($Reader.Read()) {
$Reader.GetValue(0)
}
$Connection.Close()
}

invoke-sql 'Select Distinct TABLE_NAME From information_schema.TABLES;'

Références

Soutenir HackTricks

Last updated