GCP - Artifact Registry Persistence

Reading time: 3 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Artifact Registry

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

GCP - Artifact Registry Enum

Dependency Confusion

  • Що станеться, якщо віддалені та стандартні репозиторії змішуються в віртуальному і пакет існує в обох?
  • Використовується той, що має найвищий пріоритет, встановлений у віртуальному репозиторії
  • Якщо пріоритет однаковий:
  • Якщо версія однакова, використовується ім'я політики в алфавітному порядку першим у віртуальному репозиторії
  • Якщо ні, використовується найвища версія

caution

Отже, можливо зловживати найвищою версією (dependency confusion) у публічному реєстрі пакетів, якщо віддалений репозиторій має вищий або той же пріоритет

Ця техніка може бути корисною для постійності та неавтентифікованого доступу, оскільки для зловживання не потрібно нічого, окрім знати ім'я бібліотеки, збереженої в Artifact Registry, і створити ту ж бібліотеку в публічному репозиторії (наприклад, PyPi для python) з вищою версією.

Для постійності потрібно виконати такі кроки:

  • Вимоги: Віртуальний репозиторій повинен існувати і використовуватися, внутрішній пакет з ім'ям, яке не існує в публічному репозиторії, повинен бути використаний.
  • Створіть віддалений репозиторій, якщо його не існує
  • Додайте віддалений репозиторій до віртуального репозиторію
  • Відредагуйте політики віртуального реєстру, щоб надати вищий пріоритет (або той же) віддаленому репозиторію.
    Запустіть щось на зразок:
  • gcloud artifacts repositories update --upstream-policy-file ...
  • Завантажте легітимний пакет, додайте свій шкідливий код і зареєструйте його в публічному репозиторії з тією ж версією. Кожного разу, коли розробник його встановлює, він встановлює ваш!

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

Dependency Confusion - HackTricks

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks