GCP - Run Privesc
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)
Cloud Run에 대한 자세한 정보는 다음을 확인하세요:
run.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
임의의 코드를 실행하는 런 서비스 생성 권한을 가진 공격자는 이를 통해 서비스 계정을 연결하고, 코드를 통해 메타데이터에서 서비스 계정 토큰을 유출할 수 있습니다.
이 방법에 대한 익스플로잇 스크립트는 여기에서 찾을 수 있으며, Docker 이미지는 여기에서 찾을 수 있습니다.
gcloud run deploy
를 사용할 때는 단순히 서비스를 생성하는 대신 update
권한이 필요하다는 점에 유의하세요. 여기에서 예제를 확인하세요.
run.services.update
, iam.serviceAccounts.actAs
이전과 유사하지만 서비스를 업데이트하는 경우:
run.services.setIamPolicy
클라우드 Run에 대한 이전 권한을 부여합니다.
run.jobs.create
, run.jobs.run
, iam.serviceaccounts.actAs
,(run.jobs.get
)명령어에 지정된 서비스 계정을 훔치기 위해 리버스 셸로 작업을 시작합니다. 여기에서 익스플로잇을 찾을 수 있습니다.
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)이전과 유사하게 작업을 업데이트하고 SA를 업데이트할 수 있으며, 명령을 실행할 수 있습니다:
run.jobs.setIamPolicy
Cloud Jobs에 대한 이전 권한을 부여합니다.
run.jobs.run
, run.jobs.runWithOverrides
, (run.jobs.get
)작업 실행의 env 변수를 악용하여 임의의 코드를 실행하고 컨테이너의 내용을 덤프하기 위해 리버스 셸을 얻고 메타데이터 내의 SA에 접근합니다:
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)