AWS - Cognito Unauthenticated Enum

htARTE (HackTricks AWS Red Team Expert)에서 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

인증되지 않은 Cognito

Cognito는 개발자가 앱 사용자에게 AWS 서비스에 대한 액세스 권한을 부여할 수 있게 해주는 AWS 서비스입니다. 개발자는 앱에서 인증된 사용자에게 IAM 역할을 부여할 수 있으며 (사람들이 가입만 하면 될 수도 있음) 인증되지 않은 사용자에게 IAM 역할을 부여할 수도 있습니다.

Cognito에 대한 기본 정보는 다음을 참조하세요:

pageAWS - Cognito Enum

Pentesting 및 열거를 위한 Pacu 모듈

AWS Exploitation Framework인 Pacu는 이제 "cognito__enum" 및 "cognito__attack" 모듈을 포함하고 있습니다. 이 모듈들은 계정 내의 모든 Cognito 자산의 열거를 자동화하고 약한 구성, 액세스 제어에 사용되는 사용자 속성 등을 식별하며, 수정 가능한 사용자 정의 속성, 사용 가능한 ID 풀 자격 증명, ID 토큰에서 가정 가능한 역할 등을 기반으로 사용자 생성 (MFA 지원 포함) 및 권한 상승을 자동화합니다.

모듈 기능에 대한 설명은 블로그 게시물의 2부를 참조하세요. 설치 지침은 Pacu 메인 페이지를 참조하세요.

사용법

주어진 ID 풀 및 사용자 풀 클라이언트에 대해 사용자 생성 및 모든 권한 상승 벡터를 시도하는 cognito__attack 사용 예시:

Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gmail.com --identity_pools
us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients
59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX

현재 AWS 계정에서 볼 수 있는 모든 사용자 풀, 사용자 풀 클라이언트, 신원 풀, 사용자 등을 수집하기 위한 cognito__enum 사용 예시:

$ python3 aws_cognito_unauthenticated_enum.py --all

이 명령은 현재 AWS 계정에서 사용 가능한 모든 사용자 풀, 사용자 풀 클라이언트, 신원 풀, 사용자 등을 수집합니다.

Pacu (new:test) > run cognito__enum

Identity Pool ID

Identity Pools는 인증되지 않은 사용자에게 IAM 역할을 부여할 수 있으며, 이를 위해 Identity Pool ID를 알고 있는 것이 필요합니다. 이 정보를 가진 공격자는 해당 IAM 역할에 액세스를 시도하고 이를 악용할 수 있습니다. 또한, IAM 역할은 Identity Pool에 액세스하는 인증된 사용자에게 할당될 수도 있습니다. 공격자가 사용자를 등록하거나 이미 Identity Pool에서 사용하는 ID 공급자에 액세스할 수 있다면, 인증된 사용자에게 제공되는 IAM 역할에 액세스할 수 있고 그 권한을 악용할 수 있습니다.

여기에서 그 방법을 확인하세요.

User Pool ID

기본적으로 Cognito는 새로운 사용자를 등록할 수 있도록 허용합니다. 사용자를 등록할 수 있다면, 기저 애플리케이션에 액세스하거나, Cognito User Pool을 ID 공급자로 사용하는 인증된 IAM 액세스 역할에 액세스할 수 있습니다. 여기에서 그 방법을 확인하세요.

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

最終更新