AWS - Cognito Unauthenticated Enum
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 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
인증되지 않은 Cognito
Cognito는 개발자가 앱 사용자에게 AWS 서비스에 대한 접근 권한을 부여할 수 있도록 하는 AWS 서비스입니다. 개발자는 앱에서 인증된 사용자에게 IAM 역할을 부여하고, 인증되지 않은 사용자에게도 IAM 역할을 부여할 수 있습니다.
Cognito에 대한 기본 정보는 다음을 확인하세요:
아이덴티티 풀 ID
아이덴티티 풀은 아이덴티티 풀 ID를 아는 인증되지 않은 사용자에게 IAM 역할을 부여할 수 있습니다(이는 찾기가 비교적 일반적입니다). 이 정보를 가진 공격자는 해당 IAM 역할에 접근하고 이를 악용할 수 있습니다.
또한, IAM 역할은 아이덴티티 풀에 접근하는 인증된 사용자에게도 할당될 수 있습니다. 공격자가 사용자를 등록하거나 아이덴티티 풀에서 사용되는 아이덴티티 제공자에 이미 접근할 수 있다면, 인증된 사용자에게 부여된 IAM 역할에 접근하고 그 권한을 남용할 수 있습니다.
사용자 풀 ID
기본적으로 Cognito는 새 사용자를 등록할 수 있도록 허용합니다. 사용자를 등록할 수 있는 능력은 기본 애플리케이션이나 Cognito 사용자 풀을 아이덴티티 제공자로 사용하는 아이덴티티 풀의 인증된 IAM 접근 역할에 접근할 수 있게 해줄 수 있습니다. 여기에서 방법을 확인하세요.
펜테스팅 및 열거를 위한 Pacu 모듈
Pacu, AWS 악용 프레임워크는 이제 계정 내 모든 Cognito 자산의 열거를 자동화하고 약한 구성, 접근 제어에 사용되는 사용자 속성 등을 플래그하고, 사용자 생성(다단계 인증 지원 포함) 및 수정 가능한 사용자 정의 속성, 사용 가능한 아이덴티티 풀 자격 증명, ID 토큰의 가정 가능한 역할 등을 기반으로 권한 상승을 자동화하는 "cognito__enum" 및 "cognito__attack" 모듈을 포함합니다.
모듈 기능에 대한 설명은 블로그 게시물 2부를 참조하세요. 설치 지침은 주요 Pacu 페이지를 참조하세요.
사용법
주어진 아이덴티티 풀 및 사용자 풀 클라이언트에 대해 사용자 생성 및 모든 권한 상승 벡터를 시도하는 샘플 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
샘플 cognito__enum 사용법으로 현재 AWS 계정에서 볼 수 있는 모든 사용자 풀, 사용자 풀 클라이언트, 아이덴티티 풀, 사용자 등을 수집합니다:
Pacu (new:test) > run cognito__enum
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 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.