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

85 lines
6.1 KiB
Markdown

# Dirottamento dell'attività Android
<details>
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Esperto Red Team AWS di HackTricks)</strong></a><strong>!</strong></summary>
Altri modi per supportare HackTricks:
* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT**](https://opensea.io/collection/the-peass-family) esclusivi
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di GitHub.
</details>
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Attività, Back Stack e Attività in Primo Piano
In Android, un **task** è essenzialmente un insieme di attività con cui gli utenti interagiscono per completare un lavoro specifico, organizzato all'interno di uno **stack di retroazione**. Questo stack ordina le attività in base a quando sono state aperte, con l'attività più recente visualizzata in alto come **attività in primo piano**. In ogni momento, solo questa attività è visibile sullo schermo, facendola parte del **task in primo piano**.
Ecco una rapida panoramica delle transizioni delle attività:
* **Attività 1** inizia come unica attività in primo piano.
* Il lancio di **Attività 2** spinge **Attività 1** nello stack di retroazione, portando **Attività 2** in primo piano.
* Avviare **Attività 3** sposta **Attività 1** e **Attività 2** ulteriormente nello stack, con **Attività 3** ora davanti.
* Chiudere **Attività 3** riporta **Attività 2** in primo piano, mostrando il meccanismo di navigazione dei task semplificato di Android.
![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (548).png>)
## Attacco all'affinità del task
### Panoramica dell'affinità del task e delle modalità di lancio
Nelle applicazioni Android, **l'affinità del task** specifica il task preferito di un'attività, allineandosi tipicamente con il nome del pacchetto dell'app. Questa configurazione è fondamentale per creare un'app di prova (PoC) per dimostrare l'attacco.
### Modalità di lancio
L'attributo `launchMode` dirige la gestione delle istanze di attività all'interno dei task. La modalità **singleTask** è fondamentale per questo attacco, che detta tre scenari in base alle istanze di attività esistenti e alle corrispondenze di affinità del task. L'exploit si basa sulla capacità dell'app di un attaccante di imitare l'affinità del task dell'app target, inducendo in errore il sistema Android nel lanciare l'app dell'attaccante invece dell'app target prevista.
### Passaggi dettagliati dell'attacco
1. **Installazione dell'app malevola**: La vittima installa l'app dell'attaccante sul proprio dispositivo.
2. **Attivazione iniziale**: La vittima apre per la prima volta l'app malevola, preparando il dispositivo per l'attacco.
3. **Tentativo di lancio dell'app target**: La vittima tenta di aprire l'app target.
4. **Esecuzione del dirottamento**: A causa dell'affinità del task corrispondente, l'app malevola viene lanciata al posto dell'app target.
5. **Inganno**: L'app malevola presenta una schermata di accesso falsa simile all'app target, inducendo l'utente a inserire informazioni sensibili.
Per un'implementazione pratica di questo attacco, fare riferimento al repository Task Hijacking Strandhogg su GitHub: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg).
### Misure di prevenzione
Per prevenire tali attacchi, gli sviluppatori possono impostare `taskAffinity` su una stringa vuota e optare per la modalità di lancio `singleInstance`, garantendo l'isolamento dell'app da altre. Personalizzare la funzione `onBackPressed()` offre una protezione aggiuntiva contro il dirottamento del task.
## **Riferimenti**
* [**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)
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Esperto Red Team AWS di HackTricks)</strong></a><strong>!</strong></summary>
Altri modi per supportare HackTricks:
* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT**](https://opensea.io/collection/the-peass-family) esclusivi
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di GitHub.
</details>