GCP - Compute Instances

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

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

Основна інформація

Інстанси обчислювальних ресурсів Google Cloud - це налаштовані віртуальні машини на хмарній інфраструктурі Google, які пропонують масштабовану та на вимогу обчислювальну потужність для широкого спектру застосувань. Вони надають можливості глобального розгортання, постійного сховища, гнучкого вибору операційних систем та міцної мережевої та безпекової інтеграції, роблячи їх універсальним вибором для розміщення веб-сайтів, обробки даних та ефективного запуску додатків у хмарі.

Конфіденційні ВМ

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

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

Диск та Шифрування Диска

Можливо вибрати диск для використання або створити новий. Якщо ви виберете новий, ви можете:

  • Вибрати розмір диска

  • Вибрати ОС

  • Вказати, чи хочете видалити диск при видаленні інстансу

  • Шифрування: За замовчуванням буде використано керівництво Google, але ви також можете вибрати ключ з KMS або вказати сирій ключ для використання.

Розгортання Контейнера

Можливо розгорнути контейнер всередині віртуальної машини. Можливо налаштувати зображення для використання, встановити команду для запуску всередині, аргументи, підключити том, та змінні середовища (чутлива інформація?) та налаштувати кілька параметрів для цього контейнера, наприклад виконати як привілейований, stdin та псевдо TTY.

Обліковий Запис Сервісу

За замовчуванням буде використано обліковий запис сервісу за замовчуванням Compute Engine. Електронна адреса цього облікового запису сервісу виглядає як: <proj-num>-compute@developer.gserviceaccount.com У цього облікового запису сервісу є роль Редактора над усім проектом (високі привілеї).

І стандартні області доступу виглядають наступним чином:

  • https://www.googleapis.com/auth/devstorage.read_only -- Доступ на читання до відра :)

  • https://www.googleapis.com/auth/logging.write

  • https://www.googleapis.com/auth/monitoring.write

  • https://www.googleapis.com/auth/servicecontrol

  • https://www.googleapis.com/auth/service.management.readonly

  • https://www.googleapis.com/auth/trace.append

Однак можливо надати йому cloud-platform одним кліком або вказати власні.

Брандмауер

Можливо дозволити трафік HTTP та HTTPS.

Мережа

  • Пересилання IP: Можливо увімкнути пересилання IP від створення інстансу.

  • Ім'я хоста: Можливо надати інстансу постійне ім'я хоста.

  • Інтерфейс: Можливо додати мережевий інтерфейс

Додаткова Безпека

Ці параметри підвищать безпеку ВМ і рекомендовані:

  • Безпечний завантаження: Безпечний завантаження допомагає захистити ваші екземпляри ВМ від шкідливих програм на рівні завантаження та ядра.

  • Увімкнути vTPM: Віртуальний модуль довіри платформи (vTPM) перевіряє передзавантаження та цілісність завантаження вашої гостьової ВМ та пропонує генерацію та захист ключів.

  • Нагляд за цілісністю: Моніторинг цілісності дозволяє вам контролювати та перевіряти цілісність завантаження вашого екранованого екземпляра ВМ за допомогою звітів Stackdriver. Вимагає увімкнення vTPM.

Доступ до ВМ

Звичайний спосіб надання доступу до ВМ - це дозвіл на використання певних відкритих ключів SSH для доступу до ВМ. Однак також можливо увімкнути доступ до ВМ через службу os-config за допомогою IAM. Більше того, можливо увімкнути 2FA для доступу до ВМ за допомогою цієї служби. Коли ця служба увімкнена, доступ через ключі SSH вимкнено.

Метадані

Можливо визначити автоматизацію (userdata в AWS), які є командами оболонки, які будуть виконуватися кожного разу, коли машина увімкнена або перезавантажена.

Також можливо додати додаткові ключ-значення метаданих, які будуть доступні з кінцевої точки метаданих. Цю інформацію зазвичай використовують для змінних середовища та сценаріїв запуску/вимкнення. Це можна отримати за допомогою методу describe з команди в розділі переліку, але його також можна отримати зсередини екземпляра, отримуючи доступ до кінцевої точки метаданих.

# view project metadata
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

# view instance metadata
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

Більше того, токен автентифікації для облікового запису служби, а також загальна інформація про екземпляр, мережу та проект також будуть доступні з кінцевої точки метаданих. Для отримання додаткової інформації перевірте:

Шифрування

За замовчуванням використовується ключ шифрування, керований Google, але можна налаштувати ключ шифрування, керований клієнтом (CMEK). Ви також можете налаштувати, що робити, коли використовується CMEF буде відкликано: Нічого або вимкнути віртуальну машину.

Last updated