ACL을 통한 버킷 읽기 권한 부여
버킷의 ACL을 다시 작성하여 퍼블릭 또는 공격자 읽기 권한을 부여할 수 있습니다.
그 자체만으로 권한 상승을 허용합니다.
s3:PutBucketAcls3:PutBucketAcl만으로도 버킷의 ACL을 재작성하여 퍼블릭 또는 공격자 읽기 권한을 부여할 수 있습니다. 넓은 리소스 범위에서는 이것만으로 외부 또는 공개 주체의 접근에 도달합니다.
위험한 이유
주체가 버킷에서 s3:PutBucketAcl를 호출하여 AllUsers, AuthenticatedUsers 또는 외부 canonical id에 READ 권한을 부여한 다음, 객체를 읽을 수 있습니다. 버킷 정책 부여에 대한 대체 노출 경로입니다.
MITRE ATT&CK 기준으로 이는 수집 전술의 T1530, Data from Cloud Storage에 해당합니다. AWS는 이를 CloudTrail에 PutBucketAcl로 기록합니다. 이 호출은 일반적인 활동과 비교해 조용하여, 전용 규칙이 없으면 놓치기 쉽습니다. 또한 이는 공격자가 최초 거점이 차단된 후에도 접근을 유지할 수 있는 수단을 제공하므로, 일상적인 관리 작업처럼 보일 때에도 주시할 가치가 있습니다.
탐지
PutBucketAcl전제 조건
버킷에 대한 s3:PutBucketAcl. ACL이 활성화되어 있고 Block Public Access가 해당 부여를 허용하는 경우.
MITRE ATT&CK
T1530 · Data from Cloud Storage전술
수집
이를 제거할 수 있는 통제: 주체에서 s3:PutBucketAcl 권한을 제거하고, Object Ownership = BucketOwnerEnforced(ACL 비활성화)와 Block Public Access를 적용하십시오.
이를 적용할지 여부는 해당 권한이 귀하의 환경에서 어떻게 사용되는지에 따라 달라지므로, 자동으로 적용되는 수정이 아니라 비즈니스 차원의 판단입니다. 같은 권한이 한 계정에서는 핵심적인 역할을 하고 다른 계정에서는 순전히 위험일 수 있습니다.
Pathbreak는 이 경로가 귀하의 계정에서 실제로 성립하는지 확인하고, 얼마나 많은 접근을 열어주는지에 따라 다른 경로와 비교하여 순위를 매기며, 귀하의 위협 모델과 비즈니스 맥락을 활용하여 어떤 경로를 차단할 가치가 있는지 보여줍니다.
질문
s3:PutBucketAcl의 허용 범위는 무엇입니까?
버킷의 ACL을 다시 작성하여 퍼블릭 또는 공격자 읽기 권한을 부여할 수 있습니다.
s3:PutBucketAcl만으로 권한 상승이 가능합니까?
예. 충분히 넓은 리소스에 대해 보유하면 다른 권한 없이도 외부 또는 공개 주체의 접근 권한에 도달합니다.
ACL을 통한 버킷 읽기 권한 부여 탐지는 어떻게 이루어집니까?
CloudTrail에서 PutBucketAcl 이벤트를 주시하십시오. 이 호출은 일반적인 활동과 비교해 조용하여, 전용 규칙이 없으면 놓치기 쉽습니다.
이 경로를 어떻게 차단합니까?
이를 제거할 수 있는 통제는 다음과 같습니다: 주체에서 s3:PutBucketAcl 권한을 제거하고, 객체 소유권 = BucketOwnerEnforced(ACL 비활성화)와 퍼블릭 액세스 차단을 적용합니다. 이를 적용할지 여부는 해당 권한이 계정에서 어떻게 사용되는지에 따라 달라지므로, 자동으로 적용되는 수정이 아니라 비즈니스 차원의 판단입니다.
이것은 어떤 MITRE ATT&CK 기법입니까?
수집 전술의 T1530, Data from Cloud Storage.
관련 경로
참고 자료
직접 자신의 계정에서 찾기
저희는 하나의 AWS 계정에 대해 읽기 전용 스캔을 실행하여, 이 경로 중 어떤 것이 존재하는지를 영향 범위 순으로, 각 경로를 끊는 변경과 함께 보여드립니다. 첫 검증된 경로는 한 시간 이내에 제공됩니다.