Πώς να αποκτήσετε πρόσβαση στο κέλυφος συστήματος σε οποιαδήποτε συσκευή Samsung Galaxy

Γρήγοροι Σύνδεσμοι

  • Προαπαιτούμενα
  • Πώς να εκμεταλλευτείτε οποιαδήποτε συσκευή Samsung Galaxy για να αποκτήσετε πρόσβαση στο κέλυφος του συστήματος
  • Επαλήθευση
  • συμπέρασμα

Την πρώτη Δευτέρα κάθε μήνα, η Google δημοσιεύει το Δελτίο ασφαλείας Android. Αποκαλύπτει όλες τις μετριασμένες ευπάθειες ασφαλείας σε διάφορα στοιχεία του λειτουργικού συστήματος Android ως καθώς και τον πυρήνα του Linux και τις ενημερώσεις κώδικα που υποβάλλονται από την ίδια την Google ή άλλα τρίτα μέρη σε αυτό ημερομηνία. Οι μεγάλοι OEM όπως η Samsung έχουν τη δική τους άποψη για το Android, επομένως επιλέγουν να εισάγουν τις δικές τους ενημερώσεις κώδικα και ενημερώσεις σε ενημερώσεις ασφαλείας.

Με αυτά τα λόγια, είναι αρκετά δύσκολο να φροντίσεις κάθε κενό. Υπάρχει μια πληθώρα διανυσμάτων επίθεσης και μερικές φορές μπορείτε να δημιουργήσετε τη δική σας αλυσίδα εκμετάλλευσης με βάση μια προηγουμένως γνωστή ευπάθεια μόνο και μόνο επειδή έχετε μια νέα μέθοδο για να παρακάμψετε ένα από τα διασφαλίσεις. Αυτό ακριβώς είναι το Ανώτερο Μέλος του XDA

K0mraid3 έκανε με μια ευπάθεια τεσσάρων ετών, η οποία του επέτρεψε να αποκτήσει πρόσβαση στο κέλυφος συστήματος σε κάθε συσκευή Samsung Galaxy - συμπεριλαμβανομένων των πιο πρόσφατων ναυαρχίδων - εκεί έξω. Ενώ δεν είναι το ίδιο με έχοντας δικαιώματα root, είναι μια αρκετά υψηλή κλιμάκωση τοπικών προνομίων.

Το κύριο σημείο εισόδου της ευπάθειας βρίσκεται στο Samsung Text-to-Speech (όνομα πακέτου: com.samsung. SMT), μια προφορτωμένη εφαρμογή συστήματος που μπορεί να βρεθεί σε κάθε συσκευή Samsung Galaxy. Η ιδέα είναι να υποβαθμιστεί η εγκατεστημένη έκδοση της εφαρμογής σε μια συγκεκριμένη ευάλωτη έκδοση (v3.0.02.2 για την ακρίβεια), και στη συνέχεια αναγκάστε το να φορτώσει μια βιβλιοθήκη, η οποία με τη σειρά της ανοίγει ένα κέλυφος με δικαίωμα συστήματος (UID 1000).

Εάν θέλετε να μάθετε περισσότερα για το exploit, φροντίστε να το ελέγξετε Επεξηγητής του επικεφαλής τεχνικού συντάκτη XDA Adam Conway. Μίλησε στο K0mraid3 για να κατανοήσει το πλήρες εύρος αυτού του exploit και τον τρόπο λειτουργίας του.

  1. Για να επαναλάβουμε, δεν πρόκειται για πρόσβαση root (UID 0), αλλά η πρόσβαση στο κέλυφος του συστήματος είναι αρκετά ισχυρή για να εκτελέσει μια δέσμη δυαδικών αρχείων που κατά τα άλλα περιορισμένα.
  2. Η απόδειξη της ιδέας του K0mraid3 απαιτεί ένα βοηθητικό APK και πρέπει να το εκτελέσετε τουλάχιστον μία φορά πριν ξεκινήσετε την αλυσίδα εκμετάλλευσης.
  3. Ένα UI, δηλαδή οι ενσωματωμένες ρουτίνες εξοικονόμησης ενέργειας του προσαρμοσμένου Android skin της Samsung μπορεί να είναι ενοχλητικές, καθώς ενδέχεται να παρεμποδίσουν την επικοινωνία μεταξύ της εφαρμογής TTS, του βοηθητικού APK και του κελύφους. Επομένως, προτείνουμε να ορίσετε εκ των προτέρων το προφίλ εξοικονόμησης ενέργειας σε "Απεριόριστο" για τις εφαρμογές.

