Az - SQL

Apoya a HackTricks

Información Básica

Desde la documentación: Azure SQL es una familia de productos administrados, seguros e inteligentes que utilizan el motor de base de datos SQL Server en la nube de Azure. Esto significa que no tienes que preocuparte por la administración física de tus servidores, y puedes centrarte en la gestión de tus datos.

Azure SQL consta de tres ofertas principales:

  1. Azure SQL Database: Este es un servicio de base de datos totalmente administrado, que te permite alojar bases de datos individuales en la nube de Azure. Ofrece inteligencia integrada que aprende tus patrones de base de datos únicos y proporciona recomendaciones personalizadas y ajustes automáticos.

  2. Azure SQL Managed Instance: Esto es para despliegues a mayor escala, con alcance a instancias completas de SQL Server. Proporciona una compatibilidad cercana al 100% con la última versión del Motor de Base de Datos de SQL Server local (Enterprise Edition), que ofrece una implementación nativa de red virtual (VNet) que aborda preocupaciones de seguridad comunes, y un modelo de negocio favorable para los clientes de SQL Server locales.

  3. Azure SQL Server en máquinas virtuales de Azure: Esto es Infraestructura como Servicio (IaaS) y es ideal para migraciones donde deseas control sobre el sistema operativo y la instancia de SQL Server, como si fuera un servidor en ejecución localmente.

Enumeración

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>

Conectar y ejecutar consultas SQL

Podrías encontrar una cadena de conexión (que contiene credenciales) al enumerar un ejemplo enumerando 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;'

Referencias

Apoya a HackTricks

Last updated