hacktricks/mobile-pentesting/android-app-pentesting/android-task-hijacking.md
2024-02-10 15:36:32 +00:00

7.1 KiB

Android Task Hijacking

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Finden Sie die wichtigsten Schwachstellen, damit Sie sie schneller beheben können. Intruder verfolgt Ihre Angriffsfläche, führt proaktive Bedrohungsscans durch und findet Probleme in Ihrer gesamten Technologie-Stack, von APIs über Webanwendungen bis hin zu Cloud-Systemen. Probieren Sie es noch heute kostenlos aus.

{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}


Aufgabe, Back Stack und Vordergrundaktivitäten

In Android ist eine Aufgabe im Wesentlichen eine Reihe von Aktivitäten, mit denen Benutzer interagieren, um eine bestimmte Aufgabe abzuschließen, die in einem Back Stack organisiert ist. Dieser Stapel ordnet Aktivitäten basierend auf dem Zeitpunkt, zu dem sie geöffnet wurden, an, 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 zur Vordergrundaufgabe.

Hier ist 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 nach 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 optimierten Aufgaben-Navigationsmechanismus von Android.

https://developer.android.com/images/fundamentals/diagram_backstack.png

Task-Affinitätsangriff

Überblick über Task-Affinität und Startmodi

In Android-Anwendungen gibt die Task-Affinitä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, um den Angriff zu demonstrieren.

Startmodi

Das Attribut launchMode steuert die Verwaltung von Aktivitätsinstanzen innerhalb von Aufgaben. Der singleTask-Modus ist für diesen Angriff entscheidend und legt drei Szenarien basierend auf den vorhandenen Aktivitätsinstanzen und Übereinstimmungen der Task-Affinität fest. Der Exploit beruht auf der Fähigkeit der App eines Angreifers, die Task-Affinität der Ziel-App zu imitieren 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. Erstmalige Aktivierung: Das Opfer öffnet zuerst die bösartige App und bereitet das Gerät für den Angriff vor.
  3. Versuch des Startens der Ziel-App: Das Opfer versucht, die Ziel-App zu öffnen.
  4. Hijack-Ausführung: Aufgrund der übereinstimmenden Task-Affinitä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.

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

Finden Sie die wichtigsten Schwachstellen, damit Sie sie schneller beheben können. Intruder verfolgt Ihre Angriffsfläche, führt proaktive Bedrohungsscans durch und findet Probleme in Ihrer gesamten Technologie-Stack, von APIs über Webanwendungen bis hin zu Cloud-Systemen. Probieren Sie es noch heute kostenlos aus.

{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: