AWS - Step Functions Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Kwa maelezo zaidi kuhusu huduma hii ya AWS, angalia:
Mbinu hizi za kupandisha hadhi zitahitaji kutumia baadhi ya rasilimali za AWS step function ili kutekeleza vitendo vya kupandisha hadhi vinavyotakiwa.
Ili kuangalia vitendo vyote vinavyowezekana, unaweza kwenda kwenye akaunti yako ya AWS kuchagua kitendo unachotaka kutumia na kuona vigezo inavyotumia, kama katika:
Au unaweza pia kwenda kwenye hati za API za AWS na kuangalia hati za kila kitendo:
states:TestState
& iam:PassRole
Mshambuliaji mwenye ruhusa za states:TestState
& iam:PassRole
anaweza kujaribu hali yoyote na kupitisha jukumu lolote la IAM bila kuunda au kuboresha mashine ya hali iliyopo, ikiruhusu ufikiaji usioidhinishwa kwa huduma nyingine za AWS kwa ruhusa za majukumu hayo. Kwa pamoja, ruhusa hizi zinaweza kusababisha vitendo vingi visivyoidhinishwa, kutoka kwa kubadilisha michakato hadi kubadilisha data, uvunjaji wa data, usimamizi wa rasilimali, na kupandisha hadhi.
Mifano ifuatayo inaonyesha jinsi ya kujaribu hali inayounda ufunguo wa upatikanaji kwa mtumiaji admin
kwa kutumia ruhusa hizi na jukumu lenye ruhusa nyingi katika mazingira ya AWS. Jukumu hili lenye ruhusa nyingi linapaswa kuwa na sera yoyote yenye mamlaka ya juu iliyounganishwa nayo (kwa mfano arn:aws:iam::aws:policy/AdministratorAccess
) inayoruhusu hali hiyo kutekeleza kitendo cha iam:CreateAccessKey
:
stateDefinition.json:
Amri iliyotekelezwa ili kufanya privesc:
Madhara Yanayoweza Kutokea: Utekelezaji usioidhinishwa na upotoshaji wa mifumo ya kazi na ufikiaji wa rasilimali nyeti, ambayo inaweza kusababisha uvunjaji mkubwa wa usalama.
states:CreateStateMachine
& iam:PassRole
& (states:StartExecution
| states:StartSyncExecution
)Mshambuliaji mwenye states:CreateStateMachine
& iam:PassRole
angeweza kuunda mashine ya hali na kutoa kwake jukumu lolote la IAM, kuruhusu ufikiaji usioidhinishwa kwa huduma nyingine za AWS kwa ruhusa za majukumu hayo. Kinyume na mbinu ya awali ya privesc (states:TestState
& iam:PassRole
), hii haitekelezi yenyewe, utahitaji pia kuwa na ruhusa za states:StartExecution
au states:StartSyncExecution
(states:StartSyncExecution
haipatikani kwa mifumo ya kazi ya kawaida, ni kwa mashine za hali tu) ili kuanza na utekelezaji juu ya mashine ya hali.
Mifano hii inonyesha jinsi ya kuunda mashine ya hali ambayo inaunda ufunguo wa ufikiaji kwa mtumiaji admin
na kuhamasisha ufunguo huu wa ufikiaji kwenye chombo cha S3 kinachodhibitiwa na mshambuliaji, ikitumia ruhusa hizi na jukumu lenye ruhusa nyingi la mazingira ya AWS. Jukumu hili lenye ruhusa nyingi linapaswa kuwa na sera yoyote yenye mamlaka ya juu iliyounganishwa nayo (kwa mfano arn:aws:iam::aws:policy/AdministratorAccess
) inayoruhusu mashine ya hali kufanya vitendo vya iam:CreateAccessKey
& s3:putObject
.
stateMachineDefinition.json:
Amri iliyotekelezwa ili kuunda mashine ya hali:
Amri iliyotekelezwa ku anzisha utekelezaji wa mashine ya hali iliyoundwa hapo awali:
Bucket ya S3 inayodhibitiwa na mshambuliaji inapaswa kuwa na ruhusa za kukubali hatua ya s3:PutObject kutoka kwa akaunti ya mwathirika.
Athari Zinazoweza Kutokea: Utekelezaji usioidhinishwa na upotoshaji wa michakato na ufikiaji wa rasilimali nyeti, ambayo inaweza kusababisha uvunjaji mkubwa wa usalama.
states:UpdateStateMachine
& (sio kila wakati inahitajika) iam:PassRole
Mshambuliaji mwenye ruhusa ya states:UpdateStateMachine
angeweza kubadilisha ufafanuzi wa mashine ya hali, akiwa na uwezo wa kuongeza hali za siri ambazo zinaweza kuishia katika kupandisha hadhi. Kwa njia hii, wakati mtumiaji halali anapoanza utekelezaji wa mashine ya hali, hali hii mpya ya uhalifu itatekelezwa na kupandisha hadhi kutafanikiwa.
Kulingana na jinsi ruhusa ilivyo ya IAM Role inayohusishwa na mashine ya hali, mshambuliaji angeweza kukutana na hali 2:
IAM Role ya Ruhusa: Ikiwa IAM Role inayohusishwa na mashine ya hali tayari ni ya ruhusa (ina mfano wa sera ya arn:aws:iam::aws:policy/AdministratorAccess
iliyoambatanishwa), basi ruhusa ya iam:PassRole
haitahitajika ili kupandisha hadhi kwani haitakuwa muhimu pia kubadilisha IAM Role, kwa kuwa ufafanuzi wa mashine ya hali unatosha.
IAM Role isiyo ya Ruhusa: Kinyume na kesi ya awali, hapa mshambuliaji pia atahitaji ruhusa ya iam:PassRole
kwani itakuwa muhimu kuunganisha IAM Role ya ruhusa na mashine ya hali pamoja na kubadilisha ufafanuzi wa mashine ya hali.
Mifano ifuatayo inaonyesha jinsi ya kuboresha mashine halali ya hali ambayo inaita tu kazi ya Lambda ya HelloWorld, ili kuongeza hali ya ziada ambayo inaongeza mtumiaji unprivilegedUser
kwenye Kundi la IAM la administrator
. Kwa njia hii, wakati mtumiaji halali anaanzisha utekelezaji wa mashine ya hali iliyoboreshwa, hali hii mpya ya siri itatekelezwa na kupandishwa kwa haki kutafanikiwa.
Ikiwa mashine ya hali haina Rol ya IAM inayoruhusu, itahitajika pia ruhusa ya iam:PassRole
kuboresha Rol ya IAM ili kuunganisha Rol ya IAM inayoruhusu (kwa mfano moja yenye sera ya arn:aws:iam::aws:policy/AdministratorAccess
iliyounganishwa).
Amri iliyotekelezwa ili kusasisha mashine halali ya hali:
Madhara Yanayoweza Kutokea: Utekelezaji usioidhinishwa na upotoshaji wa mifumo ya kazi na ufikiaji wa rasilimali nyeti, ambayo inaweza kusababisha uvunjaji mkubwa wa usalama.
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)