Tapjacking

Support HackTricks

Basic Information

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 kuwa kipofu kwa kujua kwamba kwa kweli wanatekeleza vitendo kwenye programu ya mwathirika.

Detection

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.

Protection

Android 12 (API 31,32) na juu

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:

<Button android:text="Button"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true">
</Button>

Utekelezaji

Tapjacking-ExportedActivity

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.

FloatingWindowApp

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).

Qark

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 Marejeo 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 kubonyeza 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.

Support HackTricks

Last updated