Translated ['.github/pull_request_template.md', 'src/pentesting-cloud/az

This commit is contained in:
Translator
2024-12-31 18:59:36 +00:00
parent 7770a50092
commit 820dd99aed
244 changed files with 8557 additions and 11405 deletions

View File

@@ -4,100 +4,99 @@
## Azure SQL
Azure SQL is a family of managed, secure, and intelligent products that use the **SQL Server database engine in the Azure cloud**. This means you don't have to worry about the physical administration of your servers, and you can focus on managing your data.
Azure SQL è una famiglia di prodotti gestiti, sicuri e intelligenti che utilizzano il **motore di database SQL Server nel cloud Azure**. Ciò significa che non devi preoccuparti dell'amministrazione fisica dei tuoi server e puoi concentrarti sulla gestione dei tuoi dati.
Azure SQL consists of three main offerings:
Azure SQL consiste in tre principali offerte:
1. **Azure SQL Database**: This is a **fully-managed database service**, which allows you to host individual databases in the Azure cloud. It offers built-in intelligence that learns your unique database patterns and provides customized recommendations and automatic tuning.
2. **Azure SQL Managed Instance**: This is for larger scale, entire SQL Server instance-scoped deployments. It provides near 100% compatibility with the latest SQL Server on-premises (Enterprise Edition) Database Engine, which provides a native virtual network (VNet) implementation that addresses common security concerns, and a business model favorable for on-premises SQL Server customers.
3. **Azure SQL Server on Azure VMs**: This is Infrastructure as a Service (IaaS) and is best for migrations where you want **control over the operating system and SQL Server instance**, like it was a server running on-premises.
1. **Azure SQL Database**: Questo è un **servizio di database completamente gestito**, che ti consente di ospitare database individuali nel cloud Azure. Offre intelligenza integrata che apprende i tuoi modelli unici di database e fornisce raccomandazioni personalizzate e ottimizzazione automatica.
2. **Azure SQL Managed Instance**: Questo è per implementazioni su larga scala, a livello di intera istanza SQL Server. Fornisce quasi il 100% di compatibilità con l'ultima versione del motore di database SQL Server on-premises (Enterprise Edition), che offre un'implementazione nativa della rete virtuale (VNet) che affronta le comuni preoccupazioni di sicurezza, e un modello di business favorevole per i clienti SQL Server on-premises.
3. **Azure SQL Server su Azure VMs**: Questo è Infrastructure as a Service (IaaS) ed è migliore per le migrazioni in cui desideri **controllo sul sistema operativo e sull'istanza SQL Server**, come se fosse un server in esecuzione on-premises.
### Azure SQL Database
**Azure SQL Database** is a **fully managed database platform as a service (PaaS)** that provides scalable and secure relational database solutions. It's built on the latest SQL Server technologies and eliminates the need for infrastructure management, making it a popular choice for cloud-based applications.
**Azure SQL Database** è una **piattaforma di database completamente gestita come servizio (PaaS)** che fornisce soluzioni di database relazionali scalabili e sicure. È costruita sulle ultime tecnologie SQL Server ed elimina la necessità di gestione dell'infrastruttura, rendendola una scelta popolare per le applicazioni basate su cloud.
#### Key Features
#### Caratteristiche principali
- **Always Up-to-Date**: Runs on the latest stable version of SQL Server and Receives new features and patches automatically.
- **PaaS Capabilities**: Built-in high availability, backups, and updates.
- **Data Flexibility**: Supports relational and non-relational data (e.g., graphs, JSON, spatial, and XML).
- **Sempre aggiornato**: Funziona sull'ultima versione stabile di SQL Server e riceve automaticamente nuove funzionalità e patch.
- **Capacità PaaS**: Alta disponibilità integrata, backup e aggiornamenti.
- **Flessibilità dei dati**: Supporta dati relazionali e non relazionali (ad es., grafi, JSON, spaziali e XML).
#### Purchasing Models / Service Tiers
#### Modelli di acquisto / Livelli di servizio
- **vCore-based**: Choose compute, memory, and storage independently. For General Purpose, Business Critical (with high resilience and performance for OLTP apps), and scales up to 128 TB storag
- **DTU-based**: Bundles compute, memory, and I/O into fixed tiers. Balanced resources for common tasks.
- Standard: Balanced resources for common tasks.
- Premium: High performance for demanding workloads.
- **Basato su vCore**: Scegli computazione, memoria e archiviazione in modo indipendente. Per uso generale, Business Critical (con alta resilienza e prestazioni per app OLTP), e scala fino a 128 TB di archiviazione.
- **Basato su DTU**: Raggruppa computazione, memoria e I/O in livelli fissi. Risorse bilanciate per compiti comuni.
- Standard: Risorse bilanciate per compiti comuni.
- Premium: Alte prestazioni per carichi di lavoro esigenti.
#### Deployment Models
#### Modelli di distribuzione
Azure SQL Database supports flexible deployment options to suit various needs:
Azure SQL Database supporta opzioni di distribuzione flessibili per soddisfare varie esigenze:
- **Single Database**:
- A fully isolated database with its own dedicated resources.
- Great for microservices or applications requiring a single data source.
- **Database singolo**:
- Un database completamente isolato con le proprie risorse dedicate.
- Ottimo per microservizi o applicazioni che richiedono una singola fonte di dati.
- **Elastic Pool**:
- Allows multiple databases to share resources within a pool.
- Cost-efficient for applications with fluctuating usage patterns across multiple databases.
- Consente a più database di condividere risorse all'interno di un pool.
- Economico per applicazioni con modelli di utilizzo fluttuanti tra più database.
#### Scalable performance and pools
#### Prestazioni scalabili e pool
- **Single Databases**: Each database is isolated and has its own dedicated compute, memory, and storage resources. Resources can be scaled dynamically (up or down) without downtime (1128 vCores, 32 GB4 TB storage, and up to 128 TB).
- **Elastic Pools**: Share resources across multiple databases in a pool to maximize efficiency and save costs. Resources can also be scaled dynamically for the entire pool.
- **Service Tier Flexibility**: Start small with a single database in the General Purpose tier. Upgrade to Business Critical or Hyperscale tiers as needs grow.
- **Scaling Options**: Dynamic Scaling or Autoscaling Alternatives.
- **Database singoli**: Ogni database è isolato e ha le proprie risorse dedicate di computazione, memoria e archiviazione. Le risorse possono essere scalate dinamicamente (su o giù) senza tempi di inattività (1128 vCores, 32 GB4 TB di archiviazione, e fino a 128 TB).
- **Elastic Pools**: Condividono risorse tra più database in un pool per massimizzare l'efficienza e risparmiare costi. Le risorse possono anche essere scalate dinamicamente per l'intero pool.
- **Flessibilità del livello di servizio**: Inizia in piccolo con un database singolo nel livello di uso generale. Aggiorna a livelli Business Critical o Hyperscale man mano che le esigenze crescono.
- **Opzioni di scalabilità**: Scalabilità dinamica o alternative di autoscalabilità.
#### Built-In Monitoring & Optimization
#### Monitoraggio e ottimizzazione integrati
- **Query Store**: Tracks performance issues, identifies top resource consumers, and offers actionable recommendations.
- **Automatic Tuning**: Proactively optimizes performance with features like automatic indexing and query plan corrections.
- **Telemetry Integration**: Supports monitoring through Azure Monitor, Event Hubs, or Azure Storage for tailored insights.
- **Query Store**: Monitora i problemi di prestazioni, identifica i principali consumatori di risorse e offre raccomandazioni pratiche.
- **Ottimizzazione automatica**: Ottimizza proattivamente le prestazioni con funzionalità come indicizzazione automatica e correzioni del piano di query.
- **Integrazione della telemetria**: Supporta il monitoraggio tramite Azure Monitor, Event Hubs o Azure Storage per approfondimenti personalizzati.
#### Disaster Recovery & Availavility
#### Recupero da disastri e disponibilità
- **Automatic backups**: SQL Database automatically performs full, differential, and transaction log backups of databases
- **Point-in-Time Restore**: Recover databases to any past state within the backup retention period.
- **Backup automatici**: SQL Database esegue automaticamente backup completi, differenziali e di log delle transazioni dei database.
- **Ripristino a un punto nel tempo**: Recupera i database a qualsiasi stato passato all'interno del periodo di retention dei backup.
- **Geo-Redundancy**
- **Failover Groups**: Simplifies disaster recovery by grouping databases for automatic failover across regions.
- **Gruppi di failover**: Semplifica il recupero da disastri raggruppando i database per failover automatico tra le regioni.
### Azure SQL Managed Instance
**Azure SQL Managed Instance** is a Platform as a Service (PaaS) database engine that offers near 100% compatibility with SQL Server and handles most management tasks (e.g., upgrading, patching, backups, monitoring) automatically. It provides a cloud solution for migrating on-premises SQL Server databases with minimal changes.
**Azure SQL Managed Instance** è un motore di database Platform as a Service (PaaS) che offre quasi il 100% di compatibilità con SQL Server e gestisce automaticamente la maggior parte dei compiti di gestione (ad es., aggiornamenti, patching, backup, monitoraggio). Fornisce una soluzione cloud per la migrazione dei database SQL Server on-premises con minime modifiche.
#### Service Tiers
#### Livelli di servizio
- **General Purpose**: Cost-effective option for applications with standard I/O and latency requirements.
- **Business Critical**: High-performance option with low I/O latency for critical workloads.
- **Uso generale**: Opzione economica per applicazioni con requisiti standard di I/O e latenza.
- **Business Critical**: Opzione ad alte prestazioni con bassa latenza I/O per carichi di lavoro critici.
#### Advanced Security Features
#### Caratteristiche avanzate di sicurezza
* **Threat Protection**: Advanced Threat Protection alerts for suspicious activities and SQL injection attacks. Auditing to track and log database events for compliance.
* **Access Control**: Microsoft Entra authentication for centralized identity management. Row-Level Security and Dynamic Data Masking for granular access control.
* **Backups**: Automated and manual backups with point-in-time restore capability.
* **Protezione dalle minacce**: Avvisi di protezione avanzata dalle minacce per attività sospette e attacchi di SQL injection. Audit per monitorare e registrare eventi del database per la conformità.
* **Controllo degli accessi**: Autenticazione Microsoft Entra per la gestione centralizzata dell'identità. Sicurezza a livello di riga e mascheramento dinamico dei dati per un controllo degli accessi granulare.
* **Backup**: Backup automatici e manuali con capacità di ripristino a un punto nel tempo.
### Azure SQL Virtual Machines
**Azure SQL Virtual Machines** is best for migrations where you want **control over the operating system and SQL Server instance**, like it was a server running on-premises. It can have different machine sizes, and a wide selection of SQL Server versions and editions.
**Azure SQL Virtual Machines** è migliore per le migrazioni in cui desideri **controllo sul sistema operativo e sull'istanza SQL Server**, come se fosse un server in esecuzione on-premises. Può avere diverse dimensioni di macchina e una vasta selezione di versioni e edizioni di SQL Server.
#### Key Features
#### Caratteristiche principali
**Automated Backup**: Schedule backups for SQL databases.
**Automatic Patching**: Automates the installation of Windows and SQL Server updates during a maintenance window.
**Azure Key Vault Integration**: Automatically configures Key Vault for SQL Server VMs.
**Defender for Cloud Integration**: View Defender for SQL recommendations in the portal.
**Version/Edition Flexibility**: Change SQL Server version or edition metadata without redeploying the VM.
**Backup automatico**: Pianifica backup per i database SQL.
**Patch automatiche**: Automatizza l'installazione degli aggiornamenti di Windows e SQL Server durante una finestra di manutenzione.
**Integrazione con Azure Key Vault**: Configura automaticamente Key Vault per le VM SQL Server.
**Integrazione con Defender for Cloud**: Visualizza le raccomandazioni di Defender for SQL nel portale.
**Flessibilità di versione/edizione**: Cambia i metadati della versione o edizione di SQL Server senza ridistribuire la VM.
#### Security Features
#### Caratteristiche di sicurezza
**Microsoft Defender for SQL**: Security insights and alerts.
**Azure Key Vault Integration**: Secure storage of credentials and encryption keys.
**Microsoft Entra (Azure AD)**: Authentication and access control.
**Microsoft Defender for SQL**: Approfondimenti e avvisi di sicurezza.
**Integrazione con Azure Key Vault**: Archiviazione sicura di credenziali e chiavi di crittografia.
**Microsoft Entra (Azure AD)**: Autenticazione e controllo degli accessi.
## Enumeration
## Enumerazione
{{#tabs}}
{{#tab name="az cli"}}
```bash
# List Servers
az sql server list # --output table
@@ -164,11 +163,9 @@ az sql midb show --resource-group <res-grp> --name <name>
az sql vm list
az sql vm show --resource-group <res-grp> --name <name>
```
{{#endtab}}
{{#tab name="Az PowerShell"}}
```powershell
# List Servers
Get-AzSqlServer -ResourceGroupName "<resource-group-name>"
@@ -206,60 +203,51 @@ Get-AzSqlInstanceDatabase -ResourceGroupName <ResourceGroupName> -InstanceName <
# Lis all sql VM
Get-AzSqlVM
```
{{#endtab}}
{{#endtabs}}
### Connect and run SQL queries
You could find a connection string (containing credentials) from example [enumerating an Az WebApp](az-app-services.md):
### Connettersi ed eseguire query SQL
Potresti trovare una stringa di connessione (contenente credenziali) dall'esempio [enumerando un Az WebApp](az-app-services.md):
```powershell
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()
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;'
```
You can also use sqlcmd to access the database. It is important to know if the server allows public connections `az sql server show --name <server-name> --resource-group <resource-group>`, and also if it the firewall rule let's our IP to access:
Puoi anche usare sqlcmd per accedere al database. È importante sapere se il server consente connessioni pubbliche `az sql server show --name <server-name> --resource-group <resource-group>`, e anche se la regola del firewall consente al nostro IP di accedere:
```powershell
sqlcmd -S <sql-server>.database.windows.net -U <server-user> -P <server-passworkd> -d <database>
```
## References
## Riferimenti
- [https://learn.microsoft.com/en-us/azure/azure-sql/azure-sql-iaas-vs-paas-what-is-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/azure-sql-iaas-vs-paas-what-is-overview?view=azuresql)
- [https://learn.microsoft.com/en-us/azure/azure-sql/database/single-database-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/database/single-database-overview?view=azuresql)
- [https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview?view=azuresql)
- [https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-server-on-azure-vm-iaas-what-is-overview?view=azuresql](https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-server-on-azure-vm-iaas-what-is-overview?view=azuresql)
## Privilege Escalation
## Escalation dei privilegi
{{#ref}}
../az-privilege-escalation/az-sql-privesc.md
{{#endref}}
## Post Exploitation
## Post Sfruttamento
{{#ref}}
../az-post-exploitation/az-sql-post-exploitation.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}