hacktricks/mobile-pentesting/android-app-pentesting/android-task-hijacking.md

86 lines
6.4 KiB
Markdown
Raw Normal View History

# Android Task Hijacking
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
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.
2022-04-28 16:01:33 +00:00
</details>
**Groupe de sécurité Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% 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**
2022-04-05 22:24:52 +00:00
* [**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)
2022-04-28 16:01:33 +00:00
**Groupe de sécurité Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
Autres façons de soutenir HackTricks :
2022-04-28 16:01:33 +00:00
* 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.
2022-04-28 16:01:33 +00:00
</details>