# Android Task Hijacking
Lernen Sie AWS-Hacking von Null auf Held mithtARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories einreichen.
**Try Hard Security Group**
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Aufgabe, Back Stack und Vordergrundaktivitäten
In Android ist eine **Aufgabe** im Wesentlichen eine Reihe von Aktivitäten, mit denen Benutzer interagieren, um einen bestimmten Job abzuschließen, die innerhalb eines **Back-Stacks** organisiert sind. Dieser Stapel ordnet Aktivitäten basierend darauf, wann sie geöffnet wurden, wobei die zuletzt geöffnete Aktivität oben als **Vordergrundaktivität** angezeigt wird. Zu jedem Zeitpunkt ist nur diese Aktivität auf dem Bildschirm sichtbar und gehört somit zur **Vordergrundaufgabe**.
Hier eine kurze Übersicht über Aktivitätsübergänge:
* **Aktivität 1** startet als einzige Aktivität im Vordergrund.
* Das Starten von **Aktivität 2** schiebt **Aktivität 1** in den Back-Stack und bringt **Aktivität 2** in den Vordergrund.
* Das Starten von **Aktivität 3** verschiebt **Aktivität 1** und **Aktivität 2** weiter hinten im Stapel, wobei **Aktivität 3** jetzt vorne steht.
* Das Schließen von **Aktivität 3** bringt **Aktivität 2** wieder in den Vordergrund und zeigt den schlanken Aufgaben-Navigationsmechanismus von Android.
![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (548).png>)
## Angriff auf Aufgabenaffinität
### Übersicht über Aufgabenaffinität und Startmodi
In Android-Anwendungen gibt die **Aufgabenaffinität** die bevorzugte Aufgabe einer Aktivität an, die in der Regel mit dem Paketnamen der App übereinstimmt. Diese Einrichtung ist entscheidend für die Erstellung einer Proof-of-Concept (PoC)-App zur Demonstration des Angriffs.
### Startmodi
Das Attribut `launchMode` steuert die Behandlung von Aktivitätsinstanzen innerhalb von Aufgaben. Der **singleTask**-Modus ist für diesen Angriff entscheidend und bestimmt drei Szenarien basierend auf den vorhandenen Aktivitätsinstanzen und Übereinstimmungen der Aufgabenaffinität. Der Exploit hängt von der Fähigkeit einer Angreifer-App ab, die Aufgabenaffinität der Ziel-App nachzuahmen und das Android-System dazu zu bringen, die App des Angreifers anstelle der beabsichtigten Ziel-App zu starten.
### Detaillierte Angriffsschritte
1. **Installation der bösartigen App**: Das Opfer installiert die App des Angreifers auf seinem Gerät.
2. **Erstaktivierung**: Das Opfer öffnet zunächst die bösartige App und bereitet das Gerät für den Angriff vor.
3. **Startversuch der Ziel-App**: Das Opfer versucht, die Ziel-App zu öffnen.
4. **Hijack-Ausführung**: Aufgrund der übereinstimmenden Aufgabenaffinität wird die bösartige App anstelle der Ziel-App gestartet.
5. **Täuschung**: Die bösartige App zeigt einen gefälschten Anmeldebildschirm, der der Ziel-App ähnelt, und täuscht den Benutzer dazu, sensible Informationen einzugeben.
Für eine praktische Umsetzung dieses Angriffs siehe das Task Hijacking Strandhogg-Repository auf GitHub: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg).
### Präventivmaßnahmen
Um solche Angriffe zu verhindern, können Entwickler `taskAffinity` auf einen leeren String setzen und den `singleInstance`-Startmodus wählen, um die Isolierung ihrer App von anderen zu gewährleisten. Die Anpassung der `onBackPressed()`-Funktion bietet zusätzlichen Schutz gegen Task-Hijacking.
## **Referenzen**
* [**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**
{% embed url="https://discord.gg/tryhardsecurity" %}
Lernen Sie AWS-Hacking von Null auf Held mithtARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories einreichen.