Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ServiceCheater — Poc von CVE-2020-0113 & CVE-2020-0108 | Kitploit
Tools/GitHubGitHub/xdo0/servicecheater
Android-SicherheitPrivilege EscalationSchwachstellenanalyseExploitationMobile SicherheitBinary-Exploitation
GitHubxdo0/servicecheater

ServiceCheater

Poc von CVE-2020-0113 & CVE-2020-0108

Repository anzeigen
23vor 5 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ServiceCheater

Poc of CVE-2020-0113 & CVE-2020-0108

Analyse der Berechtigungserweiterung durch Android-Vordergrunddienst

Hintergrund der Schwachstelle

Im AOSP-Patch vom August 2020 wurde eine Schwachstelle im AMS der Framework-Ebene offengelegt, nummeriert als CVE-2020-0108, mit hohem Schweregrad, und eine weitere als CVE-2020-0313, mit mittlerem Schweregrad. Es handelt sich um einen logischen Fehler in der Behandlung von Vordergrunddiensten im AMS. Ein Angreifer, der diese Schwachstelle erfolgreich ausnutzt, kann die Benachrichtigungsanzeige von Vordergrunddiensten umgehen und diese dauerhaft im Hintergrund ausführen. Der Angriff muss von einer lokalen bösartigen App ausgehen, erfordert keine Benutzerinteraktion. Wenn der Benutzer der App weitere Berechtigungen erteilt hat, kann dies größeren Schaden verursachen, z. B. durch kontinuierliche Standortverfolgung oder stilles Aufnehmen von Audio.

Vordergrunddienste sind ein von Google in Android 8.0 eingeführtes Konzept. Da Android 8.0 das Starten von Hintergrunddiensten im Hintergrund nicht erlaubt, wurde das Konzept der Vordergrunddienste entwickelt. Vordergrunddienste haben eine höhere Priorität und können lange im Hintergrund laufen, müssen jedoch innerhalb von 5 Sekunden nach dem Start eine Benachrichtigung binden, sonst werden sie beendet. Tatsächlich laufen Vordergrunddienste immer noch im "Hintergrund", aber da sie eine für den Benutzer sichtbare Benachrichtigung binden, nennt Google sie "Vordergrunddienste".

Details und Ausnutzung der Schwachstelle

  • CVE-2020-0113

In der Methode onNotificationError im NotificationManagerService wurden Ausnahmesituationen bei der Benachrichtigungsanzeige nicht korrekt behandelt. Da die Methode lediglich cancelNotification aufruft, um die Benachrichtigung zu stornieren, ohne den Dienst oder die gesamte Anwendung zu beenden, läuft der Vordergrunddienst ohne Anzeige der Benachrichtigung weiter.

root@kitploit:~
cancelNotification(callingUid, callingPid, pkg, tag, id, 0, 0, false, userId,REASON_ERROR, null);}
  • MalServiceA

Beim Erstellen des RemoteViews-Objekts wird die Layout-ID auf -1 gesetzt, was eindeutig ein ungültiger Wert ist. Dadurch wird der onNotificationError-Callback ausgelöst.

root@kitploit:~
RemoteViews remoteViews = new RemoteViews(getPackageName(), -1);
  • CVE-2020-0108

In der Methode postNotification in ServiceRecord.java werden Ausnahmesituationen bei der Benachrichtigungsanzeige nicht korrekt behandelt, sondern die Ausnahme wird an das Benutzerprogramm weitergegeben.

root@kitploit:~
ams.crashApplication(appUid, appPid, localPackageName, -1,
                        "Bad notification for startForeground: " + e);
  • MalServiceB

Verwendet direkt eine ungültige Channel-ID, um die Benachrichtigung zu erstellen.

root@kitploit:~
Notification notification = new NotificationCompat.Builder(this, "InvalidInvalidInvalid")

Außerdem müssen beide Dienste Ausnahmen im Hauptthread abfangen, damit die App nicht abstürzt.

Überprüfung der Schwachstelle

  • Umgebung

Genymotion-Emulator, Android 8.0, Patch vom 5. September 2017

  • Aufnahme im Hintergrund

Verwendung von MediaRecord zur Aufnahme von 10 Sekunden Audio

  • Aktualisierung des Standorts

Abruf über LocationManager

  • Vergleich

Der normale Vordergrunddienst (NormalService) hat eine dauerhafte Benachrichtigung in der Benachrichtigungsleiste, der Poc hat diese Benachrichtigung nicht.

Patch der Schwachstelle

Im onNotificationError-Callback wird die Anwendung zum Absturz gezwungen, und auch in der Ausnahmebehandlung der postNotification-Methode wird die Anwendung zum Absturz gezwungen.

Referenzen

[1] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0108

[2] https://github.com/wrlu/vulnerabilities/tree/master/CVE-2020-0108

[3] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0313

Tool herunterladen