AWS - CodeBuild Post Exploitation
CodeBuild
For more information, check:
AWS - Codebuild EnumAbuse CodeBuild Repo Access
CodeBuild를 구성하려면 사용할 코드 저장소에 대한 액세스가 필요합니다. 여러 플랫폼이 이 코드를 호스팅할 수 있습니다:
CodeBuild 프로젝트는 구성된 소스 제공자에 IAM 역할 또는 github/bitbucket 토큰 또는 OAuth 액세스를 통해 액세스할 수 있어야 합니다.
CodeBuild에 대한 높은 권한을 가진 공격자는 구성된 저장소와 설정된 자격 증명이 액세스할 수 있는 다른 저장소의 코드를 유출하기 위해 이 구성된 액세스를 악용할 수 있습니다. 이를 위해 공격자는 구성 자격 증명이 액세스할 수 있는 각 저장소의 URL을 변경하기만 하면 됩니다(aws 웹이 모두 나열해 줄 것입니다):
그리고 각 저장소를 유출하기 위해 Buildspec 명령을 변경합니다.
그러나 이 작업은 반복적이고 지루하며, github 토큰이 쓰기 권한으로 구성된 경우 공격자는 그 권한을 (악용)할 수 없습니다. 정말 그럴까요? 다음 섹션을 확인하세요.
Leaking Access Tokens from AWS CodeBuild
CodeBuild에서 Github과 같은 플랫폼에 부여된 액세스를 유출할 수 있습니다. 외부 플랫폼에 대한 액세스가 부여되었는지 확인하십시오:
codebuild:DeleteProject
codebuild:DeleteProject
공격자는 전체 CodeBuild 프로젝트를 삭제할 수 있으며, 이는 프로젝트 구성의 손실을 초래하고 프로젝트에 의존하는 애플리케이션에 영향을 미칠 수 있습니다.
잠재적 영향: 프로젝트 구성 손실 및 삭제된 프로젝트를 사용하는 애플리케이션의 서비스 중단.
codebuild:TagResource
, codebuild:UntagResource
codebuild:TagResource
, codebuild:UntagResource
공격자는 CodeBuild 리소스에서 태그를 추가, 수정 또는 제거하여 조직의 비용 할당, 리소스 추적 및 태그 기반 접근 제어 정책을 방해할 수 있습니다.
잠재적 영향: 비용 할당, 리소스 추적 및 태그 기반 접근 제어 정책의 중단.
codebuild:DeleteSourceCredentials
codebuild:DeleteSourceCredentials
공격자는 Git 저장소의 소스 자격 증명을 삭제하여 저장소에 의존하는 애플리케이션의 정상적인 기능에 영향을 미칠 수 있습니다.
Potential Impact: 영향을 받은 저장소의 소스 자격 증명 제거로 인해 해당 저장소에 의존하는 애플리케이션의 정상적인 기능이 중단될 수 있습니다.
Last updated