GCP - Cloud Shell Persistence
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Για περισσότερες πληροφορίες ελέγξτε:
GCP - Cloud Shell EnumGoogle Cloud Shell σας παρέχει πρόσβαση γραμμής εντολών στους πόρους σας στο cloud απευθείας από τον περιηγητή σας χωρίς κανένα σχετικό κόστος.
Μπορείτε να αποκτήσετε πρόσβαση στο Cloud Shell της Google από την ιστοσελίδα κονσόλας ή εκτελώντας gcloud cloud-shell ssh
.
Αυτή η κονσόλα έχει κάποιες ενδιαφέρουσες δυνατότητες για τους επιτιθέμενους:
Οποιοσδήποτε χρήστης της Google με πρόσβαση στο Google Cloud έχει πρόσβαση σε μια πλήρως αυθεντικοποιημένη περίπτωση Cloud Shell (Οι Λογαριασμοί Υπηρεσιών μπορούν, ακόμη και αν είναι Ιδιοκτήτες της οργάνωσης).
Η εν λόγω περίπτωση θα διατηρήσει τον κατάλογο αρχικής της για τουλάχιστον 120 ημέρες αν δεν συμβεί καμία δραστηριότητα.
Δεν υπάρχουν δυνατότητες για μια οργάνωση να παρακολουθεί τη δραστηριότητα αυτής της περίπτωσης.
Αυτό σημαίνει βασικά ότι ένας επιτιθέμενος μπορεί να τοποθετήσει μια πίσω πόρτα στον κατάλογο αρχικής του χρήστη και όσο ο χρήστης συνδέεται στο GC Shell τουλάχιστον κάθε 120 ημέρες, η πίσω πόρτα θα επιβιώσει και ο επιτιθέμενος θα αποκτά πρόσβαση σε ένα shell κάθε φορά που εκτελείται απλά κάνοντας:
Υπάρχει ένα άλλο αρχείο στον φάκελο του χρήστη που ονομάζεται .customize_environment
που, αν υπάρχει, θα εκτελείται κάθε φορά που ο χρήστης έχει πρόσβαση στο cloud shell (όπως στην προηγούμενη τεχνική). Απλώς εισάγετε την προηγούμενη πίσω πόρτα ή μία όπως η παρακάτω για να διατηρήσετε την επιμονή όσο ο χρήστης χρησιμοποιεί "συχνά" το cloud shell:
Είναι σημαντικό να σημειωθεί ότι την πρώτη φορά που εκτελείται μια ενέργεια που απαιτεί αυθεντικοποίηση, εμφανίζεται ένα αναδυόμενο παράθυρο εξουσιοδότησης στον περιηγητή του χρήστη. Αυτό το παράθυρο πρέπει να γίνει αποδεκτό πριν μπορέσει να εκτελεστεί η εντολή. Εάν εμφανιστεί ένα απροσδόκητο αναδυόμενο παράθυρο, μπορεί να προκαλέσει υποψίες και ενδεχομένως να θέσει σε κίνδυνο τη μέθοδο επιμονής που χρησιμοποιείται.
Αυτό είναι το αναδυόμενο παράθυρο από την εκτέλεση του gcloud projects list
από το cloud shell (ως επιτιθέμενος) που προβάλλεται στη συνεδρία του περιηγητή του χρήστη:
Ωστόσο, εάν ο χρήστης έχει χρησιμοποιήσει ενεργά το cloudshell, το αναδυόμενο παράθυρο δεν θα εμφανιστεί και μπορείτε να συγκεντρώσετε τα tokens του χρήστη με:
Βασικά, αυτές οι 3 κλήσεις API χρησιμοποιούνται:
https://content-cloudshell.googleapis.com/v1/users/me/environments/default:addPublicKey [POST] (θα σας κάνει να προσθέσετε το δημόσιο κλειδί που δημιουργήσατε τοπικά)
https://content-cloudshell.googleapis.com/v1/users/me/environments/default:start [POST] (θα σας κάνει να ξεκινήσετε την παρουσία)
https://content-cloudshell.googleapis.com/v1/users/me/environments/default [GET] (θα σας πει τη διεύθυνση ip του google cloud shell)
Αλλά μπορείτε να βρείτε περισσότερες πληροφορίες στο https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)