# Az - Cloud Shell

{{#include ../../../banners/hacktricks-training.md}}

## Azure Cloud Shell

**Azure Cloud Shell** est un terminal interactif, authentifié et accessible via un navigateur, conçu pour gérer les ressources Azure, offrant la flexibilité de travailler avec Bash ou PowerShell. Il fonctionne sur un hôte temporaire, par session, qui expire après 20 minutes d'inactivité, tout en conservant les fichiers dans l'emplacement $HOME à l'aide d'un partage de fichiers de 5 Go. Cloud Shell peut être accessible par plusieurs points, y compris le portail Azure, shell.azure.com, la documentation Azure CLI et PowerShell, l'application mobile Azure, et l'extension Azure Account de Visual Studio Code.

Il n'y a pas de permissions assignées à ce service, donc il n'y a pas de techniques d'escalade de privilèges. De plus, il n'y a pas de type d'énumération.

### Key Features

**Environment**: Azure Cloud Shell fournit un environnement sécurisé en fonctionnant sur Azure Linux, la distribution Linux propre à Microsoft conçue pour l'infrastructure cloud. Tous les paquets inclus dans le dépôt Azure Linux sont compilés en interne par Microsoft pour se protéger contre les attaques de la chaîne d'approvisionnement.  
**Preinstalled Tools**: Cloud Shell inclut un ensemble complet d'outils préinstallés tels qu'Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git, et des éditeurs de texte comme vim, nano, et emacs. Ces outils sont prêts à l'emploi. Pour lister les paquets et modules installés, vous pouvez utiliser "Get-Module -ListAvailable", "tdnf list" et "pip3 list".  
**$HOME persistence**: Lors du premier démarrage d'Azure Cloud Shell, vous pouvez l'utiliser avec ou sans un compte de stockage attaché. Choisir de ne pas attacher de stockage crée une session éphémère où les fichiers sont supprimés à la fin de la session. Pour conserver des fichiers entre les sessions, montez un compte de stockage, qui s'attache automatiquement en tant que **$HOME\clouddrive**, avec votre répertoire **$HOME** sauvegardé en tant que fichier **.img** dans Azure File Share. Cependant, les fichiers en dehors de $HOME et les états de machine ne sont pas conservés. Pour stocker en toute sécurité des secrets comme des clés SSH, utilisez Azure Key Vault.  
**Azure drive (Azure:)**: PowerShell dans Azure Cloud Shell inclut le lecteur Azure (Azure:), qui permet une navigation facile des ressources Azure comme Compute, Network, et Storage en utilisant des commandes similaires à celles du système de fichiers. Passez au lecteur Azure avec cd Azure: et revenez à votre répertoire personnel avec cd ~. Vous pouvez toujours utiliser les cmdlets Azure PowerShell pour gérer les ressources depuis n'importe quel lecteur.  
**Custom Tool Installation**: Les utilisateurs qui configurent Cloud Shell avec un compte de stockage peuvent installer des outils supplémentaires qui ne nécessitent pas de permissions root. Cette fonctionnalité permet une personnalisation supplémentaire de l'environnement Cloud Shell, permettant aux utilisateurs d'adapter leur configuration à leurs besoins spécifiques.

## 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

{{#ref}}
../az-persistence/az-cloud-shell-persistence.md
{{#endref}}

{{#include ../../../banners/hacktricks-training.md}}
