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
rtx-cve-2023-45779 — Proof-of-Concept-Code für die Android APEX Key Reuse Vulnerability | Kitploit
Tools/GitHubGitHub/metaredteam/rtx-cve-2023-45779
Android-SicherheitSchwachstellenanalyseExploitationBinäranalyseLieferkettensicherheitPayload-Entwicklung
GitHubmetaredteam/rtx-cve-2023-45779

rtx-cve-2023-45779

Proof-of-Concept-Code für die Android APEX Key Reuse Vulnerability

Repository anzeigen
1098vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Dieses Repository wird WIE BESEHEN bereitgestellt, um einer Offenlegung von Sicherheitslücken durch Meta Red Team X beizulegen. Es handelt sich nicht um ein offizielles Meta-Projekt und wird nicht wie ein solches unterstützt.

Eine Sammlung von Skripten und Artefakten, die die Erkennung und Ausnutzung von Android-Geräten demonstrieren, die APEXes ausliefern, die mit Testschlüsseln aus AOSP signiert sind. Vollständige Einzelheiten zu dem Problem finden Sie in unserem Blogbeitrag „Missing signs: how several brands forgot to secure a key piece of Android".

Dateien

  • apex-checker/: Eine Reihe von Bash-Skripten, um Digests bekannter Testschlüssel zu speichern und APEXes massenweise auf Signaturen dieser Schlüssel zu überprüfen.
  • apex-forger/: Leichte Wrapper um die AOSP-Tools apexer und deapexer, die das Entpacken, Modifizieren und Neupacken eines APEX erleichtern. Wie apktool für APEXes.
  • vndk-libt/: Quellcode für eine Bibliothek, die wir einem anfälligen APEX hinzugefügt haben, um zu beweisen, dass wir Code ausführen können. Sie gibt lediglich die Befehlszeile jedes Prozesses, der sie lädt, an logcat aus.

Ausführen des Exploits

  1. Klonen Sie einen aktuellen AOSP-Quellbaum (etwa Android 13), führen Sie envsetup+lunch aus und führen Sie m apexer deapexer apksigner aus, um die benötigten Tools zu erstellen.
  2. Aktualisieren Sie envsetup.sh (das hier, nicht das in AOSP), um $AOSP und $ANDROID_HOST_OUT auf die entsprechenden Pfade zu setzen.
  3. Besorgen Sie sich ein beliebiges Android-Gerät. Aktualisieren Sie es und aktivieren Sie ADB.
  4. Führen Sie adb shell getprop ro.build.version.sdk und adb shell getprop ro.vndk.version aus.
  5. Wenn beide übereinstimmen, holen Sie das APEX mit adb pull /system/apex/com.android.vndk.current.apex vndk.apex. Falls nicht, holen Sie adb pull /system_ext/apex/com.android.vndk.v<NN>.apex vndk.apex, wobei <NN> für ro.vndk.version steht.
  6. Prüfen Sie mit apex-checker/check.sh vndk.apex, ob das APEX anfällig ist. Wenn die Ausgabe nicht mit „OI" beginnt (was bedeutet, dass sowohl die äußere als auch die innere Signatur von Testschlüsseln stammen), kann dieser PoC nicht verwendet werden (obwohl dies nicht garantiert, dass das Gerät sicher ist, da andere APEXes möglicherweise weiterhin anfällig sind).

Von apex-checker bekannte Testschlüssel

Die Hashes in apex-checker/apk-keys.txt und apex-checker/avb-keys.txt entsprechen den äußeren und inneren Testschlüsseln für die folgenden APEXes. Beachten Sie, dass es auch -goog-Varianten dieser beiden Listen gibt, die von Google nach unserem ursprünglichen Bericht erstellt wurden. Diese Listen sind im Allgemeinen vollständiger, aber wir wissen nicht genau, welche Schlüssel sie enthalten.

  • com.android.appsearch
  • com.android.art
  • com.android.btservices
  • com.android.i18n
  • com.android.mediaprovider
  • com.android.ondevicepersonalization
  • com.android.permission
  • com.android.rkpd
  • com.android.runtime
  • com.android.uwb
  • com.android.virt
  • com.android.vndk.v28
  • com.android.vndk.v29
  • com.android.vndk.v30
  • com.android.vndk.v31
  • com.android.vndk.v32
  • com.android.vndk.v33
  • com.android.wifi
Tool herunterladen
  • Entpacken Sie das APEX mit apex-forger/unpack.sh vndk.apex vndk.
  • Versuchen Sie, libutils.so im extrahierten APEX zu patchen, um unsere injizierte libt.so zu laden: git apply --directory=vndk vndk-libt/libutils-v31.patch. Wenn das nicht funktioniert (z.B. andere VNDK-Version), ändern Sie mit einem Hex-Editor manuell libc.so in libt.so im entsprechenden DT_NEEDED von vndk/payload/lib64/libutils.so.
  • Erstellen Sie libt.so, indem Sie ndk-build innerhalb von vndk-libt/ ausführen. Kopieren Sie vndk-libt/libs/arm64-v8a/libt.so nach vndk/payload/lib64/libt.so.
  • Extrahieren Sie canned_fs_config aus apex_build_info.bp. Es gibt kein Tool, um dies einfach zu erledigen: Am nächsten kommt protoc --decode_raw <vndk/apex_build_info.bp, gefolgt vom manuellen Entfernen der Escape-Sequenzen von Feld #3. Platzieren Sie canned_fs_config in vndk/.
  • Fügen Sie eine Zeile zu canned_fs_config hinzu, wie alle anderen, für /lib64/libt.so.
  • Laden Sie die Testschlüssel für die entsprechende VNDK-Version von hier herunter.
  • Packen Sie das APEX mit apex-forger/repack.sh vndk com.android.vndk.v<NN>.{pem,pubkey,pk8,x509.pem} neu.
  • Führen Sie adb install vndk/forged.apex aus.
  • Führen Sie adb reboot && adb logcat -s RTXPoC:D aus.
  • Beobachten Sie zahlreiche RTXPoC-Logmeldungen, jede von einem Prozess, in dem wir Code ausführen können.