Az - SQL

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Información Básica

Desde 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 centrarte 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 integrada que aprende los patrones únicos de tu base de datos 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.

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

Aprende a hackear AWS desde cero hasta convertirte en un héroe con htARTE (Experto en Red Team de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Última actualización