GCP - Artifact Registry Persistence
Reading time: 3 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
Artifact Registry
Artifact Registry에 대한 자세한 정보는 다음을 확인하세요:
Dependency Confusion
- 원격 및 표준 저장소가 가상 저장소에서 혼합되고 두 곳 모두에 패키지가 존재하면 어떻게 됩니까?
- 가상 저장소에서 설정된 우선 순위가 가장 높은 것이 사용됩니다.
- 우선 순위가 동일한 경우:
- 버전이 동일하면, 가상 저장소에서 정책 이름이 알파벳 순서로 먼저 사용됩니다.
- 그렇지 않으면, 가장 높은 버전이 사용됩니다.
caution
따라서, 원격 저장소의 우선 순위가 더 높거나 동일한 경우, 공용 패키지 레지스트리에서 **가장 높은 버전(의존성 혼란)**을 악용할 수 있습니다.
이 기술은 지속성 및 인증되지 않은 접근에 유용할 수 있으며, 이를 악용하기 위해서는 Artifact Registry에 저장된 라이브러리 이름을 알고, **공용 저장소(예: Python의 PyPi)**에 동일한 라이브러리를 더 높은 버전으로 생성하기만 하면 됩니다.
지속성을 위해 따라야 할 단계는 다음과 같습니다:
- 요구 사항: 가상 저장소가 존재하고 사용되어야 하며, 공용 저장소에 존재하지 않는 이름을 가진 내부 패키지가 사용되어야 합니다.
- 원격 저장소가 존재하지 않으면 생성합니다.
- 원격 저장소를 가상 저장소에 추가합니다.
- 원격 저장소에 더 높은 우선 순위(또는 동일)를 부여하기 위해 가상 레지스트리의 정책을 편집합니다.
다음과 같은 명령을 실행합니다: - gcloud artifacts repositories update --upstream-policy-file ...
- 합법적인 패키지를 다운로드하고, 악성 코드를 추가한 후 동일한 버전으로 공용 저장소에 등록합니다. 개발자가 이를 설치할 때마다, 그는 당신의 것을 설치하게 됩니다!
의존성 혼란에 대한 자세한 정보는 다음을 확인하세요:
Dependency Confusion - HackTricks
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.