Android Task Hijacking

Μάθετε το χάκινγκ του AWS από το μηδέν έως τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Try Hard Security Group


Task, Back Stack and Foreground Activities

Στο Android, μια εργασία (task) είναι ουσιαστικά ένα σύνολο δραστηριοτήτων που οι χρήστες αλληλεπιδρούν με αυτές για να ολοκληρώσουν ένα συγκεκριμένο έργο, οργανωμένο μέσα σε ένα σωρό (back stack). Αυτός ο σωρός ταξινομεί τις δραστηριότητες με βάση το πότε άνοιξαν, με την πιο πρόσφατη δραστηριότητα να εμφανίζεται στην κορυφή ως δραστηριότητα προσκηνίου (foreground activity). Ανά πάσα στιγμή, μόνο αυτή η δραστηριότητα είναι ορατή στην οθόνη, καθιστώντας τη μέρος της εργασίας προσκηνίου (foreground task).

Εδώ υπάρχει μια γρήγορη ανάλυση των μεταβάσεων δραστηριοτήτων:

  • Η Δραστηριότητα 1 ξεκινά ως η μοναδική δραστηριότητα στο προσκήνιο.

  • Με την εκκίνηση της Δραστηριότητας 2 τοποθετείται η Δραστηριότητα 1 στο σωρό, φέρνοντας την Δραστηριότητα 2 στο προσκήνιο.

  • Ξεκινώντας την Δραστηριότητα 3 μετακινούνται οι Δραστηριότητες 1 και 2 πιο πίσω στο σωρό, με την Δραστηριότητα 3 τώρα μπροστά.

  • Κλείνοντας την Δραστηριότητα 3 φέρνει την Δραστηριότητα 2 ξανά στο προσκήνιο, επιδεικνύοντας τον απλοποιημένο μηχανισμό πλοήγησης εργασιών του Android.

Task affinity attack

Επισκόπηση της Task Affinity και των Λειτουργιών Εκκίνησης

Στις εφαρμογές Android, η task affinity καθορίζει την προτιμώμενη εργασία μιας δραστηριότητας, συνήθως ευθυγραμμιζόμενη με το όνομα πακέτου της εφαρμογής. Αυτή η ρύθμιση είναι ουσιώδης για τη δημιουργία μιας εφαρμογής απόδειξης (PoC) για την επίδειξη της επίθεσης.

Λειτουργίες Εκκίνησης

Το χαρακτηριστικό launchMode καθοδηγεί τη χειρισμό των περιπτώσεων δραστηριοτήτων εντός των εργασιών. Η λειτουργία singleTask είναι καίρια για αυτήν την επίθεση, διατάσσοντας τρεις σενάρια βάσει των υπαρχουσών περιπτώσεων δραστηριοτήτων και των αντιστοιχιών της task affinity. Η εκμετάλλευση βασίζεται στη δυνατότητα μιας εφαρμογής επιτιθέμενου να μιμείται την task affinity της εφαρμογής-στόχου, παραπλανώντας το σύστημα Android να εκκινήσει την εφαρμογή του επιτιθέμενου αντί της επιθυμητής στόχου.

Λεπτομερείς Βήματα Επίθεσης

  1. Εγκατάσταση Κακόβουλης Εφαρμογής: Ο θύμα εγκαθιστά την κακόβουλη εφαρμογή του επιτιθέμενου στη συσκευή του.

  2. Αρχική Ενεργοποίηση: Το θύμα ανοίγει πρώτα την κακόβουλη εφαρμογή, προετοιμάζοντας τη συσκευή για την επίθεση.

  3. Προσπάθεια Εκκίνησης Εφαρμογής-Στόχου: Το θύμα προσπαθεί να ανοίξει την εφαρμογή-στόχο.

  4. Εκτέλεση Απαγωγής: Λόγω της αντιστοίχισης της task affinity, η κακόβουλη εφαρμογή εκκινείται αντί της εφαρμογής-στόχου.

  5. Απάτη: Η κακόβουλη εφαρμογή παρουσιάζει μια ψεύτικη οθόνη σύνδεσης που μοιάζει με την εφαρμογή-στόχο, εξαπατώντας τον χρήστη να εισάγει ευαίσθητες πληροφορίες.

Για μια πρακτική υλοποίηση αυτής της επίθεσης, ανατρέξτε στο αποθετήριο Task Hijacking Strandhogg στο GitHub: Task Hijacking Strandhogg.

Μέτρα Πρόληψης

Για την πρόληψη τέτοιων επιθέσεων, οι προγραμματιστές μπορούν να ορίσουν το taskAffinity σε ένα κενό συμβολοσειράς και να επιλέξουν τη λειτουργία εκκίνησης singleInstance, εξασφαλίζοντας την απομόνωση της εφαρμογής τους από άλλες. Η προσαρμογή της λειτουργίας onBackPressed() προσφέρει επιπλέον προστασία ενάντια στην απαγωγή εργασιών.

Αναφορές

Try Hard Security Group

Μάθετε το χάκινγκ του AWS από το μηδέν έως τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Last updated