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
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
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:
{
"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
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.