GCP - Compute Enum

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

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

GCP VPC та мережа

Дізнайтеся, як це працює в:

pageGCP - VPC & Networking

Вибірка

# List networks
gcloud compute networks list
gcloud compute networks describe <network>

# List subnetworks
gcloud compute networks subnets list
gcloud compute networks subnets get-iam-policy <name> --region <region>
gcloud compute networks subnets describe <name> --region <region>

# List FW rules in networks
gcloud compute firewall-rules list --format="table(
name,
network,
direction,
priority,
sourceRanges.list():label=SRC_RANGES,
destinationRanges.list():label=DEST_RANGES,
allowed[].map().firewall_rule().list():label=ALLOW,
denied[].map().firewall_rule().list():label=DENY,
sourceTags.list():label=SRC_TAGS,
sourceServiceAccounts.list():label=SRC_SVC_ACCT,
targetTags.list():label=TARGET_TAGS,
targetServiceAccounts.list():label=TARGET_SVC_ACCT,
disabled
)"

# List Hierarchical Firewalls
gcloud compute firewall-policies list  (--folder <value>| --organization <value>)
gcloud compute firewall-policies describe <fw_policy>
gcloud compute firewall-policies list-rules <fw_policy>

# Get Firewalls of each region
gcloud compute network-firewall-policies list
## Get final FWs applied in a region
gcloud compute network-firewall-policies get-effective-firewalls --network=<vpc_name> --region <region>

Ви легко знаходите обчислювальні екземпляри з відкритими правилами брандмауера за допомогою https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum

Екземпляри обчислювальних систем

Ось як ви можете запускати віртуальні машини в середовищі GCP. Перевірте цю сторінку для отримання додаткової інформації:

pageGCP - Compute Instances

Перелік

# Get list of zones
# It's interesting to know which zones are being used
gcloud compute regions list | grep -E "NAME|[^0]/"

# List compute instances & get info
gcloud compute instances list
gcloud compute instances describe <instance name>
gcloud compute instances get-iam-policy <instance> --zone=ZONE
gcloud compute instances get-screenshot <instance name> # Instace must have "Display Device" enabled
gcloud compute instances os-inventory list-instances # Get OS info of instances (OS Config agent is running on instances)


# Enumerate disks
gcloud compute disks list
gcloud compute disks describe <disk>
gcloud compute disks get-iam-policy <disk>

Для отримання додаткової інформації про те, як SSH або змінити метадані екземпляра для підвищення привілеїв, перевірте цю сторінку:

pageGCP - local privilege escalation ssh pivoting

Підвищення привілеїв

На наступній сторінці ви можете перевірити, як зловживати дозволами обчислень для підвищення привілеїв:

pageGCP - Compute Privesc

Неаутентифікована перерахунок

pageGCP - Compute Unauthenticated Enum

Післяексплуатаційна діяльність

pageGCP - Compute Post Exploitation

Постійність

pageGCP - Compute Persistence

Журнали консолі послідовного порту

Журнали консолі послідовного порту Compute Engine - це функція, яка дозволяє вам переглядати та діагностувати журнали завантаження та операційної системи ваших віртуальних машин.

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

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

Ви можете використовувати наступну команду gcloud, щоб запитати журнали послідовного порту (необхідний дозвіл - compute.instances.getSerialPortOutput):

gcloud compute instances get-serial-port-output <instance-name>

Менеджер конфігурації ОС

Ви можете використовувати службу управління конфігурацією ОС для розгортання, запиту та підтримки послідовних конфігурацій (бажаний стан та програмне забезпечення) для вашого екземпляра віртуальної машини (VM). На Compute Engine вам потрібно використовувати гостьові політики для підтримки послідовних конфігурацій програмного забезпечення на VM.

Функція управління конфігурацією ОС дозволяє визначати політики конфігурації, які вказують, які пакети програмного забезпечення слід встановити, які служби слід увімкнути та які файли або конфігурації повинні бути присутні на ваших VM. Ви можете використовувати декларативний підхід до управління конфігурацією програмного забезпечення ваших VM, що дозволяє автоматизувати та масштабувати процес управління конфігурацією більш легко.

Це також дозволяє входити в екземпляри через дозволи IAM, тому це дуже корисно для підвищення привілеїв та півотингу.

Для увімкнення os-config в усьому проекті або в екземплярі вам просто потрібно встановити ключ метаданих enable-oslogin на рівні, який вибрали, на значення true. Більше того, ви можете встановити метадані enable-oslogin-2fa на значення true для увімкнення 2fa.

Коли ви увімкнете це при створенні екземпляра, ключі метаданих будуть автоматично встановлені.

Більше про 2fa в OS-config, це застосовується лише, якщо користувач є користувачем, якщо це SA (наприклад, обчислювальний SA), нічого додаткового не потрібно.

Енумерація

gcloud compute os-config patch-deployments list
gcloud compute os-config patch-deployments describe <patch-deployment>

gcloud compute os-config patch-jobs list
gcloud compute os-config patch-jobs describe <patch-job>

Зображення

Спеціальні зображення

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

Під час створення зображення ви можете вибрати 3 типи шифрування: використання керованого ключа Google (за замовчуванням), ключа від KMS або сирого ключа, наданого клієнтом.

Перелік

Ви можете запитати список нестандартних зображень у проекті за допомогою наступної команди:

```bash gcloud compute machine-images list gcloud compute machine-images describe gcloud compute machine-images get-iam-policy ``` Ви можете [**експортувати**](https://cloud.google.com/sdk/gcloud/reference/compute/images/export) **віртуальні диски** з будь-якого образу у кількох форматах. Наступна команда експортує образ `test-image` у форматі qcow2, що дозволить вам завантажити файл та побудувати віртуальну машину локально для подальшого дослідження: ```bash gcloud compute images export --image test-image \ --export-format qcow2 --destination-uri [BUCKET]

Execute container inside a docker

docker run --rm -ti gcr.io//secret:v1 sh

#### Підвищення привілеїв

Перевірте розділ підвищення привілеїв обчислювальних екземплярів.

### Шаблони власних екземплярів

[**Шаблон екземпляра**](https://cloud.google.com/compute/docs/instance-templates/) **визначає властивості екземпляра** для допомоги у розгортанні однакових конфігурацій. Вони можуть містити ті ж типи чутливих даних, що й власні метадані запущеного екземпляра. Ви можете використовувати наступні команди для дослідження:
```bash
# List the available templates
gcloud compute instance-templates list

# Get the details of a specific template
gcloud compute instance-templates describe [TEMPLATE NAME]

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

Знімки

Знімки - це резервні копії дисків. Зверніть увагу, що це не те саме, що й клонування диска (інша доступна функція). Знімок буде використовувати таке саме шифрування, як і диск, з якого він був створений.

Перелік

gcloud compute snapshots list
gcloud compute snapshots describe <snapshot>
gcloud compute snapshots get-iam-policy <snapshot>

Підвищення привілеїв

Перевірте розділ про підвищення привілеїв обчислювальних інстансій.

Посилання

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

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

Last updated