mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
48 lines
3.4 KiB
Markdown
48 lines
3.4 KiB
Markdown
# Android Taak Hijacking
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
## Taak, Agterstapel en Voorgrond Aktiwiteite
|
|
|
|
In Android is 'n **taak** basies 'n stel aktiwiteite waarmee gebruikers interaksie het om 'n spesifieke werk te voltooi, georganiseer binne 'n **agterstapel**. Hierdie stapel rangskik aktiwiteite op grond van wanneer hulle geopen is, met die mees onlangse aktiwiteit wat boaan vertoon word as die **voorgrond aktiwiteit**. Op enige oomblik is slegs hierdie aktiwiteit sigbaar op die skerm, wat dit deel van die **voorgrond taak** maak.
|
|
|
|
Hier is 'n vinnige uiteensetting van aktiwiteitsoorgange:
|
|
|
|
- **Aktiwiteit 1** begin as die enigste aktiwiteit in die voorgrond.
|
|
- Die bekendstelling van **Aktiwiteit 2** druk **Aktiwiteit 1** na die agterstapel, wat **Aktiwiteit 2** na die voorgrond bring.
|
|
- Die begin van **Aktiwiteit 3** skuif **Aktiwiteit 1** en **Aktiwiteit 2** verder terug in die stapel, met **Aktiwiteit 3** nou voor.
|
|
- Die sluiting van **Aktiwiteit 3** bring **Aktiwiteit 2** terug na die voorgrond, wat Android se gestroomlynde taak navigasiemeganisme demonstreer.
|
|
|
|
.png>)
|
|
|
|
## Taak affiniteit aanval
|
|
|
|
### Oorsig van Taak Affiniteit en Begin Modusse
|
|
|
|
In Android toepassings spesifiseer **taak affiniteit** 'n aktiwiteit se verkiesde taak, wat tipies ooreenstem met die app se pakkie naam. Hierdie opstelling is noodsaaklik om 'n bewys-van-konsep (PoC) app te skep om die aanval te demonstreer.
|
|
|
|
### Begin Modusse
|
|
|
|
Die `launchMode` attribuut rig die hantering van aktiwiteit instansies binne take. Die **singleTask** modus is van kardinale belang vir hierdie aanval, wat drie scenario's bepaal op grond van die bestaande aktiwiteit instansies en taak affiniteit ooreenkomste. Die uitbuiting hang af van die vermoë van 'n aanvaller se app om die teiken app se taak affiniteit na te boots, wat die Android stelsel mislei om die aanvaller se app in plaas van die bedoelde teiken te begin.
|
|
|
|
### Gedetailleerde Aanval Stappe
|
|
|
|
1. **Kwaadwillige App Installasie**: Die slagoffer installeer die aanvaller se app op hul toestel.
|
|
2. **Begin Aktivering**: Die slagoffer open eers die kwaadwillige app, wat die toestel vir die aanval voorberei.
|
|
3. **Teiken App Begin Poging**: Die slagoffer probeer om die teiken app te open.
|
|
4. **Hijack Uitvoering**: As gevolg van die ooreenstemmende taak affiniteit, word die kwaadwillige app bekendgestel in plaas van die teiken app.
|
|
5. **Bedrog**: Die kwaadwillige app bied 'n vals aanmeldskerm aan wat die teiken app naboots, wat die gebruiker mislei om sensitiewe inligting in te voer.
|
|
|
|
Vir 'n praktiese implementering van hierdie aanval, verwys na die Taak Hijacking Strandhogg repository op GitHub: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task_Hijacking_Strandhogg).
|
|
|
|
### Voorkoming Maatreëls
|
|
|
|
Om sulke aanvalle te voorkom, kan ontwikkelaars `taskAffinity` op 'n leë string stel en die `singleInstance` beginmodus kies, wat verseker dat hul app van ander geïsoleer is. Die aanpassing van die `onBackPressed()` funksie bied addisionele beskerming teen taak hijacking.
|
|
|
|
## **Verwysings**
|
|
|
|
- [**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)
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|