Az - SQL

Support HackTricks

Información Básica

De la documentación: Azure SQL es una familia de productos gestionados, 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 concentrarte en gestionar tus datos.

Azure SQL consta de tres ofertas principales:

  1. Azure SQL Database: Este es un servicio de base de datos completamente gestionado, que te permite alojar bases de datos individuales en la nube de Azure. Ofrece inteligencia incorporada que aprende tus patrones únicos de base de datos y proporciona recomendaciones personalizadas y ajuste automático.

  2. Azure SQL Managed Instance: Esto es para implementaciones a gran escala, de toda la instancia de SQL Server. Proporciona casi un 100% de compatibilidad con el último motor de base de datos SQL Server en las instalaciones (Edición Empresarial), que ofrece una implementación nativa de red virtual (VNet) que aborda preocupaciones comunes de seguridad, y un modelo de negocio favorable para los clientes de SQL Server en las instalaciones.

  3. Azure SQL Server en Azure VMs: Esto es Infraestructura como Servicio (IaaS) y es mejor para migraciones donde deseas control sobre el sistema operativo y la instancia de SQL Server, como si fuera un servidor que se ejecuta en las instalaciones.

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) del 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