Προαπαιτούμενα

  1. Κατεβάστε το προ-μεταγλωττισμένο build του exploit από το νήμα φόρουμ XDA ή το επίσημο αποθετήριο GitHub που συνδέεται παρακάτω: K0mraid3s System Shell Exploit
  2. Εξαγάγετε το αρχείο κάπου και θα πρέπει να βρείτε την ευάλωτη έκδοση του Samsung Text-to-Speech APK (samsungTTSVULN2.apk), την βοηθητική εφαρμογή (Komraid3s_POC_Vx.x.apk) και ένα εκτελέσιμο αρχείο των Windows με το όνομα systemshell-vx.x.exe.
  3. Βεβαιωθείτε ότι η πιο πρόσφατη έκδοση του ADB είναι εγκατεστημένο στον υπολογιστή σας/Mac/Chromebook. Επίσης, θυμηθείτε να εγκατάσταση/ενημέρωση των προγραμμάτων οδήγησης USB της Samsung εάν είστε χρήστης των Windows.

Πώς να εκμεταλλευτείτε οποιαδήποτε συσκευή Samsung Galaxy για να αποκτήσετε πρόσβαση στο κέλυφος του συστήματος

Χειροκίνητη μέθοδος

  1. Συνδέστε τη συσκευή στόχου Galaxy στον υπολογιστή σας με ενεργοποιημένη τη λειτουργία εντοπισμού σφαλμάτων USB, βεβαιωθείτε ότι είναι ανιχνεύσιμη από το ADB και, στη συνέχεια, εγκαταστήστε την εφαρμογή βοήθειας.
    adb install Komraid3s_POC_Vx.x.apk
    • Όπως αναφέρθηκε προηγουμένως, ανοίξτε την εφαρμογή βοήθειας τουλάχιστον μία φορά πριν προχωρήσετε στο επόμενο βήμα.
  2. Τώρα πιέστε την ευάλωτη έκδοση της εφαρμογής Samsung TTS στο /data/local/tmp και αλλάξτε τα δικαιώματά της:
    adb push samsungTTSVULN2.apk /data/local/tmp
    adb shell chmod 777 /data/local/tmp/samsungTTSVULN2.apk
  3. Επανεκκινήστε τη συσκευή. Μόλις βρεθείτε στην αρχική οθόνη, εκτελέστε την ακόλουθη εντολή για να αντικαταστήσετε την ήδη εγκατεστημένη έκδοση της εφαρμογής Samsung TTS με την ευάλωτη:
    adb shell pm install -r -d -f -g --full --install-reason 3 --enable-rollback /data/local/tmp/samsungTTSVULN2.apk
    • Εάν όλα πάνε σωστά, τότε θα πρέπει να δείτε ένα μήνυμα "Επιτυχία" στην κονσόλα.
  4. Ανοίξτε ένα κέλυφος στη συσκευή προορισμού ανοίγοντας ένα άλλο παράθυρο τερματικού και εκτελώντας κέλυφος adb, στη συνέχεια εκτελέστε το δυαδικό Netcat και ακούστε για μια εισερχόμενη σύνδεση στη θύρα 9997 με την ακόλουθη εντολή:
    adb shell nc -lp 9997
  5. Σε αυτό το στάδιο, πρέπει να εκτελέσουμε μια συγκεκριμένη δραστηριότητα της εφαρμογής Samsung TTS, η οποία θα μας ανοίξει το κέλυφος του συστήματος.
    • Χρησιμοποιήστε μια εφαρμογή τρίτου κατασκευαστή όπως Αυτό για να δημιουργήσετε μια συντόμευση του "com.samsung. SMT/.gui. Λήψη λίστας».
    • Μπορείτε επίσης να χρησιμοποιήσετε τον διαχειριστή δραστηριοτήτων του Android (π.μ.) για να κάνετε το ίδιο. Σε αυτήν την περίπτωση, μπορείτε να το εκτελέσετε μέσω ADB (adb shell am start -n com.samsung. SMT/.gui. DownloadList) ή χρησιμοποιήστε μια εφαρμογή εξομοιωτή τερματικού στο τηλέφωνο/tablet σας όπως το Termux και εκτελέστε την ακόλουθη εντολή:
      am start -n com.samsung.SMT/.gui.DownloadList
  6. Επιστρέψτε στο πρώτο κέλυφος και θα δείτε ένα νέο μήνυμα με δικαίωμα συστήματος (UID 1000).

Αυτοματοποιημένη μέθοδος

