2.5 KiB
Az - Container Instances
{{#include ../../../../banners/hacktricks-training.md}}
Informations de base
Azure Container Instances (ACI) fournissent un mode sans serveur, à la demande pour exécuter des conteneurs dans le cloud Azure. Vous pouvez déployer un ou plusieurs conteneurs dans un groupe avec un calcul évolutif, des options de mise en réseau, et la flexibilité de se connecter à d'autres services Azure (comme Storage, Virtual Networks, ou Container Registries).
Étant donné qu'ils sont des charges de travail éphémères, vous n'avez pas besoin de gérer l'infrastructure VM sous-jacente — Azure s'en occupe pour vous. Cependant, d'un point de vue de sécurité offensive, il est crucial de comprendre comment les permissions, les identités, les configurations réseau, et les logs peuvent révéler des surfaces d'attaque et des configurations potentielles incorrectes.
Configurations
- Pour créer un conteneur, il est possible d'utiliser une image publique, une image de conteneur d'un Azure Container Registry ou d'un dépôt externe, ce qui pourrait nécessiter de configurer un mot de passe pour y accéder.
- En ce qui concerne la mise en réseau, cela peut également avoir une IP publique ou être des points de terminaison privés.
- Il est également possible de configurer des paramètres docker courants tels que :
- Variables d'environnement
- Volumes (même à partir d'Azure Files)
- Ports
- Limites de CPU et de mémoire
- Politique de redémarrage
- Exécuter en tant que privilégié
- Ligne de commande à exécuter
- ...
Énumération
Warning
Lors de l'énumération des ACI, vous pouvez révéler des configurations sensibles telles que des variables d'environnement, des détails réseau, ou des identités gérées. Soyez prudent avec l'enregistrement ou l'affichage de celles-ci.
# List all container instances in the subscription
az container list
# Show detailed information about a specific container instance
az container show --name <container-name> --resource-group <res-group>
# Fetch logs from a container
az container logs --name <container-name> --resource-group <res-group>
# Execute a command in a running container and get the output
az container exec --name <container-name> --resource-group <res-group> --exec-command "ls"
# Get yaml configuration of the container group
az container export --name <container-name> --resource-group <res-group>