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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Artifact Registry
Для отримання додаткової інформації про Artifact Registry перегляньте:
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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.