Android Task Hijacking

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Grupa Try Hard Security


Zadanie, stos wsteczny i aktywności w pierwszym planie

W systemie Android zadanie to zbiór aktywności, z którymi użytkownicy współdziałają, aby ukończyć określone zadanie, zorganizowane w stosie wstecznej. Ten stos uporządkowuje aktywności na podstawie momentu ich otwarcia, z najnowszą aktywnością wyświetlaną na górze jako aktywność w pierwszym planie. W każdej chwili tylko ta aktywność jest widoczna na ekranie, co czyni ją częścią zadania w pierwszym planie.

Oto szybkie omówienie przejść między aktywnościami:

  • Aktywność 1 zaczyna jako jedyna aktywność w pierwszym planie.

  • Uruchomienie Aktywności 2 przesuwa Aktywność 1 do stosu wstecznego, przynosząc Aktywność 2 do pierwszego planu.

  • Rozpoczęcie Aktywności 3 przenosi Aktywność 1 i Aktywność 2 dalej w stosie, a teraz Aktywność 3 jest na pierwszym miejscu.

  • Zamknięcie Aktywności 3 przywraca Aktywność 2 do pierwszego planu, prezentując zoptymalizowany mechanizm nawigacji zadań w systemie Android.

Atak na powinowactwo zadań

Przegląd powinowactwa zadań i trybów uruchamiania

W aplikacjach Android powinowactwo zadań określa preferowane zadanie aktywności, zazwyczaj zgodne z nazwą pakietu aplikacji. Ta konfiguracja jest istotna przy tworzeniu aplikacji koncepcyjnej (PoC) do demonstracji ataku.

Tryby uruchamiania

Atrybut launchMode kieruje obsługą instancji aktywności w zadaniach. Tryb singleTask jest kluczowy dla tego ataku, dyktując trzy scenariusze na podstawie istniejących instancji aktywności i dopasowań powinowactwa zadań. Wykorzystanie polega na zdolności aplikacji atakującego do naśladowania powinowactwa zadań aplikacji docelowej, wprowadzając w błąd system Android, aby uruchomił aplikację atakującego zamiast zamierzonej aplikacji.

Szczegółowe kroki ataku

  1. Instalacja złośliwej aplikacji: Ofiara instaluje aplikację atakującego na swoim urządzeniu.

  2. Początkowe uruchomienie: Ofiara najpierw otwiera złośliwą aplikację, przygotowując urządzenie do ataku.

  3. Próba uruchomienia aplikacji docelowej: Ofiara próbuje otworzyć aplikację docelową.

  4. Wykonanie przechwycenia: Ze względu na pasujące powinowactwo zadań, złośliwa aplikacja zostaje uruchomiona zamiast aplikacji docelowej.

  5. Oszustwo: Złośliwa aplikacja prezentuje fałszywy ekran logowania przypominający aplikację docelową, wprowadzając użytkownika w błąd, aby wprowadził poufne informacje.

Dla praktycznej implementacji tego ataku, odwołaj się do repozytorium Task Hijacking Strandhogg na GitHubie: Task Hijacking Strandhogg.

Środki zapobiegawcze

Aby zapobiec takim atakom, programiści mogą ustawić taskAffinity na pusty ciąg znaków i wybrać tryb uruchamiania singleInstance, zapewniając izolację swojej aplikacji od innych. Dostosowanie funkcji onBackPressed() oferuje dodatkową ochronę przed przechwytywaniem zadań.

Referencje

Grupa Try Hard Security

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated