GCP - Compute Instances

htARTE (HackTricks AWS Red Team 전문가)로부터 AWS 해킹을 처음부터 전문가까지 배우세요!

HackTricks를 지원하는 다른 방법:

기본 정보

Google Cloud Compute Instances는 Google의 클라우드 인프라에서 사용 가능한 가상 머신으로, 다양한 응용 프로그램에 대한 확장 가능하고 온디맨드 컴퓨팅 파워를 제공합니다. 글로벌 배포, 지속적인 저장, 유연한 OS 선택 및 강력한 네트워킹 및 보안 통합 기능을 제공하여 웹 사이트 호스팅, 데이터 처리 및 클라우드에서 효율적으로 응용 프로그램 실행을 위한 다양한 선택지를 제공합니다.

기밀 VM

기밀 VM은 최신 AMD EPYC 프로세서의 하드웨어 기반 보안 기능을 사용하며, 메모리 암호화 및 안전한 암호화된 가상화를 포함합니다. 이러한 기능을 통해 VM은 호스트 운영 체제 및 하이퍼바이저에서 심지어 처리되고 저장된 데이터를 보호할 수 있습니다.

기밀 VM을 실행하려면 머신의 유형, 네트워크 인터페이스, 부팅 디스크 이미지와 같은 것들을 변경해야 할 수 있습니다.

디스크 및 디스크 암호화

사용할 디스크를 선택하거나 새로 만들 수 있습니다. 새로 만들 경우 다음을 할 수 있습니다:

  • 디스크의 크기 선택

  • OS 선택

  • 인스턴스가 삭제될 때 디스크를 삭제할지 여부 지정

  • 암호화: 기본적으로 Google 관리 키가 사용되지만, KMS에서 키 선택 또는 사용할 원시 키 지정도 가능합니다.

컨테이너 배포

가상 머신 내부에 컨테이너를 배포할 수 있습니다. 사용할 이미지를 구성하고 내부에서 실행할 명령어, 인수, 볼륨을 마운트하고 환경 변수 (민감한 정보?)를 설정하고 이 컨테이너에 대해 특권으로 실행, stdin 및 pseudo TTY와 같은 여러 옵션을 구성할 수 있습니다.

서비스 계정

기본적으로 Compute Engine 기본 서비스 계정이 사용됩니다. 이 SA의 이메일은 다음과 같습니다: <proj-num>-compute@developer.gserviceaccount.com 이 서비스 계정은 전체 프로젝트에 대한 **편집자 역할 (높은 권한)**을 갖습니다.

그리고 기본 액세스 범위는 다음과 같습니다:

  • https://www.googleapis.com/auth/devstorage.read_only -- 버킷에 대한 읽기 액세스 :)

  • https://www.googleapis.com/auth/logging.write

  • https://www.googleapis.com/auth/monitoring.write

  • https://www.googleapis.com/auth/servicecontrol

  • https://www.googleapis.com/auth/service.management.readonly

  • https://www.googleapis.com/auth/trace.append

그러나 클릭으로 cloud-platform을 부여하거나 사용자 정의를 지정할 수 있습니다.

방화벽

HTTP 및 HTTPS 트래픽을 허용할 수 있습니다.

네트워킹

  • IP 전달: 인스턴스 생성 시 IP 전달을 활성화할 수 있습니다.

  • 호스트명: 인스턴스에 영구적인 호스트명을 지정할 수 있습니다.

  • 인터페이스: 네트워크 인터페이스를 추가할 수 있습니다.

추가 보안

이러한 옵션은 VM의 보안을 강화하며 권장됩니다:

  • 보안 부팅: 보안 부팅은 VM 인스턴스를 부팅 수준 및 커널 수준 악성 코드 및 루트킷으로부터 보호합니다.

  • vTPM 활성화: 가상 신뢰 플랫폼 모듈 (vTPM)은 게스트 VM의 부팅 전과 부팅 무결성을 확인하고 키 생성 및 보호를 제공합니다.

  • 무결성 감시: 무결성 모니터링을 통해 Stackdriver 보고서를 사용하여 보호된 VM 인스턴스의 실행시 부팅 무결성을 모니터링하고 확인할 수 있습니다. vTPM가 활성화되어야 합니다.

VM 액세스

VM에 액세스 권한을 부여하는 일반적인 방법은 특정 SSH 공개 키를 허용하는 것입니다. 그러나 IAM을 사용하여 os-config 서비스를 통해 VM에 액세스를 활성화할 수도 있습니다. 또한, 이 서비스를 사용하여 VM에 액세스하기 위해 2단계 인증을 활성화할 수도 있습니다. 이 서비스활성화되면 SSH 키를 통한 액세스가 비활성화됩니다.

메타데이터

매번 머신이 켜지거나 다시 시작될 때 실행될 쉘 명령어자동화 (AWS의 userdata)를 정의할 수 있습니다.

또한 메타데이터 엔드포인트에서 액세스할 수 있는 추가 메타데이터 키-값 값을 추가할 수 있습니다. 이 정보는 주로 환경 변수 및 시작/종료 스크립트에 사용됩니다. 이는 열거 섹션의 명령어에서 describe 메서드를 사용하여 얻을 수 있지만, 인스턴스 내부에서 메타데이터 엔드포인트에 액세스하여도 얻을 수 있습니다.

# view project metadata
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

# view instance metadata
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

또한 첨부된 서비스 계정의 인증 토큰인스턴스, 네트워크 및 프로젝트에 대한 일반 정보메타데이터 엔드포인트에서 사용할 수 있습니다. 자세한 정보는 다음을 확인하십시오:

암호화

기본적으로 Google이 관리하는 암호화 키를 사용하지만 고객 관리형 암호화 키(CMEK)를 구성할 수 있습니다. 또한 사용 중인 CMEF가 취소될 때 어떻게 할지 구성할 수도 있습니다: 아무것도 하지 않거나 VM을 종료합니다.

htARTE (HackTricks AWS Red Team Expert)를 통해 **제로부터 영웅까지 AWS 해킹 배우기**

HackTricks를 지원하는 다른 방법:

最終更新