# Android Task Hijacking {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 馃挰 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} ## Task, Back Stack and Foreground Activities W systemie Android, **zadanie** to zasadniczo zestaw aktywno艣ci, z kt贸rymi u偶ytkownicy wchodz膮 w interakcj臋, aby wykona膰 okre艣lone zadanie, zorganizowane w **stogu**. Ten st贸g porz膮dkuje aktywno艣ci na podstawie momentu ich otwarcia, z najnowsz膮 aktywno艣ci膮 wy艣wietlan膮 na g贸rze jako **aktywno艣膰 na pierwszym planie**. W ka偶dej chwili tylko ta aktywno艣膰 jest widoczna na ekranie, co czyni j膮 cz臋艣ci膮 **zadania na pierwszym planie**. Oto szybkie podsumowanie przej艣膰 mi臋dzy aktywno艣ciami: * **Aktywno艣膰 1** zaczyna jako jedyna aktywno艣膰 na pierwszym planie. * Uruchomienie **Aktywno艣ci 2** przesuwa **Aktywno艣膰 1** do stogu, przynosz膮c **Aktywno艣膰 2** na pierwszy plan. * Rozpocz臋cie **Aktywno艣ci 3** przesuwa **Aktywno艣膰 1** i **Aktywno艣膰 2** dalej w stogu, z **Aktywno艣ci膮 3** teraz na przodzie. * Zamkni臋cie **Aktywno艣ci 3** przywraca **Aktywno艣膰 2** na pierwszy plan, pokazuj膮c uproszczony mechanizm nawigacji zada艅 w Androidzie. ![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (698).png>) ## Task affinity attack ### Overview of Task Affinity and Launch Modes W aplikacjach Android, **powi膮zanie z zadaniem** okre艣la preferowane zadanie aktywno艣ci, zazwyczaj zgodne z nazw膮 pakietu aplikacji. Ta konfiguracja jest kluczowa w tworzeniu aplikacji dowodowej (PoC) do demonstrowania ataku. ### Launch Modes Atrybut `launchMode` kieruje obs艂ug膮 instancji aktywno艣ci w ramach zada艅. Tryb **singleTask** jest kluczowy dla tego ataku, dyktuj膮c trzy scenariusze w oparciu o istniej膮ce instancje aktywno艣ci i dopasowania powi膮zania z zadaniem. Wykorzystanie opiera si臋 na zdolno艣ci aplikacji atakuj膮cego do na艣ladowania powi膮zania z zadaniem aplikacji docelowej, wprowadzaj膮c system Android w b艂膮d, aby uruchomi艂 aplikacj臋 atakuj膮cego zamiast zamierzonego celu. ### Detailed Attack Steps 1. **Instalacja z艂o艣liwej aplikacji**: Ofiara instaluje aplikacj臋 atakuj膮cego na swoim urz膮dzeniu. 2. **Pocz膮tkowa aktywacja**: Ofiara najpierw otwiera z艂o艣liw膮 aplikacj臋, przygotowuj膮c urz膮dzenie do ataku. 3. **Pr贸ba uruchomienia aplikacji docelowej**: Ofiara pr贸buje otworzy膰 aplikacj臋 docelow膮. 4. **Wykonanie przej臋cia**: Z powodu dopasowania powi膮zania z zadaniem, z艂o艣liwa aplikacja jest uruchamiana zamiast aplikacji docelowej. 5. **Oszustwo**: Z艂o艣liwa aplikacja wy艣wietla fa艂szywy ekran logowania przypominaj膮cy aplikacj臋 docelow膮, oszukuj膮c u偶ytkownika, aby wprowadzi艂 wra偶liwe informacje. Aby uzyska膰 praktyczn膮 implementacj臋 tego ataku, zapoznaj si臋 z repozytorium Task Hijacking Strandhogg na GitHubie: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg). ### Prevention Measures Aby zapobiec takim atakom, deweloperzy mog膮 ustawi膰 `taskAffinity` na pusty ci膮g i wybra膰 tryb uruchamiania `singleInstance`, zapewniaj膮c izolacj臋 ich aplikacji od innych. Dostosowanie funkcji `onBackPressed()` oferuje dodatkow膮 ochron臋 przed przej臋ciem zada艅. ## **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" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 馃挰 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}