Tapjacking

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Osnovne informacije

Tapjacking je napad gde se zlonamerna aplikacija pokreće i pozicionira iznad aplikacije žrtve. Kada vidljivo prekrije aplikaciju žrtve, njen korisnički interfejs je dizajniran na način da prevari korisnika da interaguje sa njom, dok zapravo ta interakcija ide ka aplikaciji žrtve. Na taj način, korisnik nije svestan da zapravo obavlja akcije na aplikaciji žrtve.

Detekcija

Da biste otkrili aplikacije koje su ranjive na ovaj napad, trebalo bi da tražite izložene aktivnosti u android manifestu (imajte na umu da je aktivnost sa intent-filterom automatski izložena po podrazumevanim postavkama). Kada pronađete izložene aktivnosti, proverite da li zahtevaju neku dozvolu. To je zato što će zlonamerna aplikacija takođe trebati tu dozvolu.

Zaštita

Android 12 (API 31,32) i noviji

Prema ovom izvoru, napadi tapjacking-a automatski su sprečeni od strane Androida od Androida 12 (API 31 & 30) i novijih verzija. Dakle, čak i ako je aplikacija ranjiva, nećete moći da je iskoristite.

filterTouchesWhenObscured

Ako je android:filterTouchesWhenObscured postavljen na true, View neće primati dodire kada je prozor prikaza zasenjen drugim vidljivim prozorom.

setFilterTouchesWhenObscured

Atribut setFilterTouchesWhenObscured postavljen na true takođe može sprečiti iskorišćavanje ove ranjivosti ako je verzija Androida niža. Ako je postavljen na true, na primer, dugme može automatski biti onemogućeno ako je zasenjeno:

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

Eksploatacija

Tapjacking-ExportedActivity

Najnoviju Android aplikaciju koja izvodi napad tapjacking (+ pozivanje pre izvozne aktivnosti napadnute aplikacije) možete pronaći na: https://github.com/carlospolop/Tapjacking-ExportedActivity.

Pratite uputstva u README datoteci kako biste je koristili.

FloatingWindowApp

Primer projekta koji implementira FloatingWindowApp, koji se može koristiti da se postavi preko drugih aktivnosti kako bi se izveo napad klikjacking, možete pronaći na FloatingWindowApp (malo zastareo, srećno sa izgradnjom apk datoteke).

Qark

Izgleda da ovaj projekat više nije održavan i ova funkcionalnost više ne radi ispravno

Možete koristiti qark sa parametrima --exploit-apk --sdk-path /Users/username/Library/Android/sdk da biste kreirali zlonamernu aplikaciju za testiranje mogućih ranjivosti na Tapjacking.

Otklanjanje problema je relativno jednostavno jer programer može odlučiti da ne prima događaje dodira kada je prikazan drugi prikaz preko njega. Koristeći Android Developer’s Reference:

Ponekad je esencijalno da aplikacija može da potvrdi da se akcija izvršava uz punu saglasnost i znanje korisnika, kao što je odobravanje zahteva za dozvolu, obavljanje kupovine ili klikanje na oglas. Nažalost, zlonamerna aplikacija može pokušati da prevari korisnika da izvrši ove akcije, nesvestan, sakrivajući namenu prikaza. Kao lek, okvir nudi mehanizam filtriranja dodira koji se može koristiti za poboljšanje sigurnosti prikaza koji omogućavaju pristup osetljivoj funkcionalnosti.

Da biste omogućili filtriranje dodira, pozovite setFilterTouchesWhenObscured(boolean) ili postavite android:filterTouchesWhenObscured atribut rasporeda na true. Kada je omogućeno, okvir će odbaciti dodire koji su primljeni kada je prozor prikaza zasenčen drugim vidljivim prozorom. Kao rezultat, prikaz neće primati dodire kada se pojavljuje tost, dijalog ili drugi prozor iznad prozora prikaza.

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated