1. AWS Secure Token Service (STS) [1]

- 임시 자격 증명

- AWS 자격 증명을 생성할 필요 없이 AWS 리소스에 액세스할 수 있도록 권한이 제한된 임시 자격 증명을 요청할 수 있는 웹 서비스

- 최소 15분에서 최도 36시간까지 유효

[사진 1] STS 토큰

2. STS 악용 [2]

① 공격자는 IAM 토큰 또는 자격 증명 탈취

- 악성 코드 감염, 공개적으로 노출된 자격 증명, 피싱 이메일 등으로 IAM 토큰 탈취

 

② 탈취한 인증 정보의 유효성 확인

- API 호출을 통해 탈취한 인증 정보의 유효성 확인

> API 호출이 실패할 경우 토큰의 비활성 가능성이 높음

> 토큰이 유효할 경우 여러 API를 활용해 권한과 역할을 결정

※ API: GetCallerIdentity, GetUser, ListUserPolicies, ListAttachedUserPolicies, GetPolicy, GetPolicyVersion 등

 

③ 토큰의 권한 수준에 따라 사용자 추가 생성

- AKIA 토큰이 있는 추가 IAM 사용자 생성 후 API 호출을 통해 MFA 코드 및 장치 세부 정보 추출

> 단기 ASIA 토큰 생성을 위한 AKIA 토큰, 예비용 AKIA 토큰 생성

 AKIA : AWS IAM 사용자와 연결된 장기 액세스 토큰 [3]

aws:MultiFactorAuthPresent 사용자가 MFA를 통해 자신을 인증했는지 여부 확인
aws:MultiFactorAuthAuthAge 키가 활성화된 기간을 확인

 

④ 추가한 IAM 사용자를 활용해 ASIA 토큰 생성

- API(sts:GetSessionToken) 호출 등으로 여러 ASIA 토큰 생성

※ ASIA : STS를 통한 요청에 대한 응답으로 생성된 단기 액세스 토큰 [3]

 

⑤ 데이터 탈취

- ASIA 토큰을 악용한 데이터 탈취

 

[사진 2] 과정 요약

 

3. 대응방안

- AKIA 토큰 삭제 또는 교체

- 공격으로 의심스러운 또는 확인된 사용자에게 "모두 거부" 정책 적용 및 악용 리소스 삭제

- CloudTrail 로그 기록 및 모니터링 [4]

[사진 3] CloudTrail을 사용한 추적 활동

4. 참고

[1] https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html
[2] https://redcanary.com/blog/aws-sts/
[3] https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_access-keys-audit
[4] https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html
[5] https://thehackernews.com/2023/12/alert-threat-actors-can-leverage-aws.html
[6] https://www.boannews.com/media/view.asp?idx=124541&page=1&kind=1

+ Recent posts