Az - SQL

Support HackTricks

Informações Básicas

Dos documentos: Azure SQL é uma família de produtos gerenciados, seguros e inteligentes que utilizam o motor de banco de dados SQL Server na nuvem Azure. Isso significa que você não precisa se preocupar com a administração física de seus servidores e pode se concentrar em gerenciar seus dados.

Azure SQL consiste em três ofertas principais:

  1. Azure SQL Database: Este é um serviço de banco de dados totalmente gerenciado, que permite hospedar bancos de dados individuais na nuvem Azure. Ele oferece inteligência embutida que aprende seus padrões únicos de banco de dados e fornece recomendações personalizadas e ajuste automático.

  2. Azure SQL Managed Instance: Este é para implantações em maior escala, abrangendo toda a instância do SQL Server. Ele oferece quase 100% de compatibilidade com o mais recente motor de banco de dados SQL Server local (Edição Enterprise), que fornece uma implementação nativa de rede virtual (VNet) que aborda preocupações comuns de segurança, e um modelo de negócios favorável para clientes do SQL Server local.

  3. Azure SQL Server em VMs Azure: Este é Infraestrutura como Serviço (IaaS) e é melhor para migrações onde você deseja controle sobre o sistema operacional e a instância do SQL Server, como se fosse um servidor rodando localmente.

Enumeração

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 e executar consultas SQL

Você pode encontrar uma string de conexão (contendo credenciais) do exemplo enumerando um 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;'

Referências

Suporte ao HackTricks

Last updated