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
AppEnumGuard — CVE-2025-31207-Mitigation und Sandbox-Tester für rootless- und rootHide-Jailbreaks auf iOS 15–18.4.1. | Kitploit
Tools/GitHubGitHub/kolbicz/appenumguard
DefensivwerkzeugeiOS-SicherheitSchwachstellenanalyseMobile SicherheitPrivatsphäre
GitHubkolbicz/appenumguard

AppEnumGuard

CVE-2025-31207-Mitigation und Sandbox-Tester für rootless- und rootHide-Jailbreaks auf iOS 15–18.4.1.

Repository anzeigen
5218vor 12 TagenNoch 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

AppEnumGuard

AppEnumGuard ist ein defensiver Tweak für den Seitenkanal zur Aufzählung installierter Anwendungen, der als CVE-2025-31207 verfolgt wird. Er unterstützt konventionelle rootless- und rootHide-Jailbreak-Umgebungen auf iOS 15.0–18.4.1. Das Repository enthält außerdem eine normale sandboxed iOS-Testanwendung, die das verwundbare Ergebnis demonstriert und die Abschwächung verifiziert.

CVE-2025-31207

CVE-2025-31207 ist eine Schwachstelle zur Offenlegung von Informationen in der Anwendungsstartlogik von Apples FrontBoard. Eine sandboxed Anwendung kann beliebige Bundle-Identifikatoren über eine private SpringBoardServices-Startfunktion übermitteln und installierte Anwendungen von fehlenden Anwendungen anhand unterschiedlicher Rückgabecodes unterscheiden. Dies kann private Informationen über die Anwendungen offenlegen, die ein Benutzer installiert hat, einschließlich Banking-, Messaging-, Sicherheits-, Sideloading- und Jailbreak-bezogenen Apps.

Apple beschreibt das Problem als ein Logikproblem, das einer Anwendung ermöglichen könnte, installierte Apps aufzuzählen. Apple korrigierte es mit verbesserten Prüfungen in iOS und iPadOS 18.5. Folglich bleiben Systeme älter als iOS 18.5 auf Betriebssystemebene betroffen.

Kompatibilität

KomponenteUnterstütztes Ziel
iOS15.0–18.4.1
JailbreakJede konventionelle rootless- oder rootHide-Jailbreak-Umgebung
Bootstrap-/Paketarchitekturrootless / iphoneos-arm64; rootHide / iphoneos-arm64e
Gerätearchitekturarm64 und arm64e (rootless); arm64e (rootHide)
PaketInstallieren Sie das Paket, das zum Bootstrap des Geräts passt

Der Standard-Build verwendet konventionelles rootless Theos und enthält arm64- und arm64e-Slices. Die rootHide-Variante wird mit rootHide Theos gebaut und enthält die erforderlichen rootHide-.jbroot-Loader-Pfade. Beide Pakete deklarieren firmware (>= 15.0) und firmware (<< 18.5): Die Abschwächung ist auf iOS 18.5 und neuer unnötig, wo Apple CVE-2025-31207 behoben hat.

Der SpringBoard-seitige v1.1-Tweak und der sandboxed Tester wurden gemeinsam auf iOS 17.3.1 Build 21D61 mit deaktivierter Injektion für den Tester verifiziert. Der Tester erkannte das Leck mit entferntem Tweak und lieferte nach der Installation des Tweaks ein grünes Bestehen.

So funktioniert es

Das veröffentlichte Primitive ruft die private SpringBoardServices-Funktion SBSLaunchApplicationWithIdentifierAndURLAndLaunchOptions auf. Auf einem verwundbaren System gibt sie unterschiedliche Fehler für eine installierte Anwendung und eine fehlende Anwendung zurück:

  • 9: Ziel existiert, aber der Start wird durch die Richtlinie verweigert
  • 7: Ziel existiert nicht

AppEnumGuard 1.1 injiziert nur in SpringBoard und hookt die gemeinsame FBSystemService-Vertrauensvalidierungsmethode. Wenn eine nicht autorisierte Startanfrage den Sicherheitsrichtlinienfehler 3 von FBSOpenApplicationErrorDomain zurückgeben würde, ändert der Tweak ihn in Fehler 4 (Anwendung nicht gefunden). Die äußere SpringBoardServices-API gibt dann 7 sowohl für installierte als auch für fehlende Ziele zurück.

Die Argumentanzahl und die Objective-C-Typcodierung der privaten Methode werden validiert, bevor der Hook installiert wird. Wenn Apple die ABI ändert, schlägt AppEnumGuard offen fehl, anstatt eine unbekannte SpringBoard-Methode zu hooken.

