GCP - Compute Post Exploitation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Compute 및 VPC(네트워킹)에 대한 자세한 정보는 다음을 확인하세요:
GCP - Compute Enum이것은 공격자가 이미 존재하는 이미지에 포함된 데이터에 접근하거나 실행 중인 VM의 새로운 이미지를 생성하고 실행 중인 VM에 접근하지 않고도 해당 데이터에 접근할 수 있게 합니다.
VM 이미지를 버킷으로 내보낸 다음 다운로드하고 다음 명령으로 로컬에 마운트할 수 있습니다:
이 작업을 수행하기 위해 공격자는 스토리지 버킷에 대한 권한과 cloudbuild에 대한 권한이 필요할 수 있습니다. 이는 서비스가 내보내기를 수행하도록 요청받을 것이기 때문입니다.
또한, 이를 위해 codebuild SA와 compute SA는 권한이 필요합니다.
cloudbuild SA <project-id>@cloudbuild.gserviceaccount.com
는 다음이 필요합니다:
roles/iam.serviceAccountTokenCreator
roles/compute.admin
roles/iam.serviceAccountUser
그리고 SA <project-id>-compute@developer.gserviceaccount.com
는 다음이 필요합니다:
roles/compute.storageAdmin
roles/storage.objectAdmin
스냅샷과 디스크를 직접 내보내는 것은 불가능하지만, 스냅샷을 디스크로, 디스크를 이미지로 변환하고 이전 섹션에 따라 해당 이미지를 내보내어 로컬에서 검사하는 것은 가능합니다.
이미지에 저장된 데이터 또는 공격자가 이미지를 생성한 실행 중인 VM 내부에 접근하는 것을 목표로 하여, 외부 계정에 이미지에 대한 접근 권한을 부여하는 것이 가능합니다:
그리고 나서 그것으로부터 새로운 VM을 생성합니다:
만약 이미지에 대한 외부 계정 접근을 제공할 수 없다면, 피해자의 프로젝트에서 해당 이미지를 사용하여 VM을 시작하고 메타데이터가 리버스 셸을 실행하도록 만들 수 있습니다. 파라미터를 추가하여 이미지를 접근할 수 있습니다:
디스크나 스냅샷에 저장된 데이터에 접근하기 위해, 스냅샷을 디스크로 변환하고, 디스크를 이미지로 변환한 후 이전 단계를 따를 수 있습니다.
또는 외부 계정에 디스크에 대한 접근 권한을 부여할 수 있습니다 (시작점이 스냅샷인 경우 스냅샷에 대한 접근 권한을 부여하거나 그로부터 디스크를 생성합니다):
인스턴스에 디스크를 연결:
VM 내부에 디스크를 마운트합니다:
VM에 SSH 접속:
디스크 식별: VM 내부에 들어가면 디스크 장치를 나열하여 새 디스크를 식별합니다. 일반적으로 /dev/sdb
, /dev/sdc
등으로 찾을 수 있습니다.
디스크 포맷 및 마운트 (새 디스크 또는 원시 디스크인 경우):
마운트 포인트 생성:
디스크 마운트:
외부 프로젝트에 스냅샷 또는 디스크에 대한 액세스를 제공할 수 없는 경우, 스냅샷/디스크와 동일한 프로젝트의 인스턴스 내에서 이러한 작업을 수행해야 할 수 있습니다.
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)