Για να διευκολύνει τα πράγματα, το K0mraid3 παρέχει επίσης μια εύχρηστη εφαρμογή GUI για την αυτοματοποίηση των περισσότερων εργασιών. Λάβετε υπόψη ότι η εφαρμογή GUI είναι μόνο για Windows, οπότε αν είστε χρήστης Linux/macOS, είναι προτιμότερο να ακολουθήσετε τη μη αυτόματη μέθοδο.

  1. Συνδέστε τη συσκευή στόχου Galaxy στον υπολογιστή σας με ενεργοποιημένο τον εντοπισμό σφαλμάτων USB, βεβαιωθείτε ότι είναι ανιχνεύσιμος από το ADB και, στη συνέχεια, εγκαταστήστε την εφαρμογή βοήθειας.
    adb install Komraid3s_POC_Vx.x.apk
    • Όπως αναφέρθηκε προηγουμένως, ανοίξτε την εφαρμογή βοήθειας τουλάχιστον μία φορά πριν προχωρήσετε στο επόμενο βήμα.
  2. Με τη συσκευή προορισμού που μπορεί να εντοπιστεί από το ADB, εκτελέστε το systemshell-vx.x.exe στον κεντρικό υπολογιστή.
  3. Κάντε κλικ στο κουμπί "START SHELL". Η εφαρμογή θα υποβαθμίσει αυτόματα την εφαρμογή Samsung TTS και θα προσπαθήσει να ανοίξει το κέλυφος του συστήματος.
    • Στο τηλέφωνο/tablet σας, μπορεί να δείτε την εφαρμογή TTS να σας ζητά να κάνετε λήψη ορισμένων φωνητικών δεδομένων. Δεν χρειάζεται να αλληλεπιδράσετε με αυτές τις επιλογές, καθώς δεν έχουν καμία σχέση με το exploit.
    • Σε περίπτωση που η εφαρμογή κολλήσει ή δεν ανοίξει το παράθυρο του κελύφους μετά από κάποιο χρονικό διάστημα, κλείστε το, επανεκκινήστε τη συσκευή στόχου Galaxy και ξεκινήστε από την αρχή.
    • Η εφαρμογή Galaxy Store μπορεί να ενημερώσει αυτόματα ή/και να επαναφέρει το προφίλ εξοικονόμησης ενέργειας της εφαρμογής TTS στο παρασκήνιο, επομένως φροντίστε να το ελέγξετε πριν ξεκινήσετε τη διαδικασία από την αρχή.

Επαλήθευση

Αφού αποκτήσετε πρόσβαση στο φλοιό, μπορείτε να επαληθεύσετε το επίπεδο προνομίων χρησιμοποιώντας μία από τις παρακάτω εντολές:

  • whoami
    • Η έξοδος πρέπει να είναι "σύστημα"
  • id -u
    • Η έξοδος πρέπει να είναι "1000"

συμπέρασμα

Ο τυπικός τρόπος για να επιτύχετε πρόσβαση root σε μια συσκευή Android είναι να ξεκλειδώσετε πρώτα τον bootloader, ο οποίος σας επιτρέπει να εκκινήσετε δυαδικά αρχεία τρίτων. Εφόσον το μοντέλο ασφαλείας του Android ουσιαστικά καταρρέει με το root, αυτό το βήμα απενεργοποιεί σκόπιμα ένα από τα βασικά χαρακτηριστικά ασφαλείας της συσκευής, το οποίο αυτός είναι ο λόγος για τον οποίο ο χρήστης πρέπει να το επιτρέψει ρητά να συμβεί ενεργοποιώντας συνήθως μια εναλλαγή στις Επιλογές προγραμματιστή και στη συνέχεια εκδίδοντας μια εντολή ξεκλειδώματος στο bootloader. Μόλις ξεκλειδωθεί ο bootloader, ο χρήστης μπορεί να εισαγάγει ένα δυαδικό αρχείο υπερχρήστη στο σύστημα και επίσης μια εφαρμογή διαχείρισης υπερχρήστη (όπως το Magisk) για να ελέγξει ποιες διεργασίες έχουν πρόσβαση στο root.

Ωστόσο, με την εκμετάλλευση του κελύφους συστήματος που αναφέρθηκε παραπάνω, ο χρήστης δεν χρειάζεται να ξεκλειδώσει τον φορτωτή εκκίνησης για να αποκτήσει κλιμακούμενο προνόμιο. Αν και απέχει πολύ από το να είναι root, ο χρήστης του συστήματος είναι αρκετά ικανός να έχει πρόσβαση σε έναν αριθμό κατατμήσεων χαμηλού επιπέδου (όπως π.χ. ως /efs), ξεκινήστε διάφορα εργαλεία υπηρεσίας και εντοπισμού σφαλμάτων και αλλάξτε πολλές προστατευμένες τιμές στήριξης — όλα χωρίς καν να σβήσετε Νοξ. Αυτά τα παραδείγματα αφορούν μόνο μερικούς τρόπους. ένας κακόβουλος ηθοποιός μπορεί να το συνδυάσει με άλλα τρωτά σημεία και να καταλήξει σε πιο άθλιες ενέργειες.

Θα πρέπει να περιμένουμε και να δούμε πώς η Google και η Samsung θα αντιμετωπίσουν το σενάριο. Είτε έτσι είτε αλλιώς, θα πρέπει πιθανώς να απενεργοποιήσετε ή να αφαιρέσετε την εφαρμογή Samsung Text-to-Speech προς το παρόν.