GCP - Artifact Registry Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Для отримання додаткової інформації про Artifact Registry перегляньте:
З цією дозволом зловмисник може завантажувати нові версії артефактів з шкідливим кодом, такими як Docker-образи:
Було перевірено, що можливо завантажити новий шкідливий docker образ з таким же ім'ям та тегом, як і той, що вже присутній, тому старий втратить тег і наступного разу, коли цей образ з цим тегом буде завантажено, буде завантажено шкідливий.
Неможливо завантажити бібліотеку python з тією ж версією, що вже присутня, але можливо завантажити більші версії (або додати додатковий .0
в кінці версії, якщо це працює - не в python, проте), або видалити останню версію та завантажити нову з (необхідний artifactregistry.versions.delete)
:
artifactregistry.repositories.downloadArtifacts
З цією дозволом ви можете завантажувати артефакти та шукати чутливу інформацію і вразливості.
Завантажте Docker образ:
Завантажте бібліотеку python:
Що станеться, якщо віртуальний реєстр змішує віддалені та стандартні реєстри, і пакет існує в обох? Перегляньте цю сторінку:
artifactregistry.tags.delete
, artifactregistry.versions.delete
, artifactregistry.packages.delete
, (artifactregistry.repositories.get
, artifactregistry.tags.get
, artifactregistry.tags.list
)Видалити артефакти з реєстру, такі як образи docker:
artifactregistry.repositories.delete
Видалити повний репозиторій (навіть якщо він має вміст):
artifactregistry.repositories.setIamPolicy
Зловмисник з цим дозволом може надати собі дозволи для виконання деяких з раніше згаданих атак на репозиторії.
Cloud Functions
Коли створюється Cloud Function, новий docker-образ завантажується в Artifact Registry проекту. Я намагався змінити образ на новий, а також видалити поточний образ (і образ cache
), але нічого не змінилося, Cloud Function продовжує працювати. Тому, можливо, можливо зловживати атакою Race Condition як з бакетом, щоб змінити docker-контейнер, який буде запущено, але просто зміна збереженого образу не може скомпрометувати Cloud Function.
App Engine
Хоча App Engine створює docker-образи всередині Artifact Registry. Було протестовано, що навіть якщо ви зміните образ всередині цього сервісу і видалите екземпляр App Engine (щоб був розгорнутий новий), виконуваний код не змінюється. Можливо, що виконання атаки Race Condition, як з бакетами, може дозволити перезаписати виконуваний код, але це не було протестовано.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)