Το OnePlus Nord 2 έχει μια ευπάθεια που επιτρέπει σε έναν εισβολέα να αποκτήσει απεριόριστη πρόσβαση στο ριζικό κέλυφος. Διαβάστε παρακάτω για να μάθετε περισσότερα!
Πολλοί από εμάς εδώ στο XDA-Developers αρχίσαμε να περιηγούμαστε στα φόρουμ για πρώτη φορά όταν ψάχναμε να root τις συσκευές μας Android. Εκείνη την εποχή, οι άνθρωποι βασίζονταν συχνά σε μεθόδους "ρίζας με ένα κλικ": εφαρμογές ή σενάρια που περιείχαν ωφέλιμα φορτία που στοχεύουν γνωστά τρωτά σημεία κλιμάκωσης προνομίων του υπάρχοντος υλικολογισμικού για να αποκτήσουν root πρόσβαση. Με βελτιώσεις και αλλαγές στην κρυπτογράφηση, τις άδειες και τον χειρισμό που σχετίζεται με το απόρρητο, οι σύγχρονες συσκευές Android είναι σχετικά ασφαλείς από τέτοιους φορείς επιθέσεων, αλλά θα υπάρχει πάντα περιθώριο για κατορθώματα και τρωτά σημεία.
Η OnePlus μπορεί να έχει εδραιώσει το όνομά της μεταξύ των μεγάλων OEM Android, αλλά τα τηλέφωνά της είναι όχι ξένος προς την ελαττώματα ασφαλείας. Αυτή τη φορά, η εταιρεία έχει αφήσει μια αρκετά ενδιαφέρουσα (διαβάστε: ανησυχητική) ευπάθεια χωρίς επιδιόρθωση
OnePlus Nord 2 από την κυκλοφορία του. Αν και η εκμετάλλευση του κενού απαιτεί φυσική πρόσβαση στη συσκευή, ο εισβολέας μπορεί αποτελεσματικά αποκτήσουν ένα απεριόριστο κέλυφος ρίζας προτού ακόμη ο χρήστης μπορέσει να εισαγάγει τα διαπιστευτήριά του. Σημειωτέον, το νέο που κυκλοφόρησε Η έκδοση Pac-Man του Nord 2 επηρεάζεται επίσης.Ιστορικό
Σήμερα, όταν μιλάμε για πρόσβαση root σε ένα smartphone Android, οι άνθρωποι συνήθως σκέφτονται επιδιορθώνοντας την εικόνα της στοκ μπότας με το Magisk πρώτα και μετά αναβοσβήνει η διορθωμένη εικόνα στη συσκευή προορισμού μετά το ξεκλείδωμα του bootloader. Με αυτόν τον τρόπο, ο τελικός χρήστης μπορεί να έχει εποπτευόμενη πρόσβαση στο δυαδικό "su" μέσω μιας εφαρμογής διαχειριστή. Κάποια άλλα πειραματικές προσεγγίσεις υπάρχουν, αλλά σπάνια συγκεντρώνουν τόση κύρια χρήση.
Όσον αφορά την προπαραγωγή, όμως, το σενάριο είναι τελείως διαφορετικό. Κατά την προετοιμασία του υλικολογισμικού μιας συσκευής, οι μηχανικοί πρέπει να έχουν ενεργοποιημένες διάφορες παραμέτρους καταγραφής, συμπεριλαμβανομένης της πρόσβασης root. Ακόμη και σε ένα userdebug χτίζω, το Android Debug Bridge Daemon (adbd) εκτελείται ως root, έτσι ώστε κάποιος να μπορεί να έχει προνομιακή πρόσβαση φλοιού για σκοπούς εντοπισμού σφαλμάτων. Όταν το υλικολογισμικό είναι έτοιμο για αποστολή, όλες αυτές οι παράμετροι εντοπισμού σφαλμάτων πρέπει να απενεργοποιηθούν πριν από την κυκλοφορία του.
Τι θα συμβεί όμως αν ξεχάσετε να το κάνετε; Θα δούμε, καθώς οι επίσημες εκδόσεις OxygenOS για το OnePlus Nord 2 έρχονται με ένα τέτοιο ελάττωμα.
OnePlus Nord 2 -- Ευπάθεια Root Shell
Ορισμένοι OEM όπως η Samsung προσφέρουν δυνατότητα παράπλευρης φόρτωσης πακέτων ενημερώσεων για την ανάκτηση αποθεμάτων σε συσκευές λιανικής. Σε αυτή την περίπτωση, το adbd
Το δυαδικό εκτελεί με σημαντικά υψηλό προνόμιο κατά την πλευρική φόρτωση, αλλά κλείνει μόνο του μόλις ολοκληρωθεί η διαδικασία ενημέρωσης. Εκτός από αυτό, δεν επιτρέπεται η πρόσβαση στο ADB σε περιβάλλον ανάκτησης που παρέχεται από OEM.
Το OnePlus δεν επιτρέπει πλέον στους χρήστες να αναβοσβήνουν ένα πακέτο ενημέρωσης ZIP μέσω της ανάκτησης αποθεμάτων μέσω του πλευρικού φορτίου ADB. Υποθέτοντας ότι όλα τα άλλα έχουν διαμορφωθεί όπως θα έπρεπε, το περιβάλλον ανάκτησης μιας κανονικής συσκευής OnePlus θα πρέπει να είναι ασφαλές από εισβολείς που παρέχουν οποιοδήποτε είδος ωφέλιμου φορτίου χρησιμοποιώντας ADB. Δυστυχώς, δεν πάνε όλα σύμφωνα με το σχέδιο στην περίπτωση του OnePlus Nord 2.
Οπως φαίνεται, οποιοσδήποτε μπορεί να δημιουργήσει ένα κέλυφος εντοπισμού σφαλμάτων Android με δικαιώματα root μέσα στο περιβάλλον ανάκτησης του OnePlus Nord 2. Μία από τις κρίσιμες ρυθμίσεις εντοπισμού σφαλμάτων προφανώς έφτασε στις εκδόσεις παραγωγής, γεγονός που οδηγεί σε αυτό το σφάλμα.
Αξιοποίηση του ελαττώματος στο OnePlus Nord 2
Το μόνο που χρειάζεται να κάνετε είναι να επανεκκινήσετε το OnePlus Nord 2 στη λειτουργία ανάκτησης. Ένας εισβολέας μπορεί να πάρει τη συσκευή και να χρησιμοποιήσει έναν απλό συνδυασμό κουμπιών υλικού για να την αναγκάσει να μεταβεί στη λειτουργία ανάκτησης. Στην πραγματικότητα, δεν χρειάζεται να φτάσετε στο πραγματικό μενού ανάκτησης, καθώς προηγείται η ενότητα των ευάλωτων. Η πίστωση πηγαίνει στο ανώτερο μέλος του XDA AndroPlus Για επισημαίνοντας την ύπαρξη αυτού του σφάλματος τον Οκτώβριο του 2021.
- Ενώ το τηλέφωνο είναι απενεργοποιημένο, πατήστε ταυτόχρονα την ένταση του ήχου και τα κουμπιά λειτουργίας έως ότου εσείς δείτε το λογότυπο OnePlus με ένα μικροσκοπικό banner "RECOVERY MODE" στην κάτω αριστερή γωνία της οθόνης.
- Στη συνέχεια, θα πρέπει να δείτε την οθόνη επιλογής γλώσσας. Δεν χρειάζεται να προχωρήσουμε, καθώς μπορούμε να ξεκινήσουμε την πρόσβαση στο ADB από εδώ.
- Τώρα συνδέστε το τηλέφωνο σε υπολογιστή (ή Mac) χρησιμοποιώντας το καλώδιο USB. Σε περίπτωση που χρησιμοποιείτε Windows, μπορείτε να δείτε να εμφανίζεται μια νέα διεπαφή εντοπισμού σφαλμάτων Android USB στη Διαχείριση Συσκευών. Μπορεί επίσης να χρειαστεί να εγκαταστήσετε ένα κατάλληλο Android USB πρόγραμμα οδήγησης προτού τα Windows μπορέσουν να αναγνωρίσουν τη νέα συσκευή. Οι χρήστες Linux και macOS, από την άλλη πλευρά, μπορούν να χρησιμοποιήσουν το
lsusb
εντολή για τον εντοπισμό της παρουσίας της νέας διεπαφής υλικού. - Λαμβάνοντας υπόψη ότι έχετε ήδη την πιο πρόσφατη έκδοση του ADB και Fastboot βοηθητικά προγράμματα που είναι εγκατεστημένα στον υπολογιστή/Mac σας, ενεργοποιήστε μια παρουσία γραμμής εντολών/PowerShell/Terminal και εκτελέστε την ακόλουθη εντολή:
Θα πρέπει να αναφέρει το Nord 2 σε λειτουργία ανάκτησης. Αυτό είναι επίσης ιδιαίτερα ενδιαφέρον, καθώς η τυπική προτροπή εξουσιοδότησης ADB δεν χρειάζεται εδώ. Ενδέχεται να λάβετε ένα σφάλμα "μη εξουσιοδοτημένη συσκευή", αλλά η διαγραφή της υπάρχουσας βάσης δεδομένων κλειδιού ADB RSA του κεντρικού υπολογιστή και η επανεκκίνηση του διακομιστή ADB θα σας επιτρέψει τελικά να τον εξουσιοδοτήσετε.adb devices
- Τώρα δώστε εντολή
adbd
για να τρέξει ως root:
Αυτή η εντολή μπορεί να διαρκέσει πολύ και πιθανότατα θα εμφανιστεί σφάλμα χρονικού ορίου. Ωστόσο, τώραadb root
adbd
πρέπει να τρέχει ως root. - Τέλος, επαληθεύστε το επίπεδο προνομίων του κελύφους χρησιμοποιώντας την ακόλουθη εντολή:
adb shell whoami
Η έκταση του ελαττώματος
Οι πιθανές καταχρήσεις αυτής της ευπάθειας ασφαλείας είναι τρομακτικές. Με μια επιτυχημένη επίθεση στο OnePlus Nord 2, ένας εισβολέας μπορεί να απορρίψει κάθε διαμέρισμα της συσκευής. Ως αποτέλεσμα, το σύνολο του διαμερίσματος δεδομένων — συμπεριλαμβανομένων των αρχείων που είναι αποθηκευμένα στους τυπικά μη προσβάσιμους ιδιωτικούς καταλόγους δεδομένων εφαρμογών — είναι προσβάσιμο στον εισβολέα. Σε περίπτωση που το διαμέρισμα δεδομένων βγήκε ως κρυπτογραφημένο (επειδή ο χρήστης όρισε PIN ή κωδικό πρόσβασης), η ένδειξη θα μπορούσε να είναι χρήσιμη για εγκληματολογική ανάλυση.
Όχι μόνο αυτό, μπορείτε να προωθήσετε ένα εκτελέσιμο αρχείο σε /data/local/tmp
και τρέξε το από εκεί. Αυτό είναι ένα κλασικό διάνυσμα επίθεσης, το οποίο μπορεί να είναι χρήσιμο για τη φόρτωση ενός άλλου exploit. Επιπλέον, αφού τώρα μπορείτε να καλέσετε το setprop
Το βοηθητικό πρόγραμμα ως root για την τροποποίηση διαφόρων τιμών υποστηρίγματος, μπορείτε να παραβιάσετε τεχνικά ορισμένες από τις προνομιακές μεταβλητές που σχετίζονται με τον OEM. Τελευταίο αλλά εξίσου σημαντικό, ακόμα κι αν δεν έχετε ξεκλείδωτες επιλογές προγραμματιστή, το τηλέφωνο θα σας ζητήσει αυτόματα πρόσβαση εντοπισμού σφαλμάτων USB μετά την κλήση Το ADB σε ανάκτηση και επανεκκίνηση στο κανονικό περιβάλλον Android, πράγμα που σημαίνει ότι το εύρος της ευπάθειας δεν περιορίζεται μόνο στην ενότητα ανάκτησης μόνο.
Λάβετε υπόψη ότι δεν μπορείτε να εγκαταστήσετε αρχεία APK χρησιμοποιώντας ADB στο περιβάλλον ανάκτησης, λόγω του γεγονότος ότι το βοηθητικό πρόγραμμα Package Manager δεν είναι προσβάσιμο εκεί.
Πώς να ελέγξετε εάν το OnePlus Nord 2 σας επηρεάζεται; (Υπόδειξη: Είναι)
Όπως αναφέρθηκε προηγουμένως, μπορείτε να εκμεταλλευτείτε αυτήν την ευπάθεια τόσο στην κανονική όσο και στην ειδική έκδοση Pac-Man του OnePlus Nord 2. Με λίγα λόγια, εάν εισαγάγετε ένα ριζικό κέλυφος (θα ξέρετε πότε αλλάξει το σύμβολο του κελύφους $
προς την #
), τότε θα καταλάβετε ότι το ελάττωμα είναι παρόν.
Έχουμε αποκτήσει με επιτυχία πρόσβαση στο φλοιό root στο πιο πρόσφατο δημόσιο ινδικό και ευρωπαϊκό υλικολογισμικό OxygenOS για τη συσκευή, που σημαίνει Κάθε μονάδα OnePlus Nord 2 εκεί έξω είναι ευάλωτη τη στιγμή της συγγραφής αυτού του άρθρου.
Τι έπεται?
Θα συνεχίσουμε να παρακολουθούμε αυτό το θέμα καθώς υπάρχουν περισσότερες πληροφορίες. Η OnePlus έδωσε την ακόλουθη δήλωση σχετικά με το θέμα:
Αντιμετωπίζουμε το απόρρητο και την ασφάλεια πολύ σοβαρά. Δίνουμε προτεραιότητα σε αυτό το θέμα και θα κοινοποιήσουμε μια ενημέρωση μόλις έχουμε περισσότερες πληροφορίες.
Αν και όλα αυτά φαίνονται τρομακτικά, να έχετε κατά νου ότι ένας εισβολέας θα πρέπει ακόμα να έχει φυσική πρόσβαση στο τηλέφωνο για να αποκτήσει πρόσβαση στο κέλυφος root. Μέχρι να κυκλοφορήσει η OnePlus μια ενημέρωση που διορθώνει την ευπάθεια, προσπαθήστε να κρατήσετε το OnePlus Nord 2 σας μακριά από αγνώστους. Αν και δεν έχουμε συναντήσει περιπτώσεις κακόβουλης χρήσης, κανείς δεν μπορεί να απορρίψει μια τέτοια πιθανότητα, καθώς η ευπάθεια βρίσκεται στην άγρια φύση εδώ και τουλάχιστον 2 μήνες.