AWS - Cognito Unauthenticated Enum

Support HackTricks

Unauthenticated Cognito

Cognito ni huduma ya AWS inayowezesha waendelezaji kutoa ufikiaji wa huduma za AWS kwa watumiaji wa programu zao. Waendelezaji wataweza kutoa majukumu ya IAM kwa watumiaji walioidhinishwa katika programu yao (kuna uwezekano watu wataweza kujiandikisha tu) na wanaweza pia kutoa jukumu la IAM kwa watumiaji wasioidhinishwa.

Kwa maelezo ya msingi kuhusu Cognito angalia:

Kitambulisho cha Hifadhi ya Utambulisho

Hifadhi za Utambulisho zinaweza kutoa majukumu ya IAM kwa watumiaji wasioidhinishwa ambao wanajua tu Kitambulisho cha Hifadhi ya Utambulisho (ambacho ni rahisi sana kupata), na mshambuliaji mwenye taarifa hii anaweza kujaribu kufikia hilo jukumu la IAM na kulitumia vibaya. Zaidi ya hayo, majukumu ya IAM yanaweza pia kutolewa kwa watumiaji walioidhinishwa wanaofikia Hifadhi ya Utambulisho. Ikiwa mshambuliaji anaweza kujiandikisha kama mtumiaji au tayari ana ufikiaji wa mtoa huduma wa utambulisho anayetumika katika hifadhi ya utambulisho unaweza kufikia jukumu la IAM linalotolewa kwa watumiaji walioidhinishwa na kutumia vibaya haki zake.

Angalia jinsi ya kufanya hivyo hapa.

Kitambulisho cha Hifadhi ya Watumiaji

Kwa kawaida Cognito inaruhusu kujiandikisha kwa mtumiaji mpya. Kuwa na uwezo wa kujiandikisha mtumiaji kunaweza kukupa ufikiaji wa programu ya msingi au jukumu la ufikiaji la IAM lililoidhinishwa la Hifadhi ya Utambulisho inayokubali kama mtoa huduma wa utambulisho Hifadhi ya Watumiaji ya Cognito. Angalia jinsi ya kufanya hivyo hapa.

Moduli za Pacu kwa pentesting na enumeration

Pacu, mfumo wa unyakuzi wa AWS, sasa unajumuisha moduli "cognito__enum" na "cognito__attack" ambazo zinafanya otomatiki ya kuhesabu mali zote za Cognito katika akaunti na kuashiria usanidi dhaifu, sifa za mtumiaji zinazotumika kwa udhibiti wa ufikiaji, nk., na pia zinafanya otomatiki ya uundaji wa mtumiaji (ikiwemo msaada wa MFA) na kupandisha hadhi kulingana na sifa za kawaida zinazoweza kubadilishwa, akidi za hifadhi ya utambulisho zinazoweza kutumika, majukumu yanayoweza kuchukuliwa katika alama za kitambulisho, nk.

Kwa maelezo ya kazi za moduli angalia sehemu ya 2 ya blog post. Kwa maelekezo ya usakinishaji angalia ukurasa mkuu wa Pacu.

Matumizi

Mfano wa matumizi ya cognito__attack kujaribu uundaji wa mtumiaji na njia zote za privesc dhidi ya hifadhi fulani ya utambulisho na mteja wa hifadhi ya watumiaji:

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

Sample cognito__enum usage to gather all user pools, user pool clients, identity pools, users, etc. visible in the current AWS account:

Pacu (new:test) > run cognito__enum
Support HackTricks

Last updated