AWS - Cognito Unauthenticated Enum

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Unauthenticated Cognito

Cognito, geliştiricilerin grant their app users access to AWS services sağlamasını mümkün kılan bir AWS servisidir. Geliştiriciler uygulamalarında IAM roles to authenticated users vereceklerdir (insanlar potansiyel olarak sadece kayıt olabileceklerdir) ve ayrıca IAM role to unauthenticated users da verebilirler.

For basic info about Cognito check:

AWS - Cognito Enum

Identity Pool ID

Identity Pools, sadece know the Identity Pool ID olan kullanıcılara IAM roles to unauthenticated users verebilir (bu ID’yi find etmek oldukça yaygındır) ve bu bilgiye sahip bir saldırgan access that IAM rolu denemeye ve bunu exploit etmeye çalışabilir.
Ayrıca, IAM rolleri Identity Pool’a erişen authenticated users için de atanmış olabilir. Bir saldırgan register a user yapabiliyorsa veya Identity Pool’da kullanılan access to the identity provider’a hali hazırda sahipse, IAM role being given to authenticated kullanıcılara erişip bu yetkileri kötüye kullanabilir.

Check how to do that here.

User Pool ID

Varsayılan olarak Cognito register new user yapılmasına izin verir. Bir kullanıcı kaydedebilmek size uygulamanın access veya Cognito User Pool’u identity provider olarak kabul eden bir Identity Pool’un authenticated IAM access role of an Identity Pool’una erişim sağlayabilir ve bunu kötüye kullanabilir. Check how to do that here.

Pacu modules for pentesting and enumeration

Pacu, AWS exploitation framework, artık bir hesabın tüm Cognito varlıklarını enumerate etmeyi ve zayıf konfigürasyonları, erişim kontrolü için kullanılan kullanıcı attributelarını vb. tespit etmeyi otomatikleştiren “cognito__enum” ve “cognito__attack” modüllerini içeriyor; ayrıca kullanıcı oluşturmayı (MFA desteği dahil) ve değiştirilebilir custom attributelara, kullanılabilir identity pool credentials, id token’larda assumable rollere vb. dayalı privilege escalation yollarını otomatikleştiriyor.

Modüllerin fonksiyonlarının açıklaması için blog post’un part 2’sine bakın: https://rhinosecuritylabs.com/aws/attacking-aws-cognito-with-pacu-p2. Kurulum talimatları için ana Pacu sayfasına bakın.

Usage

Sample cognito__attack usage to attempt user creation and all privesc vectors against a given identity pool and user pool client:

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

Mevcut AWS hesabında görünen tüm kullanıcı havuzları, kullanıcı havuzu istemcileri, kimlik havuzları, kullanıcılar vb. bilgileri toplamak için örnek cognito__enum kullanımı:

Pacu (new:test) > run cognito__enum

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin