GCP - Cloud Shell Persistence
Cloud Shell
Для отримання додаткової інформації перегляньте:
pageGCP - Cloud Shell EnumПостійний Задній Вхід
Google Cloud Shell надає вам доступ до командного рядка для ваших хмарних ресурсів безпосередньо з вашого браузера без будь-яких пов'язаних витрат.
Ви можете отримати доступ до Cloud Shell від веб-консолі або запустивши gcloud cloud-shell ssh
.
Ця консоль має деякі цікаві можливості для атакування:
Будь-який користувач Google з доступом до Google Cloud має доступ до повністю аутентифікованого екземпляра Cloud Shell (Службові облікові записи можуть, навіть бути власниками організації).
Зазначений екземпляр буде зберігати свій домашній каталог принаймні 120 днів, якщо не відбувається жодної діяльності.
Немає можливостей для організації моніторити діяльність цього екземпляра.
Це в основному означає, що атакувальник може розмістити задній вхід в домашньому каталозі користувача, і поки користувач підключається до GC Shell принаймні раз на 120 днів, задній вхід залишиться і атакувальник отримає оболонку кожного разу, коли вона запускається, просто виконавши:
У домашній папці є ще один файл під назвою .customize_environment
, якщо він існує, він буде виконуватися кожного разу, коли користувач отримує доступ до хмарного шелу (як у попередній техніці). Просто вставте попередню задню двері або одну, подібну до наступної, щоб зберігати стійкість так довго, як користувач часто використовує хмарний шел:
Важливо зауважити, що перший раз, коли виконується дія, яка вимагає автентифікації, у браузері користувача з'являється вікно авторизації. Це вікно повинно бути прийняте перед тим, як команда може бути виконана. Якщо з'явиться неочікуване вікно, це може викликати підозру та потенційно підірвати використану методику постійства.
Це вікно з'являється при виконанні команди gcloud projects list
з оболонки хмари (як зловмисник) під час перегляду сеансу користувача у браузері:
Однак, якщо користувач активно використовував cloudshell, вікно не з'явиться, і ви можете збирати токени користувача за допомогою:
Як встановлюється з'єднання 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 Shell)
Але ви можете знайти додаткову інформацію за посиланням https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
Посилання
Last updated