Änderung gegenüber 1.0

Version 1.0 hookte SpringBoardServices in jeder UIKit-Anwendung. Das funktionierte, erforderte jedoch die Injektion in jede geschützte App; eine App, die die Injektion deaktivierte oder erkannte, konnte die Abschwächung umgehen. Version 1.1 verlagert die Durchsetzung auf SpringBoard, sodass ein einziger zentraler Hook Aufrufer schützt, ohne AppEnumGuard in ihre Prozesse zu injizieren.

Release-Downloads

Release 1.2 kann für beide Bootstraps gebaut werden:

  • AppEnumGuard_1.2_rootless_iphoneos-arm64.deb — konventioneller rootless Tweak
  • AppEnumGuard_1.2_roothide_iphoneos-arm64e.deb — rootHide Tweak
  • AppEnumGuardTester_1.2_sandboxed.ipa — sandboxed Verifizierungs-App mit Symbol

Installieren und verifizieren

  1. Installieren Sie das .deb, das zum rootless- oder rootHide-Bootstrap passt, und respringen Sie.
  2. Installieren Sie die Tester-IPA mit einer normalen Entwickler-/Sideloading-Signatur.
  3. Lassen Sie die AppEnumGuard-Injektion für AppEnum Test deaktiviert; v1.1 schützt sie von SpringBoard aus.
  4. Tippen Sie auf das WhatsApp-, YouTube- oder Spotify-Symbol für eine App, von der Sie wissen, dass sie installiert ist.

Erwartete Ergebnisse mit installiertem ausgewähltem Ziel:

ZustandZielFehlendTester-Ergebnis
Tweak nicht vorhanden97Rot / FEHLGESCHLAGEN
Tweak aktiv77Grün / BESTANDEN

Der Tester meldet grün, wenn die ausgewählte App nicht erkennbar ist, und rot, wenn sie erkennbar ist. Wählen Sie nur eine App aus, von der Sie wissen, dass sie installiert ist: 7 / 7 allein kann eine funktionierende Abschwächung nicht von einem Ziel unterscheiden, das nicht existiert.

Der Gerätetest reproduzierte beide Zustände mit deaktivierter Tester-Injektion: Das Deinstallieren des Tweaks erzeugte das rote 9 / 7-Ergebnis, während die Installation von v1.1 das grüne 7 / 7-Ergebnis erzeugte.

Den Tweak bauen

Mit standardmäßigem Theos ist der Standard-Build konventionell rootless:

root@kitploit:~
cd Tweak
make clean package FINALPACKAGE=1

Für rootHide installieren Sie rootHide Theos und führen Sie Folgendes aus:

root@kitploit:~
cd Tweak
THEOS=/path/to/theos-roothide \
  make clean package FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=roothide

Die Tester-IPA bauen

Der Tester wird mit dem iPhoneOS-SDK von Xcode kompiliert und hat keine Jailbreak- oder erhöhten Berechtigungen:

root@kitploit:~
./scripts/build-tester-ipa.sh

Die resultierende IPA wird in dist/ abgelegt. Sie ist ad-hoc signiert, sodass ein Installer sie mit einer normalen Entwicklungsidentität neu signieren kann. Gewähren Sie ihr nicht platform-application oder com.apple.private.security.no-sandbox, da der Test ausdrücklich dazu gedacht ist, aus einer normalen Anwendungssandbox zu laufen.

Umfang und Einschränkungen

  • Dies ist eine User-Space-Abschwächung für das veröffentlichte SpringBoardServices-Primitive, nicht Apples vollständiger FrontBoard-Patch.
  • Version 1.1 erfordert keine Injektion in geschützte Anwendungen. Das globale Deaktivieren der Injektion oder für SpringBoard selbst deaktiviert die Abschwächung.
  • Die serverseitige Implementierung ist auf iOS 17.3.1 Build 21D61 bestätigt. Auf anderen unterstützten Versionen installiert der Tweak seinen Hook nur, wenn der private Selektor die erwartete laufzeitvalidierte ABI hat.
  • Ein 7 / 7-Test ist nur aussagekräftig, wenn bekannt ist, dass die Zielanwendung installiert ist.
  • Der Tester ruft absichtlich eine undokumentierte private API auf und ist nicht für die App-Store-Einreichung geeignet.

Referenzen

  • Apple iOS 18.5 Sicherheitsinhalt
  • NVD: CVE-2025-31207
  • Originaler öffentlicher SpringBoardServices-Proof-of-Concept
  • rootHide-Entwicklerdokumentation

Lizenz

MIT

Tool herunterladen