
Cadena de exploits que utiliza directory traversal y la restauración de iOS para sobrescribir archivos protegidos.
SparstanBoogie se probó, según se informa, en iOS/iPadOS 15.2 - 16.7 RC (20H18) y 17.0; sin embargo, las pruebas se han realizado hasta (26.1 <), donde realmente dejó de funcionar. Se necesitan y son bienvenidas pruebas de nivel inferior, en cuanto a pruebas en dispositivos que estén (> 26.1). También se agradece cualquier prueba en dispositivos por encima o por debajo de lo informado, ya que podría volver a aparecer en dispositivos más nuevos, por lo que no hay razón para ignorar a los buenos samaritanos que quieran informar si esto les funciona o no. Se ha descubierto que los dispositivos más antiguos que se afirmaba que no eran compatibles con los programas predecesores de los que surgió esta herramienta también se ven afectados, como iOS 15.8.7.
Este problema supuestamente se abordó con una mejor gestión de los enlaces simbólicos, según una divulgación fiel de la vulnerabilidad. Se supone que este problema se corrigió en iOS 17.7.1 y iPadOS 17.7.1, iOS 18.1 y iPadOS 18.1, tvOS 18.1, visionOS 2.1. Restaurar un archivo de copia de seguridad manipulado maliciosamente puede provocar la modificación de archivos protegidos del sistema.
Sin embargo, SparstanBoogie implementa técnicas vistas en Nugget y Misaka para dar al usuario más control sobre el proceso de personalización de su dispositivo con esta herramienta de semi-jailbreak.
Hay dos formas principales de implementar esto para la personalización: 1. la herramienta respalda el uso de trollstore para mostrar el impacto de reemplazar aplicaciones de sistema y móviles en el espacio de usuario (la aplicación incluye trollstorehelper para demostrar el reemplazo). 2. La herramienta utiliza una restauración parcial de iOS para obtener control y sobrescribir archivos del sistema, lo que se puede ver al sobrescribir el archivo gestalt. Los usuarios pueden personalizar su sistema operativo buscando claves gestalt conocidas y reemplazando o sobrescribiendo sus valores.
Uso: python3.12 main.py trollstorehelper --target Tips
Actualización: ahora se utilizan directory traversal y la restauración de iOS para realizar cambios significativos. Gracias a todos los involucrados con Misaka26, Nugget y TrollRestore por la inspiración. Si este proyecto te falla, te recomiendo encarecidamente que los revises. Este proyecto solo aporta un valor educativo más detallado desde la línea de comandos sobre para qué servían esas herramientas.
Sintaxis más utilizada: Sparse app-target: python3 main.py <from_path> --target "Tips" Gestalt-chain: python3 main.py <from_path> --gestalt-chain
Ejemplos:
python3 main.py trollrestorehelper --target "Calculator"
python3 main.py MobileGestalt.plist --gestalt-chain
A continuación encontrarás una guía para que puedas extraer tu propio archivo gestalt y hacer cambios en tu dispositivo iOS.
Esta guía explica cómo usar el atajo Save MobileGestalt junto con a-Shell mini para exportar la caché de MobileGestalt de tu dispositivo y guardarla como:
MobileGestalt.plist
El atajo fue diseñado específicamente para guardar una copia de:
com.apple.MobileGestalt.plist
Las versiones más recientes de iOS requieren a-Shell mini para un acceso/exportación fiable.
MobileGestalt es un framework del sistema de Apple que almacena información de configuración y hardware específica del dispositivo.
Los investigadores y usuarios avanzados suelen usar el plist para:
El plist exportado es exclusivo de tu dispositivo y contiene detalles específicos de tu configuración de hardware.
Necesitarás:
Instala a-Shell mini desde la App Store.
Se recomienda a-Shell mini porque las versiones más recientes de iOS endurecieron el comportamiento del sistema de archivos de Shortcuts, y el atajo usa a-Shell mini para acceder/exportar de forma fiable el archivo MobileGestalt.
Después de instalarlo:
Esto inicializa sus directorios de trabajo para el atajo.
Abre:
https://routinehub.co/shortcut/23246/
Luego:
Ahora deberías ver:
Save MobileGestalt
dentro de tu biblioteca de Shortcuts.
Ejecuta el atajo.
Dependiendo de la versión de iOS, es posible que veas avisos que solicitan:
Permite todos los permisos solicitados.
El atajo entonces:
Abre la aplicación Files.
Navega a una de estas ubicaciones:
On My iPhone
→ a-Shell
o:
iCloud Drive
→ Shortcuts
Dependiendo de tu versión de iOS y configuración, el archivo puede aparecer como:
com.apple.MobileGestalt.plist
Renómbralo a:
MobileGestalt.plist
si es necesario.
Ahora deberías tener:
MobileGestalt.plist
Este archivo puede ser:
Usar a-Shell mini es actualmente uno de los métodos más fiables porque permite que el atajo evite las restricciones de exportación de Shortcuts en las versiones más recientes de iOS.
También facilita:
Una vez exportado, el plist se puede abrir con herramientas como:
Utilidad adicional relacionada: