GCP - IAM Post Exploitation

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 지원하기

IAM

You can find further information about IAM in:

GCP - IAM, Principals & Org Policies Enum

Granting access to management console

GCP management console에 대한 액세스는 사용자 계정에 제공되며, 서비스 계정에는 제공되지 않습니다. 웹 인터페이스에 로그인하려면 본인이 제어하는 Google 계정에 액세스 권한을 부여할 수 있습니다. 이는 일반적인 “@gmail.com” 계정일 수 있으며, 대상 조직의 멤버일 필요는 없습니다.

단, 일반적인 “@gmail.com” 계정에 Owner의 기본 역할을 부여하려면 웹 콘솔을 사용해야 합니다. gcloud는 Editor보다 높은 권한을 부여하려고 하면 오류가 발생합니다.

다음 명령을 사용하여 기존 프로젝트에 사용자에게 Editor의 기본 역할을 부여할 수 있습니다:

gcloud projects add-iam-policy-binding [PROJECT] --member user:[EMAIL] --role roles/editor

여기에서 성공했다면, 웹 인터페이스에 접속하여 거기서 탐색해 보세요.

이것은 gcloud tool을 사용해 할당할 수 있는 가장 높은 권한 수준입니다.

IAM 구성 요소 삭제 iam.*.delete

iam.*.delete 권한들(예: iam.roles.delete, iam.serviceAccountApiKeyBindings.delete, iam.serviceAccountKeys.delete 등)은 커스텀 역할, API key 바인딩, 서비스 계정 키 및 서비스 계정 자체와 같은 중요한 IAM 구성 요소를 삭제할 수 있게 합니다. 공격자의 손에 들어가면, 정당한 접근 수단을 제거하여 denial of service를 일으킬 수 있습니다.

이러한 공격을 수행하려면, 예를 들어 다음과 같이 역할을 삭제할 수 있습니다:

gcloud iam roles delete <ROLE_ID> --project=<PROJECT_ID>

iam.serviceAccountKeys.disable || iam.serviceAccounts.disable

iam.serviceAccountKeys.disableiam.serviceAccounts.disable 권한은 활성 Service Account 키 또는 Service Account를 비활성화할 수 있게 하며, attacker의 손에 들어갈 경우 운영 중단을 일으키거나 denial of service를 초래하거나 legitimate credentials 사용을 차단해 incident response를 방해하는 데 악용될 수 있습니다.

Service Account를 비활성화하려면 다음 명령을 사용할 수 있습니다:

gcloud iam service-accounts disable <SA_EMAIL> --project=<PROJECT_ID>

Service Account의 키를 비활성화하려면 다음 명령을 사용할 수 있습니다:

gcloud iam service-accounts keys disable <KEY_ID> --iam-account=<SA_EMAIL>

iam.*.undelete

iam.*.undelete 권한은 API 키 바인딩, 커스텀 역할, 또는 서비스 계정과 같은 이전에 삭제된 요소를 복원할 수 있게 합니다. 공격자의 손에 들어가면 이는 방어 조치를 되돌리거나(제거된 접근 복구), 삭제된 침해 벡터를 재구성해 지속성을 유지하거나 대응 노력을 회피하여 사고 격리를 복잡하게 만드는 데 사용될 수 있습니다.

gcloud iam service-accounts undelete "${SA_ID}" --project="${PROJECT}"

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 지원하기