mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-30 06:30:35 -08:00
Translated ['src/pentesting-cloud/azure-security/az-post-exploitation/az
This commit is contained in:
@@ -18,7 +18,7 @@ az logic workflow identity remove/assign \
|
||||
--system-assigned true \
|
||||
--user-assigned "/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity_name>"
|
||||
```
|
||||
In aggiunta, con `Microsoft.Logic/workflows/write` puoi modificare alcune configurazioni come gli indirizzi IP in ingresso consentiti o i giorni di conservazione della cronologia delle esecuzioni:
|
||||
In aggiunta, con solo `Microsoft.Logic/workflows/write` puoi modificare alcune configurazioni come gli indirizzi IP in entrata consentiti o i giorni di conservazione della cronologia delle esecuzioni:
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--uri "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Logic/workflows/<workflow_name>?api-version=2019-05-01" \
|
||||
@@ -135,7 +135,7 @@ az logic integration-account partner create \
|
||||
}'
|
||||
```
|
||||
### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/sessions/write`
|
||||
Con questo permesso, puoi creare o modificare sessioni all'interno di un account di integrazione Azure Logic Apps. Le sessioni sono utilizzate nei flussi di lavoro B2B per raggruppare i messaggi e tenere traccia delle transazioni correlate su un periodo definito.
|
||||
Con questo permesso, puoi creare o modificare sessioni all'interno di un account di integrazione Azure Logic Apps. Le sessioni sono utilizzate nei flussi di lavoro B2B per raggruppare i messaggi e tenere traccia delle transazioni correlate per un periodo definito.
|
||||
```bash
|
||||
az logic integration-account session create \
|
||||
--resource-group <resource_group_name> \
|
||||
|
||||
@@ -92,7 +92,7 @@ curl --request POST \
|
||||
--data '{"exampleKey": "exampleValue"}'
|
||||
```
|
||||
### (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/basicPublishingCredentialsPolicies/read`, `Microsoft.Web/sites/write`, `Microsoft.Web/sites/config/list/action`) && (`Microsoft.Web/sites/start/action`)
|
||||
Con questi permessi, puoi distribuire flussi di lavoro di Logic App utilizzando distribuzioni di file ZIP. Questi permessi abilitano azioni come la lettura dei dettagli dell'app, l'accesso alle credenziali di pubblicazione, la scrittura di modifiche e l'elenco delle configurazioni dell'app. Insieme ai permessi di avvio, puoi aggiornare e distribuire una nuova Logic App con il contenuto desiderato.
|
||||
Con questi permessi, puoi distribuire flussi di lavoro di Logic App utilizzando distribuzioni di file ZIP. Questi permessi abilitano azioni come la lettura dei dettagli dell'app, l'accesso alle credenziali di pubblicazione, la scrittura delle modifiche e l'elenco delle configurazioni dell'app. Insieme ai permessi di avvio, puoi aggiornare e distribuire una nuova Logic App con il contenuto desiderato.
|
||||
```bash
|
||||
az logicapp deployment source config-zip \
|
||||
--name <logic_app_name> \
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
## Azure CosmosDB
|
||||
|
||||
**Azure Cosmos DB** è un **database NoSQL, relazionale e vettoriale completamente gestito** che offre tempi di risposta a singolo millisecondo, scalabilità automatica e disponibilità supportata da SLA con sicurezza di livello enterprise. Consente uno sviluppo più rapido delle app attraverso la distribuzione di dati multi-regione chiavi in mano, API open-source, SDK per linguaggi popolari e funzionalità di database AI come il supporto vettoriale integrato e l'integrazione fluida con Azure AI.
|
||||
**Azure Cosmos DB** è un **database NoSQL, relazionale e vettoriale completamente gestito** che offre tempi di risposta in millisecondi a cifra singola, scalabilità automatica e disponibilità supportata da SLA con sicurezza di livello enterprise. Consente uno sviluppo più rapido delle app attraverso la distribuzione di dati multi-regione "chiavi in mano", API open-source, SDK per linguaggi popolari e funzionalità di database AI come il supporto vettoriale integrato e l'integrazione fluida con Azure AI.
|
||||
|
||||
Azure Cosmos DB fornisce più API di database per modellare dati del mondo reale utilizzando modelli di dati documentali, relazionali, chiave-valore, grafico e a colonne, essendo queste API NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin e Table.
|
||||
Azure Cosmos DB fornisce più API per database per modellare dati del mondo reale utilizzando modelli di dati documentali, relazionali, chiave-valore, grafici e a colonne, essendo queste API NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin e Table.
|
||||
|
||||
Un aspetto chiave di CosmosDB è l'Azure Cosmos Account. **Azure Cosmos Account** funge da punto di accesso ai database. L'account determina impostazioni chiave come distribuzione globale, livelli di coerenza e l'API specifica da utilizzare, come NoSQL. Attraverso l'account, puoi configurare la replica globale per garantire che i dati siano disponibili in più regioni per un accesso a bassa latenza. Inoltre, puoi scegliere un livello di coerenza che bilancia tra prestazioni e accuratezza dei dati, con opzioni che vanno da Strong a Eventual consistency.
|
||||
Un aspetto chiave di CosmosDB è l'Azure Cosmos Account. **Azure Cosmos Account** funge da punto di accesso ai database. L'account determina impostazioni chiave come distribuzione globale, livelli di coerenza e l'API specifica da utilizzare, come NoSQL. Attraverso l'account, puoi configurare la replicazione globale per garantire che i dati siano disponibili in più regioni per un accesso a bassa latenza. Inoltre, puoi scegliere un livello di coerenza che bilancia tra prestazioni e accuratezza dei dati, con opzioni che vanno da Strong a Eventual consistency.
|
||||
|
||||
Azure Cosmos DB supporta **identità assegnate dall'utente** e **identità gestite assegnate dal sistema** che vengono create automaticamente e collegate al ciclo di vita della risorsa. Tuttavia, Cosmos DB non ha un meccanismo integrato per interrogare direttamente fonti di dati esterne come Azure Blob Storage. A differenza delle funzionalità delle tabelle esterne di SQL Server, Cosmos DB richiede che i dati vengano ingeriti nei suoi contenitori utilizzando strumenti esterni come Azure Data Factory, il Data Migration Tool o script personalizzati prima di poter essere interrogati con le sue capacità di query native.
|
||||
|
||||
@@ -205,13 +205,13 @@ mongodb://<hostname>:<port>/<database>
|
||||
In MongoDB, puoi creare uno o più database all'interno di un'istanza. Ogni database funge da raggruppamento logico di collezioni e fornisce un confine per l'organizzazione e la gestione delle risorse. I database aiutano a separare e gestire i dati in modo logico, ad esempio per diverse applicazioni o progetti.
|
||||
|
||||
#### Collezioni
|
||||
L'unità fondamentale di archiviazione dei dati in MongoDB è la collezione, che contiene documenti ed è progettata per interrogazioni efficienti e un design dello schema flessibile. Le collezioni sono elastico scalabili e possono supportare operazioni ad alta capacità attraverso più nodi in un setup distribuito.
|
||||
L'unità fondamentale di archiviazione dei dati in MongoDB è la collezione, che contiene documenti ed è progettata per query efficienti e un design dello schema flessibile. Le collezioni sono elastico scalabili e possono supportare operazioni ad alta capacità attraverso più nodi in un setup distribuito.
|
||||
|
||||
#### Caratteristiche principali del tipo di unità di richiesta (RU)
|
||||
**Distribuzione globale**: Abilita o disabilita la Geo-Redundancy per la replica tra regioni e le scritture multi-regione per una disponibilità migliorata.
|
||||
**Networking & Sicurezza**: tra endpoint pubblici (tutti/selezionati) o privati per la connettività. Connessioni sicure con crittografia TLS 1.2. Supporta CORS (Cross-Origin Resource Sharing) per un accesso controllato alle risorse. Per effettuare la connessione puoi utilizzare le chiavi.
|
||||
**Networking & Sicurezza**: tra endpoint pubblici (tutti/seleziona reti) o privati per la connettività. Connessioni sicure con crittografia TLS 1.2. Supporta CORS (Cross-Origin Resource Sharing) per un accesso controllato alle risorse. Per stabilire la connessione puoi utilizzare le chiavi.
|
||||
**Backup & Ripristino**: da politiche di backup Periodiche, Continue (7 giorni, gratuite) o Continue (30 giorni, a pagamento) con intervalli e retention configurabili.
|
||||
**Crittografia dei dati**: Chiavi gestite dal servizio predefinite o chiavi gestite dal cliente (CMK) per la crittografia (la selezione della CMK è irreversibile).
|
||||
**Crittografia dei dati**: Chiavi gestite dal servizio predefinite o chiavi gestite dal cliente (CMK) per la crittografia (la selezione di CMK è irreversibile).
|
||||
|
||||
#### Caratteristiche principali del tipo di cluster vCore
|
||||
**Distribuzione globale**: Abilita una replica di lettura in un'altra regione Azure per alta disponibilità e supporto al failover. Configura il nome della replica, la regione e lo storage per shard.
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Informazioni di Base
|
||||
## Informazioni di base
|
||||
|
||||
Azure Logic Apps è un servizio basato su cloud fornito da Microsoft Azure che consente agli sviluppatori di **creare e eseguire flussi di lavoro che integrano vari servizi**, fonti di dati e applicazioni. Questi flussi di lavoro sono progettati per **automatizzare i processi aziendali**, orchestrare attività e eseguire integrazioni di dati tra diverse piattaforme.
|
||||
|
||||
Logic Apps fornisce un designer visivo per creare flussi di lavoro con una **ampia gamma di connettori predefiniti**, che facilita la connessione e l'interazione con vari servizi, come Office 365, Dynamics CRM, Salesforce e molti altri. Puoi anche creare connettori personalizzati per le tue esigenze specifiche.
|
||||
|
||||
Quando crei un Logic App, devi creare o collegare un account di archiviazione esterno che memorizza lo stato del flusso di lavoro, la cronologia delle esecuzioni e gli artefatti. Questo spazio di archiviazione può essere configurato con impostazioni diagnostiche per il monitoraggio e può essere protetto con restrizioni di accesso alla rete o integrato in una rete virtuale per controllare il traffico in entrata e in uscita.
|
||||
Quando crei un Logic App, devi creare o collegare un account di archiviazione esterno che memorizza lo stato del flusso di lavoro, la cronologia delle esecuzioni e gli artefatti. Questo storage può essere configurato con impostazioni diagnostiche per il monitoraggio e può essere protetto con restrizioni di accesso alla rete o integrato in una rete virtuale per controllare il traffico in entrata e in uscita.
|
||||
|
||||
### Esempi
|
||||
|
||||
- **Automatizzare i Pipeline di Dati**: Logic Apps può automatizzare **processi di trasferimento e trasformazione dei dati** in combinazione con Azure Data Factory. Questo è utile per creare pipeline di dati scalabili e affidabili che spostano e trasformano i dati tra vari archivi di dati, come Azure SQL Database e Azure Blob Storage, supportando le operazioni di analisi e business intelligence.
|
||||
- **Integrazione con Azure Functions**: Logic Apps può lavorare insieme ad Azure Functions per sviluppare **applicazioni sofisticate e basate su eventi che scalano secondo necessità** e si integrano perfettamente con altri servizi Azure. Un esempio di caso d'uso è utilizzare un Logic App per attivare una Azure Function in risposta a determinati eventi, come cambiamenti in un account di archiviazione Azure, consentendo un'elaborazione dinamica dei dati.
|
||||
- **Automazione dei Data Pipeline**: Logic Apps può automatizzare **processi di trasferimento e trasformazione dei dati** in combinazione con Azure Data Factory. Questo è utile per creare pipeline di dati scalabili e affidabili che spostano e trasformano i dati tra vari archivi di dati, come Azure SQL Database e Azure Blob Storage, supportando le operazioni di analisi e business intelligence.
|
||||
- **Integrazione con Azure Functions**: Logic Apps può lavorare insieme ad Azure Functions per sviluppare **applicazioni sofisticate e basate su eventi che scalano secondo necessità** e si integrano perfettamente con altri servizi Azure. Un esempio di caso d'uso è utilizzare un Logic App per attivare una Azure Function in risposta a determinati eventi, come modifiche in un account di archiviazione Azure, consentendo un'elaborazione dinamica dei dati.
|
||||
|
||||
### Visualizza un LogicAPP
|
||||
|
||||
@@ -21,7 +21,7 @@ Quando crei un Logic App, devi creare o collegare un account di archiviazione es
|
||||
|
||||
<figure><img src="../../../images/image (197).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
o controllare il codice nella sezione "**Visualizzazione codice dell'app Logic**".
|
||||
o controllare il codice nella sezione "**Visualizzazione codice Logic app**".
|
||||
|
||||
### Protezione SSRF
|
||||
|
||||
@@ -39,7 +39,7 @@ Ci sono diverse opzioni di hosting:
|
||||
* **Consumption**
|
||||
- **Multi-tenant**: fornisce risorse di calcolo condivise, opera nel cloud pubblico e segue un modello di prezzo pay-per-operation. Questo è ideale per carichi di lavoro leggeri e convenienti. Questo distribuisce un "Single Workflow".
|
||||
* **Standard**
|
||||
- **Workflow Service Plan**: risorse di calcolo dedicate con integrazione VNET per il networking e addebiti per istanza del piano di servizio workflow. È adatto per carichi di lavoro più esigenti che richiedono un maggiore controllo.
|
||||
- **Workflow Service Plan**: risorse di calcolo dedicate con integrazione VNET per il networking e addebiti per ogni istanza del piano di servizio workflow. È adatto per carichi di lavoro più esigenti che richiedono un maggiore controllo.
|
||||
- **App Service Environment V3** risorse di calcolo dedicate con piena isolamento e scalabilità. Si integra anche con VNET per il networking e utilizza un modello di prezzo basato sulle istanze di App Service all'interno dell'ambiente.
|
||||
- **Hybrid** progettato per l'elaborazione locale e il supporto multi-cloud. Consente risorse di calcolo gestite dal cliente con accesso alla rete locale e utilizza Kubernetes Event-Driven Autoscaling (KEDA). Si basa su un Container App Connected Environment.
|
||||
|
||||
@@ -57,7 +57,7 @@ Azure Logic Apps offre la funzionalità di **creare un singolo workflow senza la
|
||||
|
||||
Ogni workflow ha diversi **triggers**. Questi triggers sono i passaggi che il workflow segue. Ogni trigger ha i propri parametri che possono variare a seconda del tipo di trigger:
|
||||
- Nome della connessione
|
||||
- **Tipo di autenticazione** che può essere, Access Key, Microsoft Entra ID, autenticazione del principal di servizio integrato e identità gestita delle Logic Apps.
|
||||
- **Tipo di autenticazione** che può essere, Access Key, Microsoft Entra ID, autenticazione del servizio integrato e identità gestita delle Logic Apps.
|
||||
|
||||
I triggers hanno anche varie impostazioni:
|
||||
- Validazione dello schema: Garantisce che i dati in arrivo seguano una struttura predefinita.
|
||||
@@ -82,7 +82,7 @@ Ha l'opzione di accedere alla **cronologia** delle diverse esecuzioni, mostra Im
|
||||
Ha anche l'opzione di accedere a diverse **versioni** del workflow, dove puoi controllare il codice e cambiare il workflow attuale con una versione precedente di esso.
|
||||
|
||||
**Autorizzazione:**
|
||||
Le Azure Logic Apps supportano **politiche di autorizzazione** con Entra ID per proteggere i trigger basati su richiesta richiedendo un token di accesso valido. Questo token deve includere specifiche dichiarazioni:
|
||||
Le Azure Logic Apps supportano **politiche di autorizzazione** con Entra ID per proteggere i trigger basati su richieste richiedendo un token di accesso valido. Questo token deve includere specifiche dichiarazioni:
|
||||
- Emittente (iss) per verificare il fornitore di identità
|
||||
- Destinatario (aud) per garantire che il token sia destinato alla Logic App
|
||||
- Soggetto (sub) per identificare il chiamante
|
||||
@@ -92,9 +92,9 @@ Le Azure Logic Apps supportano **politiche di autorizzazione** con Entra ID per
|
||||
Quando viene ricevuta una richiesta, le Logic Apps convalidano il token rispetto a queste dichiarazioni e consentono l'esecuzione solo se corrispondono alla politica configurata. Questo può essere utilizzato per consentire a un altro tenant di attivare il workflow o negare l'attivazione da altre fonti, ad esempio consentendo l'attivazione solo se proviene da https://login.microsoftonline.com/.
|
||||
|
||||
**Chiavi di accesso:**
|
||||
Quando salvi un trigger basato su richiesta per la prima volta, le Logic Apps creano automaticamente un endpoint unico con una firma SAS (creata dalla Access Key) che concede il permesso di chiamare il workflow. Questa firma SAS è incorporata nell'URL del trigger. Questa chiave può essere rigenerata e darà una nuova firma SAS, ma le chiavi non possono essere elencate.
|
||||
Quando salvi un trigger basato su richiesta per la prima volta, le Logic Apps creano automaticamente un endpoint unico con una firma SAS (creata dall'Access Key) che concede il permesso di chiamare il workflow. Questa firma SAS è incorporata nell'URL del trigger. Questa chiave può essere rigenerata e fornirà una nuova firma SAS, ma le chiavi non possono essere elencate.
|
||||
|
||||
L'URL per invocarlo con la Access Key:
|
||||
L'URL per invocarlo con l'Access Key:
|
||||
|
||||
https://<region>.logic.azure.com:443/workflows/<workflow-id>/triggers/<trigger-name>/paths/invoke?api-version=<api-version>&sp=%2Ftriggers%2F<trigger-name>%2Frun&sv=<version>&sig=<signature>
|
||||
|
||||
@@ -206,13 +206,13 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
|
||||
### Account di Integrazione
|
||||
**Account di Integrazione**, sono una funzionalità di Azure Logic Apps. Gli Account di Integrazione vengono utilizzati per facilitare integrazioni a livello aziendale abilitando capacità B2B avanzate, come EDI, AS2 e gestione degli schemi XML. Gli Account di Integrazione sono un contenitore in Azure che memorizza i seguenti artefatti utilizzati per le Logic Apps:
|
||||
|
||||
* Schemi: Gestisci gli schemi XML per convalidare e elaborare i messaggi nel tuo account di integrazione.
|
||||
* Mappe: Configura trasformazioni basate su XSLT per convertire i formati dei dati all'interno dei tuoi flussi di lavoro di integrazione.
|
||||
* Schemi: Gestisci schemi XML per convalidare e elaborare messaggi nel tuo account di integrazione.
|
||||
* Mappe: Configura trasformazioni basate su XSLT per convertire formati di dati all'interno dei tuoi flussi di lavoro di integrazione.
|
||||
* Assemblaggi: Gestisci gli assemblaggi dell'account di integrazione per semplificare la logica e l'elaborazione dei dati.
|
||||
* Certificati: Gestisci i certificati per crittografare e firmare i messaggi, garantendo comunicazioni sicure.
|
||||
* Partner: Gestisci le informazioni sui partner commerciali per le transazioni B2B, abilitando integrazioni senza soluzione di continuità.
|
||||
* Accordi: Configura regole e impostazioni per lo scambio di dati con i partner commerciali (ad es., EDI, AS2).
|
||||
* Configurazioni Batch: Gestisci le configurazioni di elaborazione batch per raggruppare ed elaborare i messaggi in modo efficiente.
|
||||
* Certificati: Gestisci certificati per crittografare e firmare messaggi, garantendo comunicazioni sicure.
|
||||
* Partner: Gestisci le informazioni sui partner commerciali per transazioni B2B, abilitando integrazioni senza soluzione di continuità.
|
||||
* Accordi: Configura regole e impostazioni per lo scambio di dati con partner commerciali (ad es., EDI, AS2).
|
||||
* Configurazioni Batch: Gestisci configurazioni di elaborazione batch per raggruppare ed elaborare messaggi in modo efficiente.
|
||||
* RosettaNet PIP: Configura i Processi di Interfaccia Partner RosettaNet (PIP) per standardizzare la comunicazione B2B.
|
||||
|
||||
#### Enumerazione
|
||||
@@ -281,7 +281,7 @@ az logic integration-account assembly show \
|
||||
{{#endtab }}
|
||||
|
||||
{{#tab name="Az Powershell" }}
|
||||
```powershell
|
||||
```bash
|
||||
Get-Command -Module Az.LogicApp
|
||||
|
||||
# Retrieve details of an integration account
|
||||
|
||||
Reference in New Issue
Block a user