hacktricks/mobile-pentesting/android-app-pentesting/android-task-hijacking.md

5.9 KiB

Android Taak Kaping

Leer AWS hakwerk vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Try Hard Security Group

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


Taak, Agterste Stok en Voorgrondaktiwiteite

In Android is 'n taak essensieel 'n stel aktiwiteite waarmee gebruikers interaksie hê om 'n spesifieke taak te voltooi, georganiseer binne 'n agterste stok. Hierdie stok rangskik aktiwiteite op grond van wanneer hulle geopen is, met die mees onlangse aktiwiteit bo-aan as die voorgrondaktiwiteit. Op enige oomblik is slegs hierdie aktiwiteit sigbaar op die skerm, wat dit deel maak van die voorgrondtaak.

Hier is 'n vinnige uiteensetting van aktiwiteitsoorgange:

  • Aktiwiteit 1 begin as die enigste aktiwiteit in die voorgrond.
  • Die begin van Aktiwiteit 2 stoot Aktiwiteit 1 na die agterste stok en bring Aktiwiteit 2 na die voorgrond.
  • Die begin van Aktiwiteit 3 skuif Aktiwiteit 1 en Aktiwiteit 2 verder terug in die stok, met Aktiwiteit 3 nou voor.
  • Die sluiting van Aktiwiteit 3 bring Aktiwiteit 2 terug na die voorgrond, wat Android se gestroomlynde taaknavigasiemeganisme demonstreer.

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

Taakverwantskapaanval

Oorsig van Taakverwantskap en Beginmodusse

In Android-toepassings spesifiseer taakverwantskap 'n aktiwiteit se verkose taak, wat tipies ooreenstem met die toep se pakkernaam. Hierdie opstelling is instrumenteel om 'n bewys-van-konsep (PoC) -toep vir die aanval te skep.

Beginmodusse

Die launchMode eienskap rig die hantering van aktiwiteitsinstansies binne take. Die singleTask modus is noodsaaklik vir hierdie aanval, wat drie scenario's bepaal op grond van die bestaande aktiwiteitsinstansies en taakverwantskapsooreenkomste. Die uitbuiting steun op die vermoë van 'n aanvaller se toep om die teikentoep se taakverwantskap na te boots, wat die Android-stelsel mislei om die aanvaller se toep in plaas van die beoogde teiken te begin.

Gedetailleerde Aanvalstappe

  1. Boosaardige Toepinstallasie: Die slagoffer installeer die aanvaller se toep op hul toestel.
  2. Aanvanklike Aktivering: Die slagoffer open eers die boosaardige toep, wat die toestel gereed maak vir die aanval.
  3. Teikentoepbeginpoging: Die slagoffer probeer om die teikentoep te open.
  4. Kaping Uitvoering: As gevolg van die ooreenstemmende taakverwantskap, word die boosaardige toep in plaas van die teikentoep begin.
  5. Misleiding: Die boosaardige toep vertoon 'n valse aanmeldingskerm wat lyk soos die teikentoep, wat die gebruiker mislei om sensitiewe inligting in te voer.

Vir 'n praktiese implementering van hierdie aanval, verwys na die Task Hijacking Strandhogg-opslag op GitHub: Task Hijacking Strandhogg.

Voorkomingsmaatreëls

Om sulke aanvalle te voorkom, kan ontwikkelaars taskAffinity instel op 'n leë string en kies vir die singleInstance beginmodus, wat verseker dat hul toep geïsoleer is van ander. Die aanpassing van die onBackPressed()-funksie bied addisionele beskerming teen taakkaping.

Verwysings

Try Hard Security Group

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

Leer AWS hakwerk vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: