GWS - App Scripts
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)
App Scripts ni kodhi ambayo itasababisha wakati mtumiaji mwenye ruhusa ya mhariri anapofikia hati ambayo App Script imeunganishwa nayo na baada ya kukubali ombi la OAuth. Zinaweza pia kuwekwa ili zitekelezwe kila wakati fulani na mmiliki wa App Script (Persistence).
Kuna njia kadhaa za kuunda App Script, ingawa njia maarufu zaidi ni kutoka kwa Hati ya Google (ya aina yoyote) na kama mradi huru:
Anza kwa kuunda App Script, mapendekezo yangu kwa ajili ya hali hii ni kuunda Google Sheet na nenda kwenye Extensions > App Scripts
, hii itafungua App Script mpya kwako iliyounganishwa na karatasi.
Ili kutoa ufikiaji kwa token ya OAuth unahitaji kubonyeza Services +
na kuongeza scopes kama:
AdminDirectory: Fikia watumiaji na vikundi vya directory (ikiwa mtumiaji ana ruhusa za kutosha)
Gmail: Ili kufikia data ya gmail
Drive: Ili kufikia data ya drive
Google Sheets API: Ili ifanye kazi na trigger
Ili kubadilisha scopes zinazohitajika unaweza kwenda kwenye mipangilio ya mradi na kuwezesha: Show "appsscript.json" manifest file in editor
.
Ili kukamata ombi unaweza tu kukimbia:
Permissions requested to execute the App Script:
Kama ombi la nje limefanywa, dirisha la OAuth pia litaomba ruhusa ya kufikia maeneo ya nje.
Mara tu App inaposomwa, bonyeza ⏰ Triggers kuunda trigger. Kama function ya kutekeleza chagua getToken
, inakimbia kwenye kutekelezwa Head
, katika chanzo cha tukio chagua From spreadsheet
na aina ya tukio chagua On open
au On edit
(kulingana na mahitaji yako) na uhifadhi.
Kumbuka kwamba unaweza kuangalia kimbio za App Scripts katika tab ya Executions ikiwa unataka kufanyia kazi kitu.
Ili kuanzisha App Script mwathirika anahitaji kuungana na Editor Access.
Token inayotumika kutekeleza App Script itakuwa ya mwandishi wa trigger, hata kama faili inafunguliwa kama Mhariri na watumiaji wengine.
Ikiwa mtu amekushiriki hati yenye App Scripts na trigger inayotumia Head ya App Script (sio kutekelezwa kwa kudumu), unaweza kubadilisha msimbo wa App Script (kuongeza kwa mfano kazi za kuiba token), kuipata, na App Script itatekelezwa kwa ruhusa za mtumiaji aliyekushiriki hati hiyo! (kumbuka kwamba token ya OAuth ya wamiliki itakuwa na viwango vya ufikiaji vilivyotolewa wakati trigger ilipoundwa).
Taarifa itatumwa kwa mwandishi wa script ikionyesha kwamba mtu amebadilisha script (Je, kuhusu kutumia ruhusa za gmail kuunda kichujio kuzuia arifa?)
Ikiwa mshambuliaji anabadilisha viwango vya App Script masasisho hayatawekwa kwenye hati hadi trigger mpya yenye mabadiliko iundwe. Hivyo, mshambuliaji hataweza kuiba token ya mwandishi mwenye viwango zaidi kuliko ile aliyoweka kwenye trigger aliyounda.
Unapounda kiungo cha kushiriki hati, kiungo kinachofanana na hiki kinaundwa: https://docs.google.com/spreadsheets/d/1i5[...]aIUD/edit
Ikiwa unabadilisha mwisho "/edit" kwa "/copy", badala ya kuipata google itakuuliza ikiwa unataka kuunda nakala ya hati:
Ikiwa mtumiaji atakipata na kukipata, maudhui ya hati na App Scripts vitakopywa, hata hivyo triggers hazitakopywa, hivyo hakuna kitu kitakachotekelezwa.
Kumbuka kwamba pia inawezekana kushiriki App Script kama programu ya Mtandao (katika Mhariri wa App Script, peleka kama programu ya Mtandao), lakini arifa kama hii itatokea:
Ikifuatwa na dirisha la kawaida la OAuth linaloomba ruhusa zinazohitajika.
Unaweza kujaribu token iliyokusanywa ili orodhesha barua pepe na:
Orodha ya kalenda ya mtumiaji:
Chaguo moja la uthibitisho lingekuwa kuunda hati na kuongeza kichocheo kwa kazi ya getToken na kushiriki hati hiyo na mshambuliaji ili kila wakati mshambuliaji anapofungua faili hiyo anatoa token ya mwathirika.
Pia inawezekana kuunda App Script na kufanya ikichochewe kila X wakati (kama kila dakika, saa, siku...). Mshambuliaji ambaye amekuwa na akreditif zilizovunjwa au kikao cha mwathirika anaweza kuweka kichocheo cha wakati cha App Script na kutoa token ya OAuth yenye mamlaka makubwa kila siku:
Tuunda App Script, nenda kwenye Kichocheo, bonyeza Ongeza Kichocheo, na chagua kama chanzo cha tukio Kimeendeshwa na Wakati na uchague chaguzi zinazokufaa zaidi:
Hii itaunda barua pepe ya tahadhari ya usalama na ujumbe wa push kwa simu yako ikikujulisha kuhusu hili.
Zaidi ya hayo, ikiwa mtu amekushiriki hati yenye ufikiaji wa mhariri, unaweza kuunda App Scripts ndani ya hati hiyo na MMILIKI (mwandaji) wa hati hiyo atakuwa mmiliki wa App Script.
Hii inamaanisha, kwamba mwandaji wa hati hiyo ataonekana kama mwandishi wa App Script yoyote ambayo mtu yeyote mwenye ufikiaji wa mhariri anaunda ndani yake.
Hii pia inamaanisha kwamba App Script itakuwa na imani na mazingira ya Workspace ya mwandishi wa hati hiyo.
Hii pia inamaanisha kwamba ikiwa App Script tayari ilikuwa ipo na watu wame pewa ufikiaji, mtu yeyote mwenye Ruhusa ya Mhariri kwenye hati anaweza kuibadilisha na kutumia ufikiaji huo.
Ili kutumia hili unahitaji pia watu kuchochea App Script. Na hila moja nzuri ni kuchapisha script kama programu ya wavuti. Wakati watu ambao tayari wamepewa ufikiaji kwa App Script wanapofikia ukurasa wa wavuti, watakuwa wakichochea App Script (hii pia inafanya kazi kwa kutumia vitambulisho vya <img>
).
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)