Tech News

Technik & Digital

So erhalten Sie Zugriff auf die System-Shell auf jedem Samsung Galaxy-Gerät


Ohne den Bootloader zu entsperren oder Knox auszulösen!


Schnelle Links

  • So nutzen Sie ein beliebiges Samsung Galaxy-Gerät aus, um Zugriff auf die System-Shell zu erhalten

Am ersten Montag jedes Monats veröffentlicht Google das Android Security Bulletin. Es offenbart alle gemilderten Sicherheitslücken in verschiedenen Komponenten des Android-Betriebssystems sowie des Linux-Kernels und seiner Patches, die bis zu diesem Datum von Google selbst oder anderen Drittanbietern eingereicht wurden. Große OEMs wie Samsung haben ihre eigene Version von Android, also entscheiden sie sich dafür, ihre eigenen Patches und Updates auch in Sicherheitsupdates zu integrieren.


Abgesehen davon ist es ziemlich schwierig, sich um jedes Schlupfloch zu kümmern. Es gibt eine Fülle von Angriffsvektoren, und manchmal können Sie Ihre eigene Exploit-Kette basierend auf einer zuvor bekannten Schwachstelle erstellen, nur weil Sie eine neue Methode haben, um eine der Sicherheitsmaßnahmen zu umgehen. Genau das tat XDA Senior Member K0mraid3 mit einer vier Jahre alten Schwachstelle, die es ihm ermöglichte, auf jedem Samsung Galaxy-Gerät – einschließlich der neuesten Flaggschiffe – Zugriff auf die System-Shell zu erhalten. Es ist zwar nicht dasselbe wie Root-Rechte zu haben, aber es ist eine ausreichend hohe lokale Rechte-Eskalation.

Der primäre Einstiegspunkt der Schwachstelle liegt in Samsung Text-To-Speech (Paketname: com.samsung.SMT), einer vorinstallierten System-App, die auf jedem Samsung Galaxy-Gerät zu finden ist. Die Idee ist, die installierte Version der App auf einen bestimmten anfälligen Build herunterzustufen (v3.0.02.2 um genau zu sein) und dann das Laden einer Bibliothek erzwingen, die wiederum eine Shell mit Systemprivileg (UID 1000) öffnet.

Wenn Sie mehr über den Exploit erfahren möchten, lesen Sie unbedingt den Erklärer von XDA Lead Technical Editor Adam Conway. Er sprach mit K0mraid3, um den vollen Umfang dieses Exploits und seine Funktionsweise zu erfassen.

  1. Um es noch einmal zu wiederholen, dies ist kein Root-Zugriff (UID 0), aber der System-Shell-Zugriff ist leistungsfähig genug, um eine Reihe ansonsten eingeschränkter Binärdateien auszuführen.
  2. Der Proof of Concept von K0mraid3 erfordert ein Hilfs-APK, und Sie müssen es mindestens einmal ausführen, bevor Sie die Exploit-Kette starten.
  3. Eine Benutzeroberfläche, dh die integrierten Energiesparroutinen von Samsungs benutzerdefiniertem Android-Skin, können problematisch sein, da sie die Kommunikation zwischen der TTS-App, der Hilfs-APK und der Shell behindern könnten. Wir empfehlen daher, das Energiesparprofil für die Apps vorher auf „Uneingeschränkt“ zu setzen.
Samsung TTS-Akkusparprofil auf uneingeschränkt eingestellt

Voraussetzungen

  1. Laden Sie den vorkompilierten Build des Exploits aus dem XDA-Forum-Thread oder dem unten verlinkten offiziellen GitHub-Repository herunter: K0mraid3s System-Shell-Exploit
  2. Extrahieren Sie das Archiv irgendwo und Sie sollten die verwundbare Version des Samsung Text-To-Speech APK (samsungTTSVULN2.apk), die Hilfs-App (Komraid3s_POC_Vx.x.apk) und eine ausführbare Windows-Datei namens systemshell-vx.x.exe finden.
  3. Stellen Sie sicher, dass die neueste Version von ADB auf Ihrem PC/Mac/Chromebook installiert ist. Denken Sie auch daran, die Samsung USB-Treiber zu installieren/aktualisieren, wenn Sie ein Windows-Benutzer sind.

So nutzen Sie ein beliebiges Samsung Galaxy-Gerät aus, um Zugriff auf die System-Shell zu erhalten

