8.4 KiB
Захоплення завдання Android
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!
Інші способи підтримки HackTricks:
- Якщо ви хочете побачити вашу компанію в рекламі HackTricks або завантажити HackTricks у форматі PDF, перевірте ПЛАНИ ПІДПИСКИ!
- Отримайте офіційний PEASS & HackTricks мерч
- Відкрийте для себе Сім'ю PEASS, нашу колекцію ексклюзивних NFT
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами на Twitter 🐦 @carlospolopm.
- Поділіться своїми хакерськими трюками, надсилайте PR до HackTricks та HackTricks Cloud репозиторіїв.
Група з безпеки Try Hard
{% embed url="https://discord.gg/tryhardsecurity" %}
Завдання, Стек вікон та Активності на передньому плані
У Android завдання - це сукупність активностей, з якими користувачі взаємодіють для виконання конкретної роботи, організованих у стеку вікон. Цей стек упорядковує активності на основі їх відкриття, з останньою активністю, відображеною у верхній частині як активність на передньому плані. У будь-який момент на екрані видима лише ця активність, що робить її частиною завдання на передньому плані.
Ось швидкий розбір переходів між активностями:
- Активність 1 починає як єдина активність на передньому плані.
- Запуск Активності 2 відправляє Активність 1 у стек вікон, приводячи Активність 2 на передній план.
- Запуск Активності 3 переміщає Активність 1 та Активність 2 далі в стеку, з Активністю 3 тепер на передньому плані.
- Закриття Активності 3 повертає Активність 2 на передній план, демонструючи спрощений механізм навігації завдань Android.
Атака на спільність завдань
Огляд спільності завдань та режимів запуску
У додатках Android спільність завдань вказує на бажане завдання активності, яке зазвичай відповідає імені пакета додатка. Це налаштування є ключовим для створення додатка-доказу концепції (PoC) для демонстрації атаки.
Режими запуску
Атрибут launchMode
визначає обробку екземплярів активностей у завданнях. Режим singleTask є ключовим для цієї атаки, визначаючи три сценарії на основі існуючих екземплярів активностей та відповідності спільності завдань. Експлуатація ґрунтується на можливості додатка атакувача імітувати спільність завдань цільового додатка, вводячи систему Android в оману та запускаючи додаток атакувача замість цільового.
Детальні кроки атаки
- Встановлення зловмисного додатка: Жертва встановлює додаток атакувача на свій пристрій.
- Початкова активація: Жертва спочатку відкриває зловмисний додаток, підготовлюючи пристрій до атаки.
- Спроба запуску цільового додатка: Жертва намагається відкрити цільовий додаток.
- Виконання захоплення: Завдяки відповідності спільності завдань, зловмисний додаток запускається замість цільового додатка.
- Обман: Зловмисний додаток показує фальшивий екран входу, схожий на цільовий додаток, обманюючи користувача щодо введення чутливої інформації.
Для практичної реалізації цієї атаки дивіться репозиторій Task Hijacking Strandhogg на GitHub: Task Hijacking Strandhogg.
Заходи запобігання
Для запобігання таким атакам розробники можуть встановити taskAffinity
на порожній рядок та вибрати режим запуску singleInstance
, забезпечуючи ізоляцію їх додатка від інших. Налаштування функції onBackPressed()
надає додатковий захист від захоплення завдань.
Посилання
- https://blog.dixitaditya.com/android-task-hijacking/
- https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html
Група з безпеки Try Hard
{% embed url="https://discord.gg/tryhardsecurity" %}
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!
Інші способи підтримки HackTricks:
- Якщо ви хочете побачити вашу компанію в рекламі HackTricks або завантажити HackTricks у форматі PDF, перевірте ПЛАНИ ПІДПИСКИ!
- Отримайте офіційний PEASS & HackTricks мерч
- Відкрийте для себе Сім'ю PEASS, нашу колекцію ексклюзивних NFT
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами на Twitter 🐦 @carlospolopm.
- Поділіться своїми хакерськими трюками, надсилайте PR до HackTricks та HackTricks Cloud репозиторіїв.