6.2 KiB
Przechwytywanie Zadań w Androidzie
Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLANY SUBSKRYPCYJNE!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakowania, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na GitHubie.
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
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 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 na stos wsteczny, 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 planie.
- 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 zadania określa preferowane zadanie aktywności, zazwyczaj zgodne z nazwą pakietu aplikacji. Ta konfiguracja jest istotna przy tworzeniu aplikacji proof-of-concept (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
- Instalacja Złośliwej Aplikacji: Ofiara instaluje aplikację atakującego na swoim urządzeniu.
- Początkowe Aktywowanie: Ofiara najpierw otwiera złośliwą aplikację, przygotowując urządzenie do ataku.
- Próba Uruchomienia Aplikacji Docelowej: Ofiara próbuje otworzyć aplikację docelową.
- Wykonanie Przechwycenia: Ze względu na dopasowanie powinowactwa zadań, złośliwa aplikacja zostaje uruchomiona zamiast aplikacji docelowej.
- Oszustwo: Złośliwa aplikacja prezentuje fałszywy ekran logowania przypominający aplikację docelową, wprowadzając użytkownika w błąd, aby wprowadził wrażliwe 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
- https://blog.dixitaditya.com/android-task-hijacking/
- https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLANY SUBSKRYPCYJNE!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakowania, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na GitHubie.