Por
Dekuwa
Vue After Free es un exploit de ejecución de código en el espacio de usuario (userland) de PlayStation Vue para PS4.
El CVE-2018-4441 se aplicó brevemente, pero debido a su inestabilidad y baja tasa de éxito, se descartó.
Se utiliza el CVE-2017-7117 para el userland, el cual se ha encadenado con los exploits de kernel Lapse y Poopsploit (Netctrl) en los respectivos firmwares indicados abajo.
Importante
La estabilidad de Netctrl es baja debido al alto uso de memoria del exploit en comparación con la memoria disponible en Vue.
Alcance de la Vulnerabilidad
KEX = Exploit de Kernel
vue-after-free (Userland)
Lapse (KEX)
Netctrl (KEX)
5.05–13.04
1.01–12.02
1.01-13.00
Esta tabla indica las versiones de firmware para las cuales la versión actual de este repositorio proporciona un jailbreak funcional y probado.
7.00-13.00
Por defecto, se usa Lapse desde 7.00 hasta 12.02, y Poopsploit desde 12.50 hasta 13.00. Aunque puedes optar por ejecutar Poopsploit incluso en versiones tan bajas como la 9.00.
El exploit de userland funciona tal cual de la 5.05 a la 13.02.
FAQ (Preguntas Frecuentes)
P: ¿Funcionará esto en 13.02 o superior?
R: Solo el userland; no puedes hacer jailbreak por encima de 13.00 con los archivos de este repo.
P: ¿He ejecutado Vue y la aplicación se ha cerrado inesperadamente?
R: Si la aplicación se cierra, el exploit ha fallado; reinicia la consola e inténtalo de nuevo.
P: He ejecutado Vue y mi consola se ha apagado, ¿qué hago?
R: Si ocurrió un kernel panic, es posible que debas pulsar el botón de encendido de la consola dos veces y luego reintentar el exploit.
P: ¿Cómo puedo ejecutar un payload?
R: Es necesario cerrar y volver a abrir Vue entre la ejecución de cada payload .js, pero los payloads .bin o .elf se pueden ejecutar uno tras otro. Selecciona el payload desde la interfaz en el Menú de Payloads.
P: ¿Puedo ejecutar el jailbreak sin conexión?
R: No. PS Vue requiere algún tipo de conexión de red. No es obligatorio tener internet propiamente dicho; puedes usar cualquier red como el WiFi de casa, un punto de acceso móvil, un microcontrolador como el ESP32 o una red Ethernet desde un dispositivo PPPwn adaptado.
P: Me aparece "Este servicio requiere que inicies sesión en PlayStation Network" incluso después de reemplazar el archivo de guardado, ¿cómo lo soluciono?
R: Lo más probable es que tu aplicación Vue se haya actualizado; esto suele ocurrir si no usas un DNS o no bloqueas los servidores de Sony. Tendrás que eliminarla y reinstalarla.
Importante
El archivo de guardado de Vue puede resetearse ocasionalmente. Para evitar problemas, copia el guardado cifrado a un USB desde el menú de ajustes de la PS4 (en el usuario utilizado para el jailbreak) para facilitar una recuperación futura.
Importante
NO cambies tu entorno "np" mediante los Ajustes de Debug (Debug Settings), ya que esto impedirá que puedas usar un archivo de guardado de respaldo y lo hará incompatible con el payload actual de inicio de sesión falso.
Requisitos
Para PS4 con Jailbreak
Cuenta de usuario de PS4 activada (falsa o legítima).
Acceso FTP a la consola.
Memoria USB.
PlayStation Vue 1.01 base y parche 1.24.
Para PS4 sin Jailbreak
Memoria USB.
Archivo de copia de seguridad del sistema.
Advertencia: Restaurar la copia de seguridad del sistema borrará todos los datos de tu consola; luego aplicará la aplicación Vue y sus datos del exploit.
Instrucciones de Configuración
PS4 con Jailbreak
Se requiere una conexión de red de cualquier tipo. Antes de intentar ejecutar Vue, conéctate a una red local aunque no tenga internet.
Haz el jailbreak a tu consola.
Activa el FTP.
Instala Apollo Save Tool.
Instala el pkg de PS Vue 1.01 y el parche 1.24.
Conéctate a la consola por FTP.
Descarga VueManualSetup.7z desde aquí mismo.
Ve a la ruta /user/download/CUSA00960 mediante FTP (crea la ruta si es necesario) y coloca ahí download0.dat.
En tu USB, descomprime el save.zip (o envíalo por FTP a /data/fakeusb/). Los archivos aparecerán en "USB Saves" como si fuera un USB real. Se puede configurar en Apollo Settings > USB Saves Sources para que sea lo único que se muestre.
En la raíz de tu USB, coloca HEN o GoldHEN renombrado como payload.bin. O colócalo en /data/.
Conecta el USB a la consola.
En Apollo Save Tool, ve a "USB Saves", selecciona el guardado de PS Vue (CUSA00960) y elige la opción "Copy save game to HDD".
Reinicia la consola, abre PS Vue y ejecuta el exploit pulsando el botón de jailbreak o configura el cargador automático.
Opcionalmente, tras el jailbreak, ejecuta el payload np-fake-signin para evitar el aviso de PSN.
PS4 sin Jailbreak
Se requiere una conexión de red de cualquier tipo.
Formatea tu unidad USB en Exfat. (Aviso: Esto borrará todos los datos del USB).
Descarga VueSystemBackup.7z desde los lanzamientos.
Descomprime el contenido del zip en el USB.
Conecta el USB a tu consola.
Si tienes una cuenta de PSN real, haz una copia de seguridad de tus partidas en el USB desde Ajustes > Gestión de los datos guardados de las aplicaciones.
Si tienes capturas, haz una copia de seguridad desde la Galería de capturas al USB.
Ve a Ajustes > Sistema > Copia de seguridad y restauración > Restaurar PS4, selecciona la copia de seguridad del sistema y restáurala.
Cuando la consola se reinicie, tendrás una cuenta de usuario activada falsamente, PS Vue y sus datos del exploit.
En la raíz de tu USB, coloca HEN o GoldHEN renombrado como payload.bin.
Abre PS Vue y ejecuta el exploit pulsando el botón de jailbreak.
Conexión a Internet
Ajustes > Sistema > Descargas automáticas: desactiva todo.
Ajustes > Red > Configurar conexión a Internet.
Configuración: Personalizada.
Dirección IP: Automático.
Nombre del host DHCP: No especificar.
Ajustes de DNS: Manual.
DNS Primario: 62.210.38.117
DNS Secundario: (Dejar en blanco)
Ajustes de MTU: Automático.
Servidor Proxy: No usar.
Payloads
Vue After Free viene precargado con algunos payloads.
np-fake-signin: No debe ejecutarse en una cuenta de PSN real. Elimina el aviso de inicio de sesión.
FTP: El payload ftp-server.ts ofrece un FTP en modo sandbox para intercambiar archivos del exploit o cosméticos rápidamente.
WebUI: Código de ejemplo para ejecutar código userland usando el navegador como interfaz.
ELFLDR: elfldr.elf se usa para cargar payloads .elf y .bin después del exploit si HEN o GoldHEN no se han cargado.
Configuración
JB Behaviour: El botón de jailbreak detecta automáticamente el firmware. Por defecto usa Lapse (7.00-12.02) y Netctrl (12.50-13.00). Puedes cambiarlo en el menú de configuración.
Auto Launch: Lanza automáticamente el exploit de kernel al abrir la app (Auto Lapse o Auto Poop).
Auto Close: Cierra la aplicación automáticamente tras un jailbreak exitoso.
Payloads Automáticos: En config.js puedes añadir archivos .bin o .elf para que se carguen solos al terminar el exploit de kernel.
Crear un usuario separado
Si deseas usar una cuenta nueva en lugar de la predeterminada:
Crea un nuevo usuario.
Actívalo falsamente con Apollo Save Tool (User Tools > Activate PS4 Accounts) y reinicia.
En tu USB, descomprime el save.zip del VueManualSetup.zip.
En Apollo Save Tool, ve a "USB Saves", selecciona el guardado de Vue y elige "Copy save game to HDD".
Vue After Free es un proyecto encabezado por Vuemony.