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)
자세한 정보는 다음을 확인하세요:
자격 증명이 Codebuild에서 Github, Gitlab 또는 Bitbucket에 연결하기 위해 개인 토큰, 비밀번호 또는 OAuth 토큰 액세스 형태로 설정된 경우, 이러한 자격 증명은 비밀 관리자에 비밀로 저장됩니다. 따라서 비밀 관리자를 읽을 수 있는 권한이 있다면 이러한 비밀을 얻고 연결된 플랫폼으로 피벗할 수 있습니다.
CodeBuild를 구성하려면 사용할 코드 리포지토리에 대한 액세스가 필요합니다. 여러 플랫폼이 이 코드를 호스팅할 수 있습니다:
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)