# Android Task Hijacking
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)! Autres façons de soutenir HackTricks : * Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family) * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
**Groupe de sécurité Try Hard**
{% embed url="https://discord.gg/tryhardsecurity" %} *** ## Tâche, Pile arrière et Activités au premier plan Dans Android, une **tâche** est essentiellement un ensemble d'activités avec lesquelles les utilisateurs interagissent pour accomplir une tâche spécifique, organisées dans une **pile arrière**. Cette pile classe les activités en fonction de leur ouverture, l'activité la plus récente étant affichée en haut comme activité au premier plan. À tout moment, seule cette activité est visible à l'écran, faisant partie de la **tâche au premier plan**. Voici un bref aperçu des transitions d'activité : * **Activité 1** démarre comme seule activité au premier plan. * Le lancement de **l'Activité 2** pousse **l'Activité 1** dans la pile arrière, amenant **l'Activité 2** au premier plan. * Le démarrage de **l'Activité 3** déplace **l'Activité 1** et **l'Activité 2** plus loin dans la pile, avec **l'Activité 3** maintenant en premier plan. * La fermeture de **l'Activité 3** ramène **l'Activité 2** au premier plan, mettant en valeur le mécanisme de navigation des tâches simplifié d'Android. ![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (548).png>) ## Attaque par affinité de tâche ### Aperçu de l'affinité de tâche et des modes de lancement Dans les applications Android, **l'affinité de tâche** spécifie la tâche préférée d'une activité, correspondant généralement au nom du package de l'application. Cette configuration est essentielle pour créer une application de preuve de concept (PoC) démontrant l'attaque. ### Modes de lancement L'attribut `launchMode` dirige la gestion des instances d'activité au sein des tâches. Le mode **singleTask** est essentiel pour cette attaque, dictant trois scénarios en fonction des instances d'activité existantes et des correspondances d'affinité de tâche. L'exploit repose sur la capacité de l'application d'un attaquant à imiter l'affinité de tâche de l'application cible, induisant en erreur le système Android pour lancer l'application de l'attaquant à la place de l'application cible prévue. ### Étapes détaillées de l'attaque 1. **Installation de l'application malveillante** : La victime installe l'application de l'attaquant sur son appareil. 2. **Activation initiale** : La victime ouvre d'abord l'application malveillante, préparant l'appareil pour l'attaque. 3. **Tentative de lancement de l'application cible** : La victime tente d'ouvrir l'application cible. 4. **Exécution de détournement** : En raison de l'affinité de tâche correspondante, l'application malveillante est lancée à la place de l'application cible. 5. **Tromperie** : L'application malveillante présente un faux écran de connexion ressemblant à l'application cible, trompant l'utilisateur pour qu'il saisisse des informations sensibles. Pour une mise en œuvre pratique de cette attaque, consultez le dépôt Task Hijacking Strandhogg sur GitHub : [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg). ### Mesures de prévention Pour prévenir de telles attaques, les développeurs peuvent définir `taskAffinity` sur une chaîne vide et opter pour le mode de lancement `singleInstance`, assurant l'isolation de leur application par rapport aux autres. Personnaliser la fonction `onBackPressed()` offre une protection supplémentaire contre le détournement de tâche. ## **Références** * [**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) **Groupe de sécurité Try Hard**
{% embed url="https://discord.gg/tryhardsecurity" %}
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)! Autres façons de soutenir HackTricks : * Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family) * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.