GCP - Artifact Registry Persistence

Support HackTricks

Artifact Registry

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

Dependency Confusion

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

  • Використовується той, у якого найвищий пріоритет, встановлений у віртуальному репозиторії

  • Якщо пріоритет однаковий:

  • Якщо версія однакова, використовується ім'я політики в алфавітному порядку першим у віртуальному репозиторії

  • Якщо ні, використовується найвища версія

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

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

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

  • Вимоги: Повинен існувати віртуальний репозиторій і використовуватися, повинен використовуватися внутрішній пакет з назвою, яка не існує в публічному репозиторії.

  • Створіть віддалений репозиторій, якщо його не існує

  • Додайте віддалений репозиторій до віртуального репозиторію

  • Відредагуйте політики віртуального реєстру, щоб надати вищий пріоритет (або той же) віддаленому репозиторію. Запустіть щось на зразок:

  • Завантажте легітимний пакет, додайте свій шкідливий код і зареєструйте його в публічному репозиторії з тією ж версією. Кожного разу, коли розробник його встановлює, він встановлює ваш!

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

Support HackTricks

Last updated