hacktricks/mobile-pentesting/android-app-pentesting/tapjacking.md

6.9 KiB
Raw Blame History

Tapjacking

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

{% embed url="https://websec.nl/" %}

Basiese Inligting

Tapjacking is 'n aanval waar 'n boosaardige aansoek bekendgestel word en sigself bo-op 'n slagoffer-aansoek posisioneer. Wanneer dit die slagoffer-aansoek sigbaar verduister, is sy gebruikerskoppelvlak so ontwerp dat dit die gebruiker mislei om daarmee te interaksioneer, terwyl dit die interaksie na die slagoffer-aansoek deurgee.
In werklikheid verblind dit die gebruiker om te weet dat hulle eintlik handelinge op die slagoffer-aansoek uitvoer.

Opname

Om programme wat vatbaar is vir hierdie aanval op te spoor, moet jy soek na uitgevoerde aktiwiteite in die Android-manifes (let daarop dat 'n aktiwiteit met 'n intent-filter outomaties uitgevoer word per verstek). Sodra jy die uitgevoerde aktiwiteite gevind het, kontroleer of hulle enige toestemming benodig. Dit is omdat die boosaardige aansoek ook daardie toestemming nodig sal hê.

Beskerming

Android 12 (API 31,32) en hoër

Volgens hierdie bron, word tapjacking-aanvalle outomaties voorkom deur Android vanaf Android 12 (API 31 & 30) en hoër. Selfs as die aansoek vatbaar is, sal jy dit nie kan uitbuit nie.

filterTouchesWhenObscured

As android:filterTouchesWhenObscured op true ingestel is, sal die View nie aanrakings ontvang wanneer die venster van die aansig deur 'n ander sigbare venster verduister word nie.

setFilterTouchesWhenObscured

Die eienskap setFilterTouchesWhenObscured wat op true ingestel is, kan ook die uitbuiting van hierdie kwesbaarheid voorkom as die Android-weergawe laer is.
Indien op true ingestel, kan byvoorbeeld 'n knoppie outomaties gedeaktiveer word as dit verduister word:

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

Uitbuiting

Tapjacking-ExportedActivity

Die mees onlangse Android-toepassing wat 'n Tapjacking-aanval uitvoer (+ aanroep voor 'n uitgevoerde aktiwiteit van die aangevalle toepassing) kan gevind word op: https://github.com/carlospolop/Tapjacking-ExportedActivity.

Volg die README-instruksies om dit te gebruik.

FloatingWindowApp

'n Voorbeeldprojek wat FloatingWindowApp implementeer, wat gebruik kan word om bo-op ander aktiwiteite te plaas vir 'n klikjacking-aanval, kan gevind word in FloatingWindowApp (bietjie oud, sterkte met die bou van die apk).

Qark

{% hint style="danger" %} Dit lyk asof hierdie projek nou nie meer onderhou word nie en hierdie funksionaliteit werk nie meer behoorlik nie {% endhint %}

Jy kan qark gebruik met die --exploit-apk --sdk-path /Users/username/Library/Android/sdk parameters om 'n skadelike toepassing te skep om vir moontlike Tapjacking kwesbaarhede te toets.

Die beperking is relatief eenvoudig aangesien die ontwikkelaar kan kies om nie aanrakinggebeurtenisse te ontvang wanneer 'n aansig bedek word deur 'n ander. Gebruik die Android Developers Reference:

Soms is dit noodsaaklik dat 'n toepassing kan verifieer dat 'n aksie met die volle kennis en toestemming van die gebruiker uitgevoer word, soos die toestaan van 'n toestemmingversoek, 'n aankoop doen of op 'n advertensie klik. Ongelukkig kan 'n skadelike toepassing probeer om die gebruiker te mislei om hierdie aksies uit te voer, sonder om bewus te wees daarvan, deur die beoogde doel van die aansig te verberg. As 'n remedie bied die raamwerk 'n aanrakingfiltermeganisme wat gebruik kan word om die sekuriteit van aansigte wat toegang tot sensitiewe funksionaliteit bied, te verbeter.

Om aanrakingfiltering te aktiveer, roep setFilterTouchesWhenObscured(boolean) aan of stel die android:filterTouchesWhenObscured uitlegkenmerk in op waar. Wanneer dit geaktiveer is, sal die raamwerk aanrakings verwerp wat ontvang word wanneer die aansig se venster deur 'n ander sigbare venster bedek word. As gevolg hiervan sal die aansig nie aanrakings ontvang wanneer 'n toebroodjie, dialoog of ander venster bo die aansig se venster verskyn nie.

{% embed url="https://websec.nl/" %}

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: