AWS - CodeBuild Post Exploitation
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)
자세한 정보는 다음을 확인하세요:
AWS - Codebuild Enum자격 증명이 Codebuild에서 Github, Gitlab 또는 Bitbucket에 연결하기 위해 개인 토큰, 비밀번호 또는 OAuth 토큰 액세스 형태로 설정된 경우, 이러한 자격 증명은 비밀 관리자에 비밀로 저장됩니다. 따라서 비밀 관리자를 읽을 수 있는 권한이 있다면 이러한 비밀을 얻고 연결된 플랫폼으로 피벗할 수 있습니다.
AWS - Secrets Manager PrivescCodeBuild를 구성하려면 사용할 코드 리포지토리에 대한 액세스가 필요합니다. 여러 플랫폼이 이 코드를 호스팅할 수 있습니다:
CodeBuild 프로젝트는 구성된 소스 제공자에 대한 액세스 권한이 있어야 하며, 이는 IAM 역할 또는 github/bitbucket 토큰 또는 OAuth 액세스를 통해 이루어질 수 있습니다.
CodeBuild에서 권한이 상승된 공격자는 이 구성된 액세스를 악용하여 구성된 리포지토리의 코드를 유출하고 설정된 자격 증명에 액세스할 수 있는 다른 리포지토리의 코드를 유출할 수 있습니다. 이를 위해 공격자는 구성된 자격 증명이 액세스할 수 있는 각 리포지토리의 URL을 변경하기만 하면 됩니다 (aws 웹사이트에서 모든 리포지토리를 나열해 줍니다):
그리고 각 리포지토리를 유출하기 위해 Buildspec 명령을 변경합니다.
그러나 이 작업은 반복적이고 지루합니다. 만약 github 토큰이 쓰기 권한으로 구성되었다면, 공격자는 그 권한을 (악용)할 수 없습니다. 왜냐하면 그는 토큰에 대한 액세스 권한이 없기 때문입니다. 그렇지 않을까요? 다음 섹션을 확인하세요.
CodeBuild에서 Github과 같은 플랫폼에 주어진 액세스를 유출할 수 있습니다. 외부 플랫폼에 대한 액세스가 주어졌는지 확인하세요:
codebuild:DeleteProject
공격자는 전체 CodeBuild 프로젝트를 삭제할 수 있으며, 이로 인해 프로젝트 구성 손실이 발생하고 프로젝트에 의존하는 애플리케이션에 영향을 미칠 수 있습니다.
잠재적 영향: 삭제된 프로젝트를 사용하는 애플리케이션에 대한 프로젝트 구성 손실 및 서비스 중단.
codebuild:TagResource
, codebuild:UntagResource
공격자는 CodeBuild 리소스에서 태그를 추가, 수정 또는 제거하여 조직의 비용 할당, 리소스 추적 및 태그 기반 접근 제어 정책을 방해할 수 있습니다.
잠재적 영향: 비용 할당, 리소스 추적 및 태그 기반 액세스 제어 정책의 중단.
codebuild:DeleteSourceCredentials
공격자는 Git 리포지토리에 대한 소스 자격 증명을 삭제할 수 있으며, 이는 리포지토리에 의존하는 애플리케이션의 정상적인 기능에 영향을 미칩니다.
잠재적 영향: 소스 자격 증명의 제거로 인해 영향을 받는 리포지토리에 의존하는 애플리케이션의 정상적인 기능이 중단될 수 있습니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)