AWS - API Gateway Unauthenticated Enum

Reading time: 4 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

API Invoke bypass

Kulingana na mazungumzo Attack Vectors for APIs Using AWS API Gateway Lambda Authorizers - Alexandre & Leonardo, Lambda Authorizers zinaweza kuundwa kwa kutumia sintaksia ya IAM kutoa ruhusa za kuita mwisho wa API. Hii inachukuliwa kutoka kwenye nyaraka:

json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Permission",
"Action": ["execute-api:Execution-operation"],
"Resource": [
"arn:aws:execute-api:region:account-id:api-id/stage/METHOD_HTTP_VERB/Resource-path"
]
}
]
}

Tatizo na njia hii ya kutoa ruhusa za kuita mwisho ni kwamba "*" inamaanisha "chochote" na hakuna sintaksia nyingine ya regex inayoungwa mkono.

Mifano kadhaa:

  • Kanuni kama arn:aws:execute-apis:sa-east-1:accid:api-id/prod/*/dashboard/* ili kuwapa kila mtumiaji ufikiaji wa /dashboard/user/{username} itawapa ufikiaji wa njia nyingine kama /admin/dashboard/createAdmin kwa mfano.

warning

Kumbuka kwamba "*" haizuii kupanuka kwa slashes, kwa hivyo, ikiwa unatumia "*" katika api-id kwa mfano, inaweza pia kuashiria " hatua yoyote" au "mbinu yoyote" mradi tu regex ya mwisho bado ni halali.
Hivyo arn:aws:execute-apis:sa-east-1:accid:*/prod/GET/dashboard/*
Inaweza kuthibitisha ombi la posta kwa hatua ya majaribio kwa njia /prod/GET/dashboard/admin kwa mfano.

Unapaswa kila wakati kuwa wazi kuhusu kile unachotaka kuruhusu kufikia na kisha kuangalia ikiwa hali nyingine zinaweza kutokea na ruhusa zilizotolewa.

Kwa maelezo zaidi, mbali na docs, unaweza kupata msimbo wa kutekeleza waidhinishi katika hii rasmi aws github.

Uingizaji wa Sera za IAM

Katika mazungumzo hiyo inafichua ukweli kwamba ikiwa msimbo unatumia ingizo la mtumiaji ili kuunda sera za IAM, wildcards (na wengine kama "." au nyuzi maalum) zinaweza kujumuishwa humo kwa lengo la kuzidi vizuizi.

Kiolezo cha URL ya Umma

https://{random_id}.execute-api.{region}.amazonaws.com/{user_provided}

Pata Kitambulisho cha Akaunti kutoka kwa URL ya API Gateway ya umma

Kama ilivyo kwa ndoo za S3, Data Exchange na URL za Lambda gateways, inawezekana kupata kitambulisho cha akaunti ya akaunti kwa kutumia aws:ResourceAccount Policy Condition Key kutoka kwa URL ya API Gateway ya umma. Hii inafanywa kwa kupata kitambulisho cha akaunti moja kwa moja kwa kutumia wildcards katika sehemu ya aws:ResourceAccount ya sera.
Teknolojia hii pia inaruhusu kupata maadili ya lebo ikiwa unajua ufunguo wa lebo (kuna baadhi ya zile za kawaida zinazovutia).

Unaweza kupata maelezo zaidi katika utafiti wa asili na zana conditional-love ili kuendesha uhalifu huu kiotomatiki.

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks