3.6 KiB
Az - Cloud Shell
{{#include ../../../banners/hacktricks-training.md}}
Azure Cloud Shell
Azure Cloud Shell é um terminal interativo, autenticado e acessível pelo navegador, projetado para gerenciar recursos do Azure, oferecendo a flexibilidade de trabalhar com Bash ou PowerShell. Ele é executado em um host temporário, por sessão, que expira após 20 minutos de inatividade, enquanto persiste arquivos na localização $HOME usando um compartilhamento de arquivos de 5 GB. O Cloud Shell pode ser acessado através de múltiplos pontos, incluindo o portal do Azure, shell.azure.com, documentação do Azure CLI e PowerShell, o aplicativo móvel do Azure e a extensão Azure Account do Visual Studio Code.
Não há permissões atribuídas a este serviço, portanto, não há técnicas de escalonamento de privilégios. Também não há qualquer tipo de enumeração.
Key Features
Environment: Azure Cloud Shell fornece um ambiente seguro ao ser executado no Azure Linux, a própria distribuição Linux da Microsoft projetada para infraestrutura de nuvem. Todos os pacotes incluídos no repositório do Azure Linux são compilados internamente pela Microsoft para proteger contra ataques à cadeia de suprimentos.
Preinstalled Tools: O Cloud Shell inclui um conjunto abrangente de ferramentas pré-instaladas, como Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git e editores de texto como vim, nano e emacs. Essas ferramentas estão prontas para uso. Para listar os pacotes e módulos instalados, você pode usar "Get-Module -ListAvailable", "tdnf list" e "pip3 list".
$HOME persistence: Ao iniciar o Azure Cloud Shell pela primeira vez, você pode usá-lo com ou sem uma conta de armazenamento anexada. Optar por não anexar armazenamento cria uma sessão efêmera onde os arquivos são excluídos quando a sessão termina. Para persistir arquivos entre sessões, monte uma conta de armazenamento, que é anexada automaticamente como $HOME\clouddrive, com seu diretório $HOME salvo como um arquivo .img no Azure File Share. No entanto, arquivos fora de $HOME e estados de máquina não são persistidos. Para armazenar segredos como chaves SSH de forma segura, use o Azure Key Vault.
Azure drive (Azure:): O PowerShell no Azure Cloud Shell inclui o Azure drive (Azure:), que permite a navegação fácil de recursos do Azure, como Computação, Rede e Armazenamento, usando comandos semelhantes a sistemas de arquivos. Mude para o Azure drive com cd Azure: e retorne ao seu diretório inicial com cd ~. Você ainda pode usar cmdlets do Azure PowerShell para gerenciar recursos de qualquer drive.
Custom Tool Installation: Usuários que configuram o Cloud Shell com uma conta de armazenamento podem instalar ferramentas adicionais que não requerem permissões de root. Este recurso permite uma personalização adicional do ambiente do Cloud Shell, permitindo que os usuários adaptem sua configuração às suas necessidades específicas.
References
- 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/using-the-shell-window
Persistence
{% content-ref url="../az-privilege-escalation/az-cloud-shell-persistence.md" %} az-cloud-shell-persistence.md {% endcontent-ref %}
{{#include ../../../banners/hacktricks-training.md}}