AWS - IAM Post Exploitation
IAM
IAM 액세스에 대한 자세한 정보:
pageAWS - IAM, Identity Center & SSO Enum혼란스러운 대리자 문제
**외부 계정 (A)**이 귀하의 계정에서 역할에 액세스할 수 있도록 허용하면 누가 정확히 해당 외부 계정에 액세스할 수 있는지에 대한 가시성이 없을 수 있습니다. 이것은 문제입니다. 외부 계정 (B)가 외부 계정 (A)에 액세스할 수 있다면 B도 귀하의 계정에 액세스할 수 있을 수 있습니다.
따라서, 외부 계정이 귀하의 계정에서 역할에 액세스할 수 있도록 허용할 때 ExternalId
를 지정할 수 있습니다. 이는 외부 계정 (A)이 귀하의 조직에서 역할을 가정하기 위해 지정해야 하는 "비밀" 문자열입니다. 외부 계정 B가 이 문자열을 알지 못하기 때문에, A에 대한 액세스 권한이 있더라도 B는 귀하의 역할에 액세스할 수 없습니다.
그러나 이 ExternalId
"비밀"은 비밀이 아닙니다. IAM 가정 역할 정책을 읽을 수 있는 누구나 볼 수 있습니다. 그러나 외부 계정 A가 알고 있지만 외부 계정 B가 모르기 때문에, B가 A를 악용하여 귀하의 역할에 액세스하는 것을 방지합니다.
예시:
공격자가 혼란스러운 부관을 악용하려면 현재 계정의 주체가 다른 계정의 역할을 표현할 수 있는지 확인해야 합니다.
예상치 못한 신뢰
주체로서의 와일드카드
이 정책은 모든 AWS가 역할을 가정할 수 있도록 허용합니다.
주체로서의 서비스
이 정책은 어떤 계정이든지 이 Lambda를 호출하도록 apigateway를 구성할 수 있게 합니다.
주체로서의 S3
만약 S3 버킷이 주체로 지정된 경우, S3 버킷은 계정 ID가 없기 때문에, 버킷을 삭제하고 공격자가 자신의 계정에서 다시 만들었다면, 이를 악용할 수 있습니다.
지원되지 않음
일반적으로 혼란스러운 대리자 문제를 피하는 한 가지 방법은 AWS:SourceArn
을 사용하여 원본 ARN을 확인하는 조건을 사용하는 것입니다. 그러나 일부 서비스는 그를 지원하지 않을 수 있습니다 (일부 소스에 따르면 CloudTrail이 해당될 수 있음).
참고 자료
最終更新