6.9 KiB
Tapjacking
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling van eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
{% 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 Developer’s 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:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS-familie, ons versameling eksklusiewe NFT's
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.