Translated ['src/pentesting-cloud/aws-security/aws-services/aws-organiza

This commit is contained in:
Translator
2025-02-17 17:15:28 +00:00
parent 1f585836cf
commit 94867e96b1
9 changed files with 46 additions and 47 deletions

View File

@@ -4,7 +4,7 @@
## SQS
Amazon Simple Queue Service (SQS) è presentato come un **servizio di messaggistica completamente gestito**. La sua funzione principale è quella di assistere nella scalabilità e nel disaccoppiamento di microservizi, sistemi distribuiti e applicazioni serverless. Il servizio è progettato per rimuovere la necessità di gestire e operare middleware orientato ai messaggi, che può spesso essere complesso e richiedere molte risorse. Questa eliminazione della complessità consente agli sviluppatori di concentrare i loro sforzi su aspetti più innovativi e differenzianti del loro lavoro.
Amazon Simple Queue Service (SQS) è presentato come un **servizio di messaggistica completamente gestito**. La sua funzione principale è quella di assistere nella scalabilità e nel disaccoppiamento di microservizi, sistemi distribuiti e applicazioni serverless. Il servizio è progettato per eliminare la necessità di gestire e operare middleware orientato ai messaggi, che può spesso essere complesso e richiedere molte risorse. Questa eliminazione della complessità consente agli sviluppatori di concentrare i loro sforzi su aspetti più innovativi e differenzianti del loro lavoro.
### Enumeration
```bash

View File

@@ -30,7 +30,7 @@ az servicebus queue delete --resource-group <ResourceGroupName> --namespace-name
```
### Azioni: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete`
Un attaccante con questo permesso può eliminare un'abbonamento di Azure Service Bus. Questa azione rimuove l'abbonamento e tutti i suoi messaggi associati, potenzialmente interrompendo i flussi di lavoro, l'elaborazione dei dati e le operazioni di sistema che si basano sull'abbonamento.
Un attaccante con questo permesso può eliminare un'abbonamento di Azure Service Bus. Questa azione rimuove l'abbonamento e tutti i suoi messaggi associati, potenzialmente interrompendo i flussi di lavoro, l'elaborazione dei dati e le operazioni di sistema che dipendono dall'abbonamento.
```bash
az servicebus topic subscription delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
```
@@ -50,7 +50,7 @@ az servicebus topic update --resource-group <ResourceGroupName> --namespace-name
```
### Azioni: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`)
Un attaccante con permessi per creare o modificare le sottoscrizioni (per modificare la sottoscrizione avrai anche bisogno dell'azione: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) all'interno di un argomento di Azure Service Bus può sfruttare questo per intercettare, reindirizzare o interrompere i flussi di messaggi. Utilizzando comandi come az servicebus topic subscription update, possono manipolare configurazioni come l'abilitazione del dead lettering per deviare i messaggi, inoltrare messaggi a endpoint non autorizzati o modificare la durata TTL e il tempo di blocco per trattenere o interferire con la consegna dei messaggi. Inoltre, possono alterare le impostazioni di stato o il conteggio massimo di consegna per interrompere le operazioni o eludere la rilevazione, rendendo il controllo delle sottoscrizioni un aspetto critico degli scenari di post-exploitation.
Un attaccante con permessi per creare o modificare le sottoscrizioni (per modificare la sottoscrizione è necessario anche l'Action: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) all'interno di un argomento di Azure Service Bus può sfruttare questo per intercettare, reindirizzare o interrompere i flussi di lavoro dei messaggi. Utilizzando comandi come az servicebus topic subscription update, possono manipolare configurazioni come l'abilitazione del dead lettering per deviare i messaggi, inoltrare messaggi a endpoint non autorizzati o modificare la durata TTL e di blocco per trattenere o interferire con la consegna dei messaggi. Inoltre, possono alterare le impostazioni di stato o il conteggio massimo di consegna per interrompere le operazioni o eludere la rilevazione, rendendo il controllo delle sottoscrizioni un aspetto critico degli scenari di post-exploitation.
```bash
az servicebus topic subscription create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
az servicebus topic subscription update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>

View File

@@ -72,7 +72,7 @@ az sql server connection-policy update \
```
### `Microsoft.Sql/servers/databases/export/action`
Con questo permesso, puoi esportare un database da un Azure SQL Server a un'account di archiviazione. Un attaccante o un utente autorizzato con questo permesso può esfiltrare dati sensibili dal database esportandoli in una posizione che controllano, ponendo un rischio significativo di violazione dei dati. È importante conoscere la chiave di archiviazione per poter eseguire questa operazione.
Con questo permesso, puoi esportare un database da un Azure SQL Server a un account di archiviazione. Un attaccante o un utente autorizzato con questo permesso può esfiltrare dati sensibili dal database esportandoli in una posizione che controllano, ponendo un rischio significativo di violazione dei dati. È importante conoscere la chiave di archiviazione per poter eseguire questa operazione.
```bash
az sql db export \
--server <server_name> \
@@ -108,7 +108,7 @@ az sql server conn-policy update \
```
### `Microsoft.Sql/servers/keys/write` && `Microsoft.Sql/servers/keys/read`
Con questi permessi, un utente può aggiornare e recuperare le chiavi di crittografia associate a un Azure SQL Server. Queste chiavi sono spesso utilizzate per proteggere dati sensibili tramite crittografia, quindi manipolarle potrebbe compromettere la sicurezza dei dati consentendo la decrittazione non autorizzata o modifiche alla rotazione delle chiavi.
Con queste autorizzazioni, un utente può aggiornare e recuperare le chiavi di crittografia associate a un Azure SQL Server. Queste chiavi sono spesso utilizzate per proteggere i dati sensibili tramite crittografia, quindi manipolarle potrebbe compromettere la sicurezza dei dati consentendo la decrittazione non autorizzata o modifiche alla rotazione delle chiavi.
```bash
az sql server key create \
--resource-group MyResourceGroup \

View File

@@ -12,7 +12,7 @@ Per ulteriori informazioni controlla:
### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action OR Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action
Queste autorizzazioni ti consentono di ottenere o rigenerare le chiavi per le regole di autorizzazione locali all'interno di uno spazio dei nomi di Service Bus. Utilizzando queste chiavi è possibile autenticarsi come lo spazio dei nomi di Service Bus, permettendoti di inviare messaggi a qualsiasi coda o argomento, ricevere messaggi da qualsiasi coda o sottoscrizione, o potenzialmente interagire con il sistema in modi che potrebbero interrompere le operazioni, impersonare utenti validi o iniettare dati dannosi nel flusso di messaggi.
Queste autorizzazioni ti consentono di ottenere o rigenerare le chiavi per le regole di autorizzazione locali all'interno di uno spazio dei nomi di Service Bus. Utilizzando queste chiavi è possibile autenticarsi come lo spazio dei nomi di Service Bus, consentendoti di inviare messaggi a qualsiasi coda o argomento, ricevere messaggi da qualsiasi coda o sottoscrizione, o potenzialmente interagire con il sistema in modi che potrebbero interrompere le operazioni, impersonare utenti validi o iniettare dati dannosi nel flusso di messaggi.
Nota che per impostazione predefinita la **`RootManageSharedAccessKey` regola ha il controllo completo** sullo spazio dei nomi di Service Bus ed è utilizzata dal `az` cli, tuttavia, potrebbero esistere altre regole con altri valori di chiave.
```bash
@@ -29,9 +29,9 @@ Con questo permesso è possibile **creare una nuova regola di autorizzazione** c
az servicebus namespace authorization-rule create --authorization-rule-name "myRule" --namespace-name mynamespacespdemo --resource-group Resource_Group_1 --rights Manage Listen Send
```
>[!WARNING]
>Questo comando non restituisce le chiavi, quindi è necessario ottenerle con i comandi (e le autorizzazioni) precedenti per poter elevare i privilegi.
>Questo comando non restituisce le chiavi, quindi è necessario ottenerle con i comandi (e permessi) precedenti per poter elevare i privilegi.
Inoltre, con quel comando (e `Microsoft.ServiceBus/namespaces/authorizationRules/read`) se esegui questa azione tramite l'Azure CLI, è possibile aggiornare una regola di autorizzazione esistente e darle più autorizzazioni (nel caso ne mancassero alcune) con il seguente comando:
Inoltre, con quel comando (e `Microsoft.ServiceBus/namespaces/authorizationRules/read`) se esegui questa azione tramite l'Azure CLI, è possibile aggiornare una regola di autorizzazione esistente e darle più permessi (nel caso ne mancassero alcuni) con il seguente comando:
```bash
az servicebus namespace authorization-rule update \
--resource-group <MyResourceGroup> \
@@ -41,7 +41,7 @@ az servicebus namespace authorization-rule update \
```
### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action
Argomenti e code specifici all'interno di uno spazio dei nomi Service Bus possono avere le proprie regole di autorizzazione, che possono essere utilizzate per controllare l'accesso all'entità. Avere questi permessi ti consente di **recuperare o rigenerare le chiavi per queste regole di autorizzazione locali**, permettendoti di autenticarti come entità e potenzialmente inviare o ricevere messaggi, gestire le iscrizioni o interagire con il sistema in modi che potrebbero interrompere le operazioni, impersonare utenti validi o iniettare dati dannosi nel flusso di messaggi.
Argomenti e code specifici all'interno di uno spazio dei nomi Service Bus possono avere le proprie regole di autorizzazione, che possono essere utilizzate per controllare l'accesso all'entità. Avere questi permessi consente di **recuperare o rigenerare le chiavi per queste regole di autorizzazione locali**, permettendoti di autenticarti come l'entità e potenzialmente inviare o ricevere messaggi, gestire le iscrizioni o interagire con il sistema in modi che potrebbero interrompere le operazioni, impersonare utenti validi o iniettare dati dannosi nel flusso di messaggistica.
```bash
# List keys (topics)
az servicebus topic authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --topic-name <topic-name> --name <auth-rule-name>
@@ -84,7 +84,7 @@ az servicebus namespace update --disable-local-auth false -n <namespace-name> --
```
### Invia messaggi con chiavi (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
Puoi recuperare il `PrimaryConnectionString`, che funge da credenziale per il namespace del Service Bus. Con questa stringa di connessione, puoi autenticarti completamente come il namespace del Service Bus, permettendoti di inviare messaggi a qualsiasi coda o argomento e potenzialmente interagire con il sistema in modi che potrebbero interrompere le operazioni, impersonare utenti validi o iniettare dati dannosi nel flusso di messaggistica. Questo metodo funziona se `--disable-local-auth` è impostato su false.
Puoi recuperare il `PrimaryConnectionString`, che funge da credenziale per lo spazio dei nomi del Service Bus. Con questa stringa di connessione, puoi autenticarti completamente come lo spazio dei nomi del Service Bus, permettendoti di inviare messaggi a qualsiasi coda o argomento e potenzialmente interagire con il sistema in modi che potrebbero interrompere le operazioni, impersonare utenti validi o iniettare dati dannosi nel flusso di messaggistica. Questo metodo funziona se `--disable-local-auth` è impostato su false.
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
@@ -131,7 +131,7 @@ az rest --method post \
```
### Ricevi con chiavi (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
Puoi recuperare il PrimaryConnectionString, che funge da credenziale per il namespace di Service Bus. Utilizzando questa stringa di connessione, puoi ricevere messaggi da qualsiasi coda o sottoscrizione all'interno del namespace, consentendo l'accesso a dati potenzialmente sensibili o critici, abilitando l'esfiltrazione dei dati o interferendo con l'elaborazione dei messaggi e i flussi di lavoro delle applicazioni. Questo metodo funziona se `--disable-local-auth` è impostato su false.
Puoi recuperare il PrimaryConnectionString, che funge da credenziale per il namespace del Service Bus. Utilizzando questa stringa di connessione, puoi ricevere messaggi da qualsiasi coda o sottoscrizione all'interno del namespace, consentendo l'accesso a dati potenzialmente sensibili o critici, abilitando l'esfiltrazione dei dati o interferendo con l'elaborazione dei messaggi e i flussi di lavoro delle applicazioni. Questo metodo funziona se `--disable-local-auth` è impostato su false.
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
@@ -199,7 +199,7 @@ az rest --method get \
--uri "https://<NAMESPACE>.servicebus.windows.net/<ENTITY>/messages?timeout=60&PreviousSequenceNumber=<LAST_SEQUENCE_NUMBER>&api-version=2017-04" \
--headers "Authorization=SharedAccessSignature sr=<URI_ENCODED_RESOURCE>&sig=<SIGNATURE>&se=<EXPIRY>&skn=<KEYNAME>"
```
Please provide the text you would like me to translate.
Please provide the text you would like translated.
```bash
#Get a message
az rest --method post \

View File

@@ -81,7 +81,7 @@ az sql server firewall-rule update \
--end-ip-address <new-end-ip-address>
```
Inoltre, il permesso `Microsoft.Sql/servers/outboundFirewallRules/delete` consente di eliminare una regola del firewall.
NOTA: È necessario avere abilitato l'accesso pubblico.
NOTA: È necessario avere l'accesso pubblico abilitato.
### `Microsoft.Sql/servers/ipv6FirewallRules/write`
@@ -109,7 +109,7 @@ az sql server ad-admin create \
```
### `Microsoft.Sql/servers/azureADOnlyAuthentications/write` && `Microsoft.Sql/servers/azureADOnlyAuthentications/read`
Con queste autorizzazioni, puoi configurare e applicare "Microsoft Entra Authentication Only" su un Azure SQL Server, il che potrebbe facilitare l'escalation dei privilegi in determinate situazioni. Un attaccante o un utente autorizzato con queste autorizzazioni può abilitare o disabilitare l'autenticazione solo con Azure AD.
Con queste autorizzazioni, puoi configurare e applicare "Autenticazione solo Microsoft Entra" su un Azure SQL Server, il che potrebbe facilitare l'escalation dei privilegi in determinate situazioni. Un attaccante o un utente autorizzato con queste autorizzazioni può abilitare o disabilitare l'autenticazione solo Azure AD.
```bash
#Enable
az sql server azure-ad-only-auth enable \

View File

@@ -4,7 +4,7 @@
## Informazioni di base
Azure Queue Storage è un servizio nella piattaforma cloud Azure di Microsoft progettato per la messaggistica tra i componenti dell'applicazione, **abilitando la comunicazione asincrona e il disaccoppiamento**. Ti consente di memorizzare un numero illimitato di messaggi, ciascuno fino a 64 KB di dimensione, e supporta operazioni come la creazione e la cancellazione di code, l'aggiunta, il recupero, l'aggiornamento e la cancellazione di messaggi, oltre alla gestione dei metadati e delle politiche di accesso. Sebbene elabori tipicamente i messaggi in un modo first-in-first-out (FIFO), il FIFO rigoroso non è garantito.
Azure Queue Storage è un servizio nella piattaforma cloud Azure di Microsoft progettato per la messaggistica tra i componenti dell'applicazione, **abilitando comunicazione asincrona e disaccoppiamento**. Consente di memorizzare un numero illimitato di messaggi, ciascuno fino a 64 KB di dimensione, e supporta operazioni come la creazione e la cancellazione di code, l'aggiunta, il recupero, l'aggiornamento e la cancellazione di messaggi, oltre alla gestione dei metadati e delle politiche di accesso. Sebbene elabori tipicamente i messaggi in un ordine first-in-first-out (FIFO), la FIFO rigorosa non è garantita.
### Enumerazione

View File

@@ -4,11 +4,11 @@
## Service Bus
Azure Service Bus è un **servizio di messaggistica** basato su cloud progettato per abilitare una **comunicazione affidabile tra diverse parti di un'applicazione o applicazioni separate**. Funziona come un intermediario sicuro, garantendo che i messaggi vengano consegnati in modo sicuro, anche se il mittente e il destinatario non operano simultaneamente. Decoupling dei sistemi consente alle applicazioni di lavorare in modo indipendente pur continuando a scambiare dati o istruzioni. È particolarmente utile per scenari che richiedono bilanciamento del carico tra più lavoratori, consegna affidabile dei messaggi o coordinamento complesso, come l'elaborazione di compiti in ordine o la gestione sicura degli accessi.
Azure Service Bus è un **servizio di messaggistica** basato su cloud progettato per abilitare una **comunicazione affidabile tra diverse parti di un'applicazione o applicazioni separate**. Funziona come un intermediario sicuro, garantendo che i messaggi vengano consegnati in modo sicuro, anche se il mittente e il destinatario non operano simultaneamente. Decoupling dei sistemi consente alle applicazioni di lavorare in modo indipendente pur continuando a scambiare dati o istruzioni. È particolarmente utile per scenari che richiedono bilanciamento del carico tra più lavoratori, consegna affidabile dei messaggi o coordinamento complesso, come l'elaborazione di compiti in ordine o la gestione sicura dell'accesso.
### Concetti Chiave
### Key Concepts
1. **Namespaces:** Un namespace nei sistemi di messaggistica è un contenitore logico che organizza e gestisce componenti di messaggistica, code e argomenti. Fornisce un ambiente isolato in cui le applicazioni possono inviare, ricevere e elaborare messaggi. Le code e gli argomenti condividono la stessa infrastruttura e configurazione all'interno di un namespace di Service Bus, ma operano in modo indipendente senza interagire tra loro.
1. **Namespaces:** Un namespace nei sistemi di messaggistica è un contenitore logico che organizza e gestisce i componenti di messaggistica, le code e gli argomenti. Fornisce un ambiente isolato in cui le applicazioni possono inviare, ricevere e elaborare messaggi. Le code e gli argomenti condividono la stessa infrastruttura e configurazione all'interno di un namespace di Service Bus, ma operano in modo indipendente senza interagire tra loro.
2. **Queues:** il suo scopo è memorizzare i messaggi fino a quando il destinatario non è pronto.
- I messaggi sono ordinati, timestampati e memorizzati in modo durevole.
- Consegnati in modalità pull (recupero su richiesta).
@@ -18,7 +18,7 @@ Azure Service Bus è un **servizio di messaggistica** basato su cloud progettato
- Le sottoscrizioni possono avere regole/filtri per controllare la consegna o aggiungere metadati.
- Supporta la comunicazione molti-a-molti.
L'endpoint/connection string del service bus è:
La stringa di connessione/endpoint del service bus è:
```bash
https://<namespace>.servicebus.windows.net:443/
```
@@ -31,15 +31,15 @@ Alcune funzioni avanzate sono:
- **Dead-Lettering**: Cattura messaggi non consegnabili per la revisione.
- **Scheduled Delivery**: Ritarda l'elaborazione dei messaggi per compiti futuri.
- **Message Deferral**: Rimanda il recupero dei messaggi fino a quando non è pronto.
- **Transactions**: Raggruppa le operazioni in esecuzione atomica.
- **Filters & Actions**: Applica regole per filtrare o annotare i messaggi.
- **Transactions**: Raggruppa operazioni in esecuzione atomica.
- **Filters & Actions**: Applica regole per filtrare o annotare messaggi.
- **Auto-Delete on Idle**: Elimina le code dopo inattività (min: 5 minuti).
- **Duplicate Detection**: Rimuove messaggi duplicati durante i reinvii.
- **Batch Deletion**: Elimina in blocco messaggi scaduti o non necessari.
### Regola di Autorizzazione / Politica SAS
### Authorization-Rule / SAS Policy
Le Politiche SAS definiscono i permessi di accesso per le entità del namespace di Azure Service Bus (la più importante), code e argomenti. Ogni politica ha i seguenti componenti:
Le SAS Policies definiscono i permessi di accesso per le entità del namespace di Azure Service Bus (la più importante), code e argomenti. Ogni policy ha i seguenti componenti:
- **Permissions**: Caselle di controllo per specificare i livelli di accesso:
- Manage: Concede il pieno controllo sull'entità, inclusa la gestione della configurazione e dei permessi.
@@ -47,18 +47,18 @@ Le Politiche SAS definiscono i permessi di accesso per le entità del namespace
- Listen: Consente di ricevere messaggi dall'entità.
- **Primary and Secondary Keys**: Questi sono chiavi crittografiche utilizzate per generare token sicuri per autenticare l'accesso.
- **Primary and Secondary Connection Strings**: Stringhe di connessione preconfigurate che includono l'endpoint e la chiave per un uso facile nelle applicazioni.
- **SAS Policy ARM ID**: Il percorso di Azure Resource Manager (ARM) per la politica per identificazione programmatica.
- **SAS Policy ARM ID**: Il percorso di Azure Resource Manager (ARM) per la policy per identificazione programmatica.
È importante notare che un namespace ha una singola politica SAS che influisce su ogni entità al suo interno, mentre code e argomenti possono avere le proprie politiche SAS individuali per un controllo più granulare.
È importante notare che un namespace ha una singola SAS policy che influisce su ogni entità al suo interno, mentre code e argomenti possono avere le proprie SAS policies individuali per un controllo più granulare.
### "--disable-local-auth"
Il parametro --disable-local-auth viene utilizzato per controllare se l'autenticazione locale (cioè l'uso delle chiavi di Shared Access Signature (SAS)) è abilitata per il tuo namespace di Service Bus. Ecco cosa devi sapere:
Il parametro --disable-local-auth viene utilizzato per controllare se l'autenticazione locale (cioè l'uso delle chiavi Shared Access Signature (SAS)) è abilitata per il tuo namespace di Service Bus. Ecco cosa devi sapere:
- Quando impostato su true: L'autenticazione locale utilizzando le chiavi SAS è disabilitata e l'autenticazione di Azure Active Directory (Azure AD) è consentita.
- Quando impostato su false: Sia l'autenticazione SAS (locale) che l'autenticazione di Azure AD sono disponibili e puoi utilizzare stringhe di connessione con chiavi SAS per accedere alle risorse del tuo Service Bus.
- Quando impostato su false: Sia l'autenticazione SAS (locale) che l'autenticazione Azure AD sono disponibili e puoi utilizzare stringhe di connessione con chiavi SAS per accedere alle risorse del tuo Service Bus.
### Enumerazione
### Enumeration
{{#tabs }}
{{#tab name="az cli" }}
@@ -142,7 +142,6 @@ Get-AzServiceBusTopic -ResourceGroupName <ResourceGroupName> -NamespaceName <Nam
{{#endtab }}
{{#endtabs }}
### Escalation dei privilegi
{{#ref}}

View File

@@ -6,10 +6,10 @@
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 consiste in quattro offerte principali:
Azure SQL è composto da quattro offerte principali:
1. **Azure SQL Server**: Azure SQL Server è un servizio di database relazionale gestito che semplifica il deployment e la gestione dei database SQL Server, con funzionalità di sicurezza e prestazioni integrate.
2. **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 schemi di database unici e fornisce raccomandazioni personalizzate e ottimizzazione automatica.
2. **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 di database unici e fornisce raccomandazioni personalizzate e ottimizzazione automatica.
3. **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 on-premises di SQL Server (Enterprise Edition) Database Engine, che offre un'implementazione nativa di rete virtuale (VNet) che affronta le comuni preoccupazioni di sicurezza, e un modello di business favorevole per i clienti SQL Server on-premises.
4. **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.
@@ -30,7 +30,7 @@ Azure SQL Server è un sistema di gestione di database relazionali (RDBMS) che u
- Reindirizza: I client si connettono direttamente al nodo che ospita il database.
#### Metodi di autenticazione
Azure SQL supporta vari metodi di autenticazione per garantire l'accesso sicuro al database:
Azure SQL supporta vari metodi di autenticazione per garantire l'accesso al database:
- **Autenticazione solo Microsoft Entra**: Utilizza Microsoft Entra (precedentemente Azure AD) per la gestione centralizzata dell'identità e il single sign-on.
- **Autenticazione sia SQL che Microsoft Entra**: Ti consente di utilizzare l'autenticazione SQL tradizionale insieme a Microsoft Entra.
@@ -55,7 +55,7 @@ Azure SQL Database supporta opzioni di distribuzione flessibili per soddisfare v
- Ottimo per microservizi o applicazioni che richiedono una singola fonte di dati.
- **Pool elastico**:
- Consente a più database di condividere risorse all'interno di un pool.
- Economico per applicazioni con schemi di utilizzo fluttuanti tra più database.
- Economico per applicazioni con modelli di utilizzo fluttuanti tra più database.
### Azure SQL Database
@@ -82,7 +82,7 @@ Azure SQL Database supporta opzioni di distribuzione flessibili per soddisfare v
#### Funzionalità di sicurezza
- **Microsoft Defender per SQL**: può essere abilitato offrendo valutazioni delle vulnerabilità e protezione avanzata dalle minacce.
- **Ledger**: verifica crittograficamente l'integrità dei dati, garantendo che qualsiasi manomissione venga rilevata.
- **Ledger**: verifica crittograficamente l'integrità dei dati, garantendo che eventuali manomissioni vengano rilevate.
- **Identità del server**: utilizza identità gestite assegnate dal sistema e dall'utente per abilitare l'accesso centralizzato.
- **Gestione delle chiavi di crittografia dei dati trasparenti**: crittografa database, backup e log a riposo senza richiedere modifiche all'applicazione. La crittografia può essere abilitata su ciascun database e, se configurata a livello di database, queste impostazioni sovrascrivono la configurazione a livello di server.
- **Always Encrypted**: è un insieme di funzionalità avanzate di protezione dei dati che separa la proprietà dei dati dalla gestione dei dati. Ciò garantisce che gli amministratori o gli operatori con privilegi elevati non possano accedere ai dati sensibili.
@@ -281,7 +281,7 @@ $Connection.Close()
invoke-sql 'Select Distinct TABLE_NAME From information_schema.TABLES;'
```
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:
Puoi anche utilizzare 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:
```bash
sqlcmd -S <sql-server>.database.windows.net -U <server-user> -P <server-passworkd> -d <database>
```
@@ -298,7 +298,7 @@ sqlcmd -S <sql-server>.database.windows.net -U <server-user> -P <server-passwork
../az-privilege-escalation/az-sql-privesc.md
{{#endref}}
## Post Exploitation
## Post Sfruttamento
{{#ref}}
../az-post-exploitation/az-sql-post-exploitation.md

View File

@@ -4,11 +4,11 @@
## Informazioni di Base
Le Google Cloud Compute Instances sono **macchine virtuali personalizzabili sull'infrastruttura cloud di Google**, che offrono potenza di calcolo scalabile e on-demand per una vasta gamma di applicazioni. Forniscono funzionalità come distribuzione globale, archiviazione persistente, scelte flessibili del sistema operativo e forti integrazioni di rete e sicurezza, rendendole una scelta versatile per ospitare siti web, elaborare dati e eseguire applicazioni in modo efficiente nel cloud.
Google Cloud Compute Instances sono **macchine virtuali personalizzabili sull'infrastruttura cloud di Google**, che offrono potenza di calcolo scalabile e on-demand per una vasta gamma di applicazioni. Forniscono funzionalità come distribuzione globale, archiviazione persistente, scelte flessibili del sistema operativo e forti integrazioni di rete e sicurezza, rendendole una scelta versatile per ospitare siti web, elaborare dati e eseguire applicazioni in modo efficiente nel cloud.
### VM Riservate
Le VM riservate utilizzano **funzionalità di sicurezza basate sull'hardware** offerte dalla più recente generazione di processori AMD EPYC, che includono crittografia della memoria e virtualizzazione crittografata sicura. Queste funzionalità consentono alla VM di proteggere i dati elaborati e memorizzati al suo interno anche dal sistema operativo host e dall'ipervisore.
Le VM riservate utilizzano **funzionalità di sicurezza basate sull'hardware** offerte dall'ultima generazione di processori AMD EPYC, che includono crittografia della memoria e virtualizzazione crittografata sicura. Queste funzionalità consentono alla VM di proteggere i dati elaborati e memorizzati al suo interno anche dal sistema operativo host e dall'ipervisore.
Per eseguire una VM riservata potrebbe essere necessario **cambiare** cose come il **tipo** della **macchina**, l'**interfaccia** di rete, l'**immagine del disco di avvio**.
@@ -21,10 +21,10 @@ Per eseguire una VM riservata potrebbe essere necessario **cambiare** cose come
- Indicare se desideri **eliminare il disco quando l'istanza viene eliminata**
- **Crittografia**: Per **default** verrà utilizzata una **chiave gestita da Google**, ma puoi anche **selezionare una chiave da KMS** o indicare **una chiave grezza da utilizzare**.
### Distribuire un Contenitore
### Distribuire Container
È possibile distribuire un **contenitore** all'interno della macchina virtuale.\
È possibile configurare l'**immagine** da utilizzare, impostare il **comando** da eseguire all'interno, **argomenti**, montare un **volume** e **variabili d'ambiente** (informazioni sensibili?) e configurare diverse opzioni per questo contenitore come eseguire come **privilegiato**, stdin e pseudo TTY.
È possibile distribuire un **container** all'interno della macchina virtuale.\
È possibile configurare l'**immagine** da utilizzare, impostare il **comando** da eseguire all'interno, **argomenti**, montare un **volume** e **variabili d'ambiente** (informazioni sensibili?) e configurare diverse opzioni per questo container come eseguire come **privilegiato**, stdin e pseudo TTY.
### Account di Servizio
@@ -50,17 +50,17 @@ Tuttavia, è possibile **concedere `cloud-platform` con un clic** o specificare
<figure><img src="../../../../images/image (326).png" alt=""><figcaption></figcaption></figure>
### Rete
### Networking
- **Inoltro IP**: È possibile **abilitare l'inoltro IP** dalla creazione dell'istanza.
- **Nome host**: È possibile dare all'istanza un nome host permanente.
- **IP Forwarding**: È possibile **abilitare l'inoltro IP** dalla creazione dell'istanza.
- **Hostname**: È possibile dare all'istanza un hostname permanente.
- **Interfaccia**: È possibile aggiungere un'interfaccia di rete.
### Sicurezza Aggiuntiva
Queste opzioni **aumenteranno la sicurezza** della VM e sono raccomandate:
- **Avvio sicuro:** L'avvio sicuro aiuta a proteggere le tue istanze VM contro malware e rootkit a livello di avvio e kernel.
- **Secure boot:** Secure boot aiuta a proteggere le tue istanze VM contro malware e rootkit a livello di avvio e kernel.
- **Abilita vTPM:** Il Modulo di Piattaforma Fidato Virtuale (vTPM) convalida l'integrità pre-avvio e di avvio della tua VM guest e offre generazione e protezione delle chiavi.
- **Supervisione dell'integrità:** Il monitoraggio dell'integrità ti consente di monitorare e verificare l'integrità di avvio in tempo reale delle tue istanze VM protette utilizzando i rapporti di Stackdriver. Richiede che vTPM sia abilitato.
@@ -72,11 +72,11 @@ Quando questo **servizio** è **abilitato**, l'accesso tramite **chiavi SSH è d
<figure><img src="../../../../images/image (328).png" alt=""><figcaption></figcaption></figure>
### Metadati
### Metadata
È possibile definire **automazione** (userdata in AWS) che sono **comandi shell** che verranno eseguiti ogni volta che la macchina si accende o si riavvia.
È anche possibile **aggiungere valori chiave-valore di metadati extra** che saranno accessibili dall'endpoint dei metadati. Queste informazioni sono comunemente utilizzate per variabili d'ambiente e script di avvio/arresto. Queste possono essere ottenute utilizzando il **metodo `describe`** da un comando nella sezione di enumerazione, ma possono anche essere recuperate dall'interno dell'istanza accedendo all'endpoint dei metadati.
È anche possibile **aggiungere valori chiave-valore di metadata extra** che saranno accessibili dall'endpoint dei metadata. Queste informazioni sono comunemente utilizzate per variabili d'ambiente e script di avvio/arresto. Queste possono essere ottenute utilizzando il **metodo `describe`** da un comando nella sezione di enumerazione, ma possono anche essere recuperate dall'interno dell'istanza accedendo all'endpoint dei metadata.
```bash
# view project metadata
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \