Android Task Hijacking

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Task, Back Stack and Foreground Activities

U Androidu, task je u suštini skup aktivnosti sa kojima korisnici interaguju kako bi završili određeni posao, organizovan unutar back stack. Ova stog organizuje aktivnosti na osnovu vremena kada su otvorene, pri čemu je najnovija aktivnost prikazana na vrhu kao foreground activity. U bilo kojem trenutku, samo je ova aktivnost vidljiva na ekranu, čineći je delom foreground task.

Evo brzog pregleda prelaza između aktivnosti:

  • Activity 1 počinje kao jedina aktivnost u foreground-u.

  • Pokretanje Activity 2 pomera Activity 1 u back stack, dovodeći Activity 2 u foreground.

  • Pokretanje Activity 3 pomera Activity 1 i Activity 2 dalje nazad u stogu, pri čemu je Activity 3 sada ispred.

  • Zatvaranje Activity 3 vraća Activity 2 nazad u foreground, prikazujući Androidov pojednostavljeni mehanizam navigacije kroz zadatke.

https://developer.android.com/images/fundamentals/diagram_backstack.png

Task affinity attack

Overview of Task Affinity and Launch Modes

U Android aplikacijama, task affinity specificira preferirani zadatak aktivnosti, obično usklađen sa imenom paketa aplikacije. Ova postavka je ključna za kreiranje aplikacije za dokazivanje koncepta (PoC) za demonstraciju napada.

Launch Modes

Atribut launchMode usmerava rukovanje instancama aktivnosti unutar zadataka. singleTask režim je ključan za ovaj napad, određujući tri scenarija na osnovu postojećih instanci aktivnosti i podudaranja task affinity. Eksploatacija se oslanja na sposobnost aplikacije napadača da imitira task affinity ciljne aplikacije, obmanjujući Android sistem da pokrene aplikaciju napadača umesto nameravane mete.

Detailed Attack Steps

  1. Instalacija zlonamerne aplikacije: Žrtva instalira aplikaciju napadača na svom uređaju.

  2. Prva aktivacija: Žrtva prvo otvara zlonamernu aplikaciju, pripremajući uređaj za napad.

  3. Pokušaj pokretanja ciljne aplikacije: Žrtva pokušava da otvori ciljnu aplikaciju.

  4. Izvršenje otmice: Zbog podudaranja task affinity, zlonamerna aplikacija se pokreće umesto ciljne aplikacije.

  5. Obmana: Zlonamerna aplikacija prikazuje lažni ekran za prijavu koji podseća na ciljnu aplikaciju, obmanjujući korisnika da unese osetljive informacije.

Za praktičnu implementaciju ovog napada, pogledajte Task Hijacking Strandhogg repozitorijum na GitHub-u: Task Hijacking Strandhogg.

Prevention Measures

Da bi se sprečili ovakvi napadi, programeri mogu postaviti taskAffinity na prazan string i odabrati singleInstance režim pokretanja, osiguravajući izolaciju svoje aplikacije od drugih. Prilagođavanje funkcije onBackPressed() pruža dodatnu zaštitu protiv otmice zadataka.

References

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Last updated