GCP - Compute Post Exploitation
컴퓨트
컴퓨트 및 VPC(네트워킹)에 대한 자세한 정보는 다음을 확인하세요:
pageGCP - Compute Enum이미지 로컬로 내보내고 검사하기
이를 통해 공격자는 이미 존재하는 이미지 내부에 포함된 데이터에 액세스하거나 실행 중인 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에 연결
디스크나 스냅샷에 저장된 데이터에 액세스하기 위해, 스냅샷을 디스크로 변환하거나 디스크를 이미지로 변환한 다음 이전 단계를 따를 수 있습니다.
또는 외부 계정에 디스크에 대한 액세스 권한을 부여할 수 있습니다 (시작점이 스냅샷인 경우 스냅샷에 대한 액세스를 부여하거나 해당 스냅샷에서 디스크를 생성합니다):
인스턴스에 디스크를 연결하세요:
VM 내부에 디스크를 마운트하십시오:
VM에 SSH로 로그인:
디스크 식별: VM 내부에 들어간 후, 디스크 장치를 나열하여 새로운 디스크를 식별합니다. 일반적으로
/dev/sdb
,/dev/sdc
등으로 찾을 수 있습니다.디스크 포맷 및 마운트 (새로운 또는 원시 디스크인 경우):
마운트 지점 생성:
디스크 마운트:
스냅샷 또는 디스크에 외부 프로젝트에 액세스 권한을 부여할 수 없는 경우, 스냅샷/디스크가 있는 프로젝트 내의 인스턴스에서 이러한 작업을 수행해야 할 수 있습니다.
最終更新