# Android Task Hijacking
Erlernen 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-Merch**](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" %}
***
## Aufgaben, 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, organisiert innerhalb eines **Back-Stacks**. Dieser Stapel ordnet Aktivitäten basierend darauf, wann sie geöffnet wurden, wobei die zuletzt geöffnete Aktivität als **Vordergrundaktivität** oben angezeigt wird. Zu jedem Zeitpunkt ist nur diese Aktivität auf dem Bildschirm sichtbar und gehört somit zur **Vordergrundaufgabe**.
Hier ist eine kurze Übersicht über Aktivitätsübergänge:
* **Aktivität 1** beginnt 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 der App eines Angreifers 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 verweisen Sie auf 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 Funktion `onBackPressed()` 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" %}
Erlernen 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-Merch**](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.