# Android Task Hijacking
{% hint style="success" %}
Leer & oefen AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Leer & oefen GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
## Task, Back Stack and Foreground Activities
In Android, 'n **task** is essensieel 'n stel aktiwiteite waarmee gebruikers interaksie het om 'n spesifieke taak te voltooi, georganiseer binne 'n **back stack**. Hierdie stapel orden aktiwiteite gebaseer op wanneer hulle geopen is, met die mees onlangse aktiwiteit wat boaan vertoon word as die **foreground activity**. Op enige oomblik is slegs hierdie aktiwiteit sigbaar op die skerm, wat dit deel maak van die **foreground task**.
Hier is 'n vinnige opsomming van aktiwiteit oorgange:
* **Aktiwiteit 1** begin as die enigste aktiwiteit in die foreground.
* Die bekendstelling van **Aktiwiteit 2** druk **Aktiwiteit 1** na die back stack, wat **Aktiwiteit 2** na die foreground bring.
* Die begin van **Aktiwiteit 3** skuif **Aktiwiteit 1** en **Aktiwiteit 2** verder terug in die stapel, met **Aktiwiteit 3** nou voor.
* Die sluiting van **Aktiwiteit 3** bring **Aktiwiteit 2** terug na die foreground, wat Android se gestroomlynde taak navigasiemeganisme demonstreer.
![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (698).png>)
## Task affinity attack
### Overview of Task Affinity and Launch Modes
In Android toepassings, **task affinity** spesifiseer 'n aktiwiteit se verkiesde taak, wat tipies ooreenstem met die app se pakketnaam. Hierdie opstelling is instrumenteel in die skep van 'n bewys-van-konsep (PoC) app om die aanval te demonstreer.
### Launch Modes
Die `launchMode` attribuut rig die hantering van aktiwiteit instansies binne take. Die **singleTask** modus is van kardinale belang vir hierdie aanval, wat drie scenario's bepaal gebaseer op die bestaande aktiwiteit instansies en taak affiniteit ooreenkomste. Die uitbuiting hang af van die vermoë van 'n aanvaller se app om die teiken app se taak affiniteit na te boots, wat die Android stelsel mislei om die aanvaller se app te begin in plaas van die bedoelde teiken.
### Detailed Attack Steps
1. **Kwaadwillige App Installasie**: Die slagoffer installeer die aanvaller se app op hul toestel.
2. **Begin Aktivering**: Die slagoffer open eers die kwaadwillige app, wat die toestel voorberei vir die aanval.
3. **Teiken App Begin Poging**: Die slagoffer probeer om die teiken app te open.
4. **Hijack Uitvoering**: As gevolg van die ooreenstemmende taak affiniteit, word die kwaadwillige app bekendgestel in plaas van die teiken app.
5. **Bedrog**: Die kwaadwillige app bied 'n vals aanmeldskerm aan wat soos die teiken app lyk, wat die gebruiker mislei om sensitiewe inligting in te voer.
Vir 'n praktiese implementering van hierdie aanval, verwys na die Task Hijacking Strandhogg repository op GitHub: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg).
### Prevention Measures
Om sulke aanvalle te voorkom, kan ontwikkelaars `taskAffinity` op 'n leë string stel en die `singleInstance` bekendstellingsmodus kies, wat verseker dat hul app se isolasie van ander. Die aanpassing van die `onBackPressed()` funksie bied addisionele beskerming teen taak hijacking.
## **References**
* [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/)
* [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html)
{% hint style="success" %}
Leer & oefen AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Leer & oefen GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}