Tapjacking
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)
Tapjacking ni shambulio ambapo programu mbaya inazinduliwa na kujiweka juu ya programu ya mwathirika. Mara inapoifunika kwa wazi programu ya mwathirika, kiolesura chake cha mtumiaji kimeundwa kwa njia ya kudanganya mtumiaji kuingiliana nayo, wakati inapitisha mwingiliano huo kwa programu ya mwathirika. Kwa hivyo, inafanya mtumiaji asijue kwamba anafanya vitendo kwenye programu ya mwathirika.
Ili kugundua programu zinazoweza kuathiriwa na shambulio hili unapaswa kutafuta shughuli zilizotolewa katika android manifest (kumbuka kwamba shughuli yenye intent-filter inasafirishwa kiotomatiki kwa default). Mara umepata shughuli zilizotolewa, angalia kama zinahitaji ruhusa yoyote. Hii ni kwa sababu programu mbaya itahitaji ruhusa hiyo pia.
Kulingana na chanzo hiki, mashambulizi ya tapjacking yanazuia kiotomatiki na Android kuanzia Android 12 (API 31 & 30) na juu. Hivyo, hata kama programu ina udhaifu huwezi kuweza kuitumia.
filterTouchesWhenObscured
Ikiwa android:filterTouchesWhenObscured
imewekwa kuwa true
, View
haitapokea kugusa wakati dirisha la mtazamo linapofunikwa na dirisha lingine linaloonekana.
setFilterTouchesWhenObscured
Sifa setFilterTouchesWhenObscured
iliyowekwa kuwa kweli pia inaweza kuzuia matumizi ya udhaifu huu ikiwa toleo la Android ni la chini.
Ikiwa imewekwa kuwa true
, kwa mfano, kitufe kinaweza kuondolewa kiotomatiki ikiwa kimefunikwa:
Programu ya Android ya hivi karibuni inayofanya shambulio la Tapjacking (+ kuanzisha kabla ya shughuli iliyosafirishwa ya programu iliyoathiriwa) inaweza kupatikana katika: https://github.com/carlospolop/Tapjacking-ExportedActivity.
Fuata maagizo ya README ili kuitumia.
Mradi wa mfano unaotekeleza FloatingWindowApp, ambayo inaweza kutumika kuweka juu ya shughuli nyingine ili kufanya shambulio la clickjacking, unaweza kupatikana katika FloatingWindowApp (ni ya zamani kidogo, bahati njema katika kujenga apk).
Inaonekana mradi huu sasa hauhifadhiwi na kazi hii haifanyi kazi vizuri tena
Unaweza kutumia qark na vigezo --exploit-apk
--sdk-path /Users/username/Library/Android/sdk
ili kuunda programu mbaya ya kujaribu uwezekano wa Tapjacking udhaifu.\
Kuzuia ni rahisi kwa sababu mtengenezaji anaweza kuchagua kutopokea matukio ya kugusa wakati mtazamo umefunikwa na mwingine. Kutumia Marejeleo ya Wataalamu wa Android:
Wakati mwingine ni muhimu kwa programu kuweza kuthibitisha kwamba kitendo kinafanywa kwa maarifa na idhini kamili ya mtumiaji, kama vile kutoa ombi la ruhusa, kufanya ununuzi au kubofya tangazo. Kwa bahati mbaya, programu mbaya inaweza kujaribu kumdanganya mtumiaji kufanya vitendo hivi, bila kujua, kwa kuficha kusudi lililokusudiwa la mtazamo. Kama suluhisho, mfumo unatoa mekanizma ya kuchuja kugusa ambayo inaweza kutumika kuboresha usalama wa mitazamo inayotoa ufikiaji wa kazi nyeti.
Ili kuwezesha kuchuja kugusa, piga
setFilterTouchesWhenObscured(boolean)
au weka sifa ya mpangilio ya android:filterTouchesWhenObscured kuwa kweli. Wakati imewezeshwa, mfumo utatupa kugusa ambazo zinapokelewa kila wakati dirisha la mtazamo linapofunikwa na dirisha lingine linaloonekana. Kama matokeo, mtazamo hautapokea kugusa kila wakati toast, mazungumzo au dirisha lingine linapojitokeza juu ya dirisha la mtazamo.
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)