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

85 lines
8.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Захоплення завдання Android
<details>
<summary><strong>Вивчайте хакінг AWS від нуля до героя з</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Інші способи підтримки HackTricks:
* Якщо ви хочете побачити вашу **компанію в рекламі HackTricks** або **завантажити HackTricks у форматі PDF**, перевірте [**ПЛАНИ ПІДПИСКИ**](https://github.com/sponsors/carlospolop)!
* Отримайте [**офіційний PEASS & HackTricks мерч**](https://peass.creator-spring.com)
* Відкрийте для себе [**Сім'ю PEASS**](https://opensea.io/collection/the-peass-family), нашу колекцію ексклюзивних [**NFT**](https://opensea.io/collection/the-peass-family)
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами на **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Поділіться своїми хакерськими трюками, надсилайте PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв.
</details>
**Група з безпеки Try Hard**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% 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](<../../.gitbook/assets/image (548).png>)
## Атака на спільність завдань
### Огляд спільності завдань та режимів запуску
У додатках Android **спільність завдань** вказує на бажане завдання активності, яке зазвичай відповідає імені пакета додатка. Це налаштування є ключовим для створення додатка-доказу концепції (PoC) для демонстрації атаки.
### Режими запуску
Атрибут `launchMode` визначає обробку екземплярів активностей у завданнях. Режим **singleTask** є ключовим для цієї атаки, визначаючи три сценарії на основі існуючих екземплярів активностей та відповідності спільності завдань. Експлуатація ґрунтується на можливості додатка атакувача імітувати спільність завдань цільового додатка, вводячи систему Android в оману та запускаючи додаток атакувача замість цільового.
### Детальні кроки атаки
1. **Встановлення зловмисного додатка**: Жертва встановлює додаток атакувача на свій пристрій.
2. **Початкова активація**: Жертва спочатку відкриває зловмисний додаток, підготовлюючи пристрій до атаки.
3. **Спроба запуску цільового додатка**: Жертва намагається відкрити цільовий додаток.
4. **Виконання захоплення**: Завдяки відповідності спільності завдань, зловмисний додаток запускається замість цільового додатка.
5. **Обман**: Зловмисний додаток показує фальшивий екран входу, схожий на цільовий додаток, обманюючи користувача щодо введення чутливої інформації.
Для практичної реалізації цієї атаки дивіться репозиторій Task Hijacking Strandhogg на GitHub: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg).
### Заходи запобігання
Для запобігання таким атакам розробники можуть встановити `taskAffinity` на порожній рядок та вибрати режим запуску `singleInstance`, забезпечуючи ізоляцію їх додатка від інших. Налаштування функції `onBackPressed()` надає додатковий захист від захоплення завдань.
## **Посилання**
* [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/)
* [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html)
**Група з безпеки Try Hard**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Вивчайте хакінг AWS від нуля до героя з</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Інші способи підтримки HackTricks:
* Якщо ви хочете побачити вашу **компанію в рекламі HackTricks** або **завантажити HackTricks у форматі PDF**, перевірте [**ПЛАНИ ПІДПИСКИ**](https://github.com/sponsors/carlospolop)!
* Отримайте [**офіційний PEASS & HackTricks мерч**](https://peass.creator-spring.com)
* Відкрийте для себе [**Сім'ю PEASS**](https://opensea.io/collection/the-peass-family), нашу колекцію ексклюзивних [**NFT**](https://opensea.io/collection/the-peass-family)
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами на **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Поділіться своїми хакерськими трюками, надсилайте PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв.
</details>