From 7228ef2c347915546b6887beabaec33c2b443a10 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 25 Feb 2025 22:31:03 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-services/az-containe --- .../az-container-instances-apps-jobs.md | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md b/src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md new file mode 100644 index 000000000..7158e8ba9 --- /dev/null +++ b/src/pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md @@ -0,0 +1,116 @@ +# Az - Container Instances + +{{#include ../../../banners/hacktricks-training.md}} + +## Información Básica + +**Azure Container Instances (ACI)** es un servicio de contenedores sin servidor que te permite ejecutar contenedores individuales rápidamente sin gestionar ninguna infraestructura subyacente. **Azure Container Apps (ACA)** amplía esto al ofrecer un entorno completamente gestionado para ejecutar microservicios y aplicaciones web con características como escalado automático basado en eventos, integración Dapr incorporada y soporte para escenarios de orquestación complejos. **Container App Jobs** son una característica especializada dentro de ACA diseñada para ejecutar tareas de corta duración, por lotes o programadas que se ejecutan por un período finito y luego finalizan. + +Diferencias: +- ACI es ideal para **cargas de trabajo de contenedores simples** y autónomas donde se necesita una orquestación mínima. +- ACA es más adecuada para construir microservicios escalables e interconectados con características avanzadas como escalado automático y descubrimiento de servicios. +- Container App Jobs se centran en **tareas únicas o programadas**, proporcionando una forma simplificada de ejecutar trabajos en segundo plano o por lotes dentro del entorno ACA. + +### Configuraciones + +Opciones especiales para **ACI**: +- En cuanto a la red, es posible seleccionar una de estas 3 opciones: +- **Pública** (predeterminado) +- **Privada** (solo accesible desde la VNet) +- **Ninguna** (sin acceso a la red) + +Opciones especiales para **ACA**: +- Es posible **restringir el tráfico** al contenedor al entorno de la aplicación de contenedor o dejarlo público. +- Es posible usar un **proveedor de identidad externo** (Microsoft, Facebook, Google y Twitter) para la autenticación. +- Es posible **almacenar secretos de la aplicación** (en texto claro la aplicación o como enlaces a un vault asignando un MI con acceso sobre él). +- Es posible tener **revisiones y réplicas de la aplicación**. +- Es posible desplegar desde un **código fuente o artefacto específico** en lugar de usar un contenedor. Para el código fuente, se debe dar acceso a GitHub. Para artefactos, es posible subirlo después de crear la aplicación. + +Opciones especiales para **jobs**: +- El tipo de activador puede ser **manual, programado o basado en eventos** (como la llegada de un mensaje en una cola). + +Opciones comunes: +- Para crear un contenedor, es posible usar una imagen pública, una imagen de contenedor de un Azure Container Registry o un repositorio externo, lo que podría **requerir configurar una contraseña** para acceder a él. +- Esto significa que la configuración del contenedor podría contener información sensible. +- También es posible configurar configuraciones comunes de docker como: +- **Variables de entorno** (verificar información sensible) +- **Volúmenes** (incluso de Azure Files) +- **Puertos** a exponer +- **Límites de CPU y memoria** +- **Política de reinicio** +- **Ejecutar como privilegiado** +- Sobrescribir la **línea de comandos del contenedor para ejecutar y argumentos** (también se puede modificar en contenedores existentes) +- ... + +## Enumeración + +> [!WARNING] +> Al enumerar, podrías revelar configuraciones sensibles como **variables de entorno**, **detalles de red** o **identidades gestionadas**. +```bash +# ACI +## List all container instances in the subscription +az container list + +## Show detailed information about a specific container instance +az container show --name --resource-group + +## Fetch logs from a container +az container logs --name --resource-group + +## Execute a command in a running container and get the output +az container exec --name --resource-group --exec-command "/bin/sh" # Get a shell + +## Get yaml configuration of the container group +az container export --name --resource-group --file + +# ACA +## List all container apps in the subscription +az containerapp list + +## Show detailed information about a specific container app +az containerapp show --name --resource-group + +## List app environments +az containerapp env list --resource-group + +## Fetch logs from a container app +az containerapp logs show --name --resource-group + +## Get configured secrets +az containerapp secret list --name --resource-group +### Get value +az containerapp secret show --name --resource-group --secret-name + +## Get authentication options +az containerapp auth show --name --resource-group + +## Get a shell +az containerapp exec --name --resource-group --command "sh" + +## Get debugging shell +az containerapp debug --name --resource-group + +# Jobs +## List all container apps jobs in a resource group +az containerapp job list --resource-group + +## Show detailed information about a specific container app job +az containerapp job show --name --resource-group + +## Fetch logs from a container app job +az containerapp job logs show --name --resource-group + +## Fetch executions from a container app job +az containerapp job execution list --name --resource-group +az containerapp job execution show --name --resource-group --job-execution-name + +## Start a job execution (for manual jobs) +az containerapp job start --name --resource-group +``` +## Escalación de Privilegios y Post Explotación + +{{#ref}} +../az-privilege-escalation/az-container-instances-apps-jobs-privesc.md +{{#endref}} + +{{#include ../../../banners/hacktricks-training.md}}