Manuelle Methode

  1. Schließen Sie das Galaxy-Zielgerät mit aktiviertem USB-Debugging an Ihren PC an, stellen Sie sicher, dass es von ADB erkannt werden kann, und installieren Sie dann die Hilfs-App.
    adb install Komraid3s_POC_Vx.x.apk
    • Wie bereits erwähnt, öffnen Sie die Hilfs-App mindestens einmal, bevor Sie mit dem nächsten Schritt fortfahren.
  2. Pushen Sie nun die verwundbare Version der Samsung TTS-App nach /data/local/tmp und ändern Sie ihre Berechtigungen:
    adb push samsungTTSVULN2.apk /data/local/tmp
    adb shell chmod 777 /data/local/tmp/samsungTTSVULN2.apk
  3. Starte das Gerät neu. Sobald Sie sich auf dem Startbildschirm befinden, führen Sie den folgenden Befehl aus, um die bereits installierte Version der Samsung TTS-App durch die anfällige zu ersetzen:
    adb shell pm install -r -d -f -g --full --install-reason 3 --enable-rollback /data/local/tmp/samsungTTSVULN2.apk
    • Wenn alles richtig läuft, sollten Sie eine „Success“-Meldung auf der Konsole sehen.
  4. Öffnen Sie eine Shell auf dem Zielgerät, indem Sie ein weiteres Terminalfenster öffnen und ausführen ADB Shellführen Sie dann die Netcat-Binärdatei aus und warten Sie mit dem folgenden Befehl auf eine eingehende Verbindung am Port 9997:
    adb shell nc -lp 9997
  5. In diesem Stadium müssen wir eine bestimmte Aktivität der Samsung TTS-App ausführen, die die System-Shell für uns öffnet.
  6. Wechseln Sie zurück zur ersten Shell, und Sie sollten eine neue Eingabeaufforderung mit Systemberechtigung (UID 1000) sehen.

Automatisierte Methode

Um die Dinge einfacher zu machen, bietet K0mraid3 auch eine einfach zu bedienende GUI-Anwendung, um die meisten Aufgaben zu automatisieren. Denken Sie daran, dass die GUI-App nur für Windows verfügbar ist. Wenn Sie also ein Linux/macOS-Benutzer sind, ist es besser, bei der manuellen Methode zu bleiben.

  1. Verbinden Sie das Ziel-Galaxy-Gerät mit aktiviertem USB-Debugging mit Ihrem PC, stellen Sie sicher, dass es von ADB erkannt werden kann, und installieren Sie dann die Hilfs-App.
    adb install Komraid3s_POC_Vx.x.apk
    • Wie bereits erwähnt, öffnen Sie die Hilfs-App mindestens einmal, bevor Sie mit dem nächsten Schritt fortfahren.
  2. Wenn das Zielgerät von ADB erkannt werden kann, führen Sie systemshell-vx.x.exe auf dem Host-PC aus.
  3. Klicken Sie auf die Schaltfläche „SHELL STARTEN“. Die App führt automatisch ein Downgrade der Samsung TTS-App durch und versucht, die System-Shell zu öffnen.
    • Auf Ihrem Telefon/Tablet werden Sie möglicherweise von der TTS-App aufgefordert, einige Sprachdaten herunterzuladen. Es besteht keine Notwendigkeit, mit diesen Optionen zu interagieren, da sie nichts mit dem Exploit zu tun haben.
    • Falls die App nach einiger Zeit hängen bleibt oder das Shell-Fenster nicht öffnen kann, schließen Sie es, starten Sie das Ziel-Galaxy-Gerät neu und beginnen Sie von vorne.
    • Die Galaxy Store-App kann das Energiesparprofil der TTS-App im Hintergrund automatisch aktualisieren und/oder zurücksetzen, überprüfen Sie es also, bevor Sie den Vorgang von Grund auf neu starten.

Überprüfung

Sobald Sie den Shell-Zugriff haben, können Sie die Berechtigungsstufe mit einem der folgenden Befehle überprüfen:

  • whoami
    • Die Ausgabe sollte „system“ sein
  • id -u
    • Die Ausgabe sollte „1000“ sein

System-Shell-Zugriff auf einem Samsung Galaxy-Gerät

Fazit

Der typische Weg, um Root-Zugriff auf einem Android-Gerät zu erhalten, besteht darin, zuerst den Bootloader zu entsperren, mit dem Sie Binärdateien von Drittanbietern booten können. Da das Sicherheitsmodell von Android grundsätzlich mit Root auseinanderfällt, deaktiviert dieser Schritt absichtlich eine der wichtigsten Sicherheitsfunktionen auf dem Gerät, weshalb der Benutzer dies explizit zulassen muss, indem er normalerweise einen Schalter in den Entwickleroptionen aktiviert und dann eine Entsperrung ausgibt Befehl an den Bootloader. Sobald der Bootloader entsperrt ist, kann der Benutzer eine Superuser-Binärdatei in das System einführen und auch eine Superuser-Verwaltungs-App (wie Magisk), um zu steuern, welche Prozesse Zugriff auf Root haben.

Mit dem oben erwähnten System-Shell-Exploit muss der Benutzer jedoch den Bootloader nicht entsperren, um ein eskaliertes Privileg zu erhalten. Obwohl er weit davon entfernt ist, root zu sein, ist der „System“-Benutzer in der Lage, auf eine Reihe von Low-Level-Partitionen (z. B. /efs) zuzugreifen, verschiedene Service- und Debugging-Tools zu starten und viele geschützte Prop-Werte zu ändern – alles ohne Knox auszulösen . Diese Beispiele berühren nur einige Aspekte; Ein böswilliger Akteur kann dies mit anderen Schwachstellen kombinieren und sich schändlichere Aktionen ausdenken.

Wir müssen abwarten, wie Google und Samsung das Szenario angehen. In jedem Fall sollten Sie die Samsung Text-To-Speech-App vorerst wahrscheinlich deaktivieren oder entfernen.



Source link