GCP - Artifact Registry Enum
Reading time: 5 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을 제출하여 해킹 트릭을 공유하세요.
기본 정보
Google Cloud Artifact Registry는 소프트웨어 아티팩트를 관리, 저장 및 보호할 수 있는 완전 관리형 서비스입니다. 본질적으로 Docker 이미지, Maven, npm 패키지 및 기타 유형의 아티팩트를 저장하는 리포지토리입니다. 소프트웨어 개발 프로세스 중 생성된 아티팩트를 저장하고 버전 관리하기 위해 CI/CD 파이프라인에서 일반적으로 사용됩니다.
Artifact Registry의 주요 기능은 다음과 같습니다:
- 통합 리포지토리: 여러 유형의 아티팩트를 지원하여 Docker 이미지, 언어 패키지(예: Java의 Maven, Node.js의 npm) 및 기타 유형의 아티팩트를 위한 단일 리포지토리를 가질 수 있어 일관된 액세스 제어 및 모든 아티팩트에 대한 통합된 뷰를 제공합니다.
- 완전 관리형: 관리형 서비스로서 기본 인프라, 확장성 및 보안을 처리하여 사용자에게 유지 관리 오버헤드를 줄입니다.
- 세분화된 액세스 제어: Google Cloud의 Identity and Access Management (IAM)와 통합되어 리포지토리에서 아티팩트에 접근, 업로드 또는 다운로드할 수 있는 사람을 정의할 수 있습니다.
- 지리적 복제: 여러 지역에 걸쳐 아티팩트를 복제할 수 있어 다운로드 속도를 개선하고 가용성을 보장합니다.
- Google Cloud 서비스와의 통합: Cloud Build, Kubernetes Engine 및 Compute Engine과 같은 다른 GCP 서비스와 원활하게 작동하여 Google Cloud 생태계 내에서 이미 작업 중인 팀에게 편리한 선택이 됩니다.
- 보안: 저장된 아티팩트가 안전하고 알려진 보안 문제로부터 자유로운지 확인하기 위해 취약성 스캔 및 컨테이너 분석과 같은 기능을 제공합니다.
형식 및 모드
새 리포지토리를 생성할 때 리포지토리의 형식/유형을 Docker, Maven, npm, Python 등 여러 가지 중에서 선택할 수 있으며, 모드는 일반적으로 다음 세 가지 중 하나일 수 있습니다:
- 표준 리포지토리: GCP에 자신의 아티팩트(예: Docker 이미지, Maven 패키지)를 직접 저장하기 위한 기본 모드입니다. 안전하고 확장 가능하며 Google Cloud 생태계 내에서 잘 통합됩니다.
- 원격 리포지토리(사용 가능한 경우): 외부 공개 리포지토리에서 아티팩트를 캐시하는 프록시 역할을 합니다. 상위에서 종속성이 변경되는 문제를 방지하고 자주 접근하는 아티팩트를 캐시하여 대기 시간을 줄이는 데 도움이 됩니다.
- 가상 리포지토리(사용 가능한 경우): 여러 (표준 또는 원격) 리포지토리에 접근하기 위한 통합 인터페이스를 제공하여 다양한 리포지토리에 분산된 아티팩트에 대한 클라이언트 측 구성 및 액세스 관리를 단순화합니다.
- 가상 리포지토리의 경우 리포지토리를 선택하고 우선 순위를 부여해야 합니다(가장 큰 우선 순위를 가진 리포지토리가 사용됩니다).
- 원격 리포지토리의 우선 순위가 표준보다 크면 가상 리포지토리에서 원격 패키지(예: PyPi)가 사용됩니다. 이는 종속성 혼란을 초래할 수 있습니다.
원격 Docker 버전에서는 Docker Hub에 접근하기 위해 사용자 이름과 토큰을 제공할 수 있습니다. 토큰은 Secret Manager에 저장됩니다.
암호화
예상대로 기본적으로 Google 관리 키가 사용되지만 고객 관리 키(CMEK)를 지정할 수 있습니다.
정리 정책
- 아티팩트 삭제: 아티팩트는 정리 정책 기준에 따라 삭제됩니다.
- 드라이 런: (기본값) 아티팩트는 삭제되지 않습니다. 정리 정책이 평가되고 테스트 삭제 이벤트가 Cloud Audit Logging에 전송됩니다.
취약성 스캔
컨테이너 이미지 내의 취약성을 확인하는 취약성 스캐너를 활성화할 수 있습니다.
열거
# Get repositories
gcloud artifacts repositories list
gcloud artifacts repositories describe --location <location> <repo-name>
gcloud artifacts versions list --repository=<repo-name> -location <location> --package <package-name>
# Get settings of a repository (example using python but could be other)
gcloud artifacts print-settings python --repository <repo-name> --location <location>
# Get docker images
gcloud artifacts docker images list us-central1-docker.pkg.dev/<proj-name>/<repo-name>
# Get packages (like python and others...)
gcloud artifacts packages list --repository <repo-name> --location <location>
# Get SBOMB artifacts
gcloud artifacts sbom list
# Get vulnerabilities (docker images)
gcloud artifacts vulnerabilities list us-east1-docker.pkg.dev/project123/repository123/someimage@sha256:49765698074d6d7baa82f
gcloud artifacts docker images list-vulnerabilities projects/<proj-name>/locations/<location>/scans/<scan-uuid>
권한 상승
GCP - Artifact Registry Privesc
인증되지 않은 접근
GCP - Artifact Registry Unauthenticated Enum
포스트 익스플로잇
GCP - Artifact Registry Post Exploitation
지속성
GCP - Artifact Registry Persistence
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을 제출하여 해킹 트릭을 공유하세요.