hacktricks/mobile-pentesting/android-app-pentesting/android-task-hijacking.md
2024-03-29 19:49:46 +01:00

8.4 KiB
Raw Blame History

Захоплення завдання Android

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Група з безпеки Try Hard

{% embed url="https://discord.gg/tryhardsecurity" %}


Завдання, Стек вікон та Активності на передньому плані

У Android завдання - це сукупність активностей, з якими користувачі взаємодіють для виконання конкретної роботи, організованих у стеку вікон. Цей стек упорядковує активності на основі їх відкриття, з останньою активністю, відображеною у верхній частині як активність на передньому плані. У будь-який момент на екрані видима лише ця активність, що робить її частиною завдання на передньому плані.

Ось швидкий розбір переходів між активностями:

  • Активність 1 починає як єдина активність на передньому плані.
  • Запуск Активності 2 відправляє Активність 1 у стек вікон, приводячи Активність 2 на передній план.
  • Запуск Активності 3 переміщає Активність 1 та Активність 2 далі в стеку, з Активністю 3 тепер на передньому плані.
  • Закриття Активності 3 повертає Активність 2 на передній план, демонструючи спрощений механізм навігації завдань Android.

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

Атака на спільність завдань

Огляд спільності завдань та режимів запуску

У додатках Android спільність завдань вказує на бажане завдання активності, яке зазвичай відповідає імені пакета додатка. Це налаштування є ключовим для створення додатка-доказу концепції (PoC) для демонстрації атаки.

Режими запуску

Атрибут launchMode визначає обробку екземплярів активностей у завданнях. Режим singleTask є ключовим для цієї атаки, визначаючи три сценарії на основі існуючих екземплярів активностей та відповідності спільності завдань. Експлуатація ґрунтується на можливості додатка атакувача імітувати спільність завдань цільового додатка, вводячи систему Android в оману та запускаючи додаток атакувача замість цільового.

Детальні кроки атаки

  1. Встановлення зловмисного додатка: Жертва встановлює додаток атакувача на свій пристрій.
  2. Початкова активація: Жертва спочатку відкриває зловмисний додаток, підготовлюючи пристрій до атаки.
  3. Спроба запуску цільового додатка: Жертва намагається відкрити цільовий додаток.
  4. Виконання захоплення: Завдяки відповідності спільності завдань, зловмисний додаток запускається замість цільового додатка.
  5. Обман: Зловмисний додаток показує фальшивий екран входу, схожий на цільовий додаток, обманюючи користувача щодо введення чутливої інформації.

Для практичної реалізації цієї атаки дивіться репозиторій Task Hijacking Strandhogg на GitHub: Task Hijacking Strandhogg.

Заходи запобігання

Для запобігання таким атакам розробники можуть встановити taskAffinity на порожній рядок та вибрати режим запуску singleInstance, забезпечуючи ізоляцію їх додатка від інших. Налаштування функції onBackPressed() надає додатковий захист від захоплення завдань.

Посилання

Група з безпеки Try Hard

{% embed url="https://discord.gg/tryhardsecurity" %}

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks: