
Intento de robar credenciales del kernel desde launchd + puntero task_t (Basado en: CVE-2017-7047)
Intento de robar credenciales del kernel desde launchd + puntero task_t (Basado en: CVE-2017-7047)
Triple Fetch es un exploit para dispositivos iOS anteriores a iOS 10.3.3. Explota un error lógico en libxpc que permite a los atacantes enviar mensajes maliciosos con objetos xpc_data respaldados por memoria compartida.
El exploit original se dirige a un daemon de bajo nivel en iOS que utiliza NSXPC: CoreAuthenticationd. El exploit parchea AMFID para permitir la ejecución de código arbitrario y también obtiene un send_right para launchd, lo que nos permite hacer task_for_pid 1. Esto nos otorga permisos completos sobre el daemon más bajo del sistema, launchd.
Como el exploit ya incluye un ejemplo llamado hello_world para usar la tarea de launchd y volcar la memoria de launchd con las regiones de memoria (lectura/escritura/ejecución), no será difícil hacer lo siguiente:
Como el exploit se ejecuta directamente desde el espacio de usuario y obtiene root sin parchear el kernel, este exploit puede ser utilizado perfectamente con fines de jailbreak. Sin embargo, dado que el error es una condición de carrera que parece ocurrir raramente de forma correcta, los usuarios tendrán que reiniciar y reintentar muchas veces antes de volver a hacer jailbreak.
Puedes crear un pull request en cualquier momento si deseas contribuir código al repositorio. Agregaremos un archivo con muchos offsets necesarios para futuros parches del kernel. Trabajaremos en código que ayude a robar las credenciales del kernel de launchd.
Usando las API de VoIP de Apple, intentaremos que el exploit se ejecute automáticamente en segundo plano después de cada reinicio. Se agregará un bonito paquete de configuración a la aplicación para que puedas establecer un bootNonce desde la aplicación de Ajustes para futuros propósitos de downgrade. Se agregará un interruptor para deshabilitar y habilitar las actualizaciones OTA. Se agregará código para guardar automáticamente los blobs SHSH2 usando trabajos cron. Haré todo lo posible para integrar Tor en el jailbreak, activable desde Ajustes, porque todos necesitan su privacidad. Se agrega un bloqueador de contenido solo por diversión para eliminar los molestos anuncios en Safari.