Az - SQL

Suporte ao HackTricks

Informações Básicas

Da documentação: O 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.

O Azure SQL é composto por três principais ofertas:

  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 integrada que aprende os padrões exclusivos do seu banco de dados e fornece recomendações personalizadas e ajustes automáticos.

  2. Azure SQL Managed Instance: Isso é para implantações em grande escala, abrangendo instâncias inteiras do SQL Server. Ele fornece compatibilidade próxima de 100% com o mais recente SQL Server local (Enterprise Edition) Database Engine, que oferece 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 locais.

  3. Azure SQL Server em VMs do Azure: Isso é 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 em execução 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) no exemplo de enumeração de 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

Apoie o HackTricks

Last updated