AWS - Cognito 지속성

Reading time: 3 minutes

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기

Cognito

자세한 정보는 다음을 확인하세요:

AWS - Cognito Enum

사용자 지속성

Cognito는 인증되지 않은 사용자와 인증된 사용자에게 역할을 부여하고 사용자 디렉터리를 관리할 수 있는 서비스입니다. 일부 지속성을 유지하기 위해 변경할 수 있는 여러 가지 구성은 다음과 같습니다:

  • Adding a User Pool 사용자가 제어하는 User Pool을 Identity Pool에 추가
  • 인증되지 않은 Identity Pool에 IAM role을 부여하고 Basic auth flow를 허용
  • 또는 공격자가 로그인할 수 있다면 authenticated Identity Pool에 부여
  • 또는 주어진 역할의 권한을 향상
  • Create, verify & privesc를 속성이 제어되는 사용자 또는 User Pool의 새 사용자를 통해 수행
  • Allowing external Identity Providers를 User Pool 또는 Identity Pool에서 로그인할 수 있도록 허용

이 작업들을 수행하는 방법은 다음에서 확인하세요:

AWS - Cognito Privesc

cognito-idp:SetRiskConfiguration

이 권한을 가진 공격자는 위험 구성(risk configuration)을 수정하여 알람이 트리거되지 않은 상태에서 Cognito 사용자로 로그인할 수 있습니다. Check out the cli to check all the options:

bash
aws cognito-idp set-risk-configuration --user-pool-id <pool-id> --compromised-credentials-risk-configuration EventFilter=SIGN_UP,Actions={EventAction=NO_ACTION}

기본적으로 이 기능은 비활성화되어 있습니다:

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기