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.7zdesde aquí mismo. -
Ve a la ruta
/user/download/CUSA00960mediante 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-signinpara 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.7zdesde 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.tsofrece 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.elfse 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.jspuedes 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.zipdelVueManualSetup.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.
Que novedades incluye la versión 2.0
Released
Destacado
- Se han implementado mejoras de estabilidad en Netctrl por @c0w-ar.
- Se ha añadido un instalador totalmente remoto (requiere conexión a Internet o un PC independiente) por @earthonion.
- Se ha añadido el método de instalación "Extended Storage" (Almacenamiento extendido) por @DrYenyen. Esto significa que ya no es necesario restablecer la consola a los valores de fábrica para instalar o reparar el exploit Vue. El archivo readme contiene instrucciones sobre su uso.
- Se ha añadido soporte para temas por @ArabPixel en #130.
- Se ha añadido una compilación en modo "lite" (autodetección de firmware y jailbreak, sin interfaz de usuario ni funciones adicionales) por @earthonion.
Otros cambios
- Se ha corregido la configuración de la música de fondo (BGM) en el cargador por @lutfailham96 en #88.
- Se ha corregido un error de eslint en la espera del cargador de binarios por @lutfailham96 en #89.
- Se ha actualizado el archivo readme por @m2k7m en #100.
-
Se han eliminado los campos
totalAttempts,successes,failuresyratesdel scriptgenerate_text_images.pypor @m2k7m en #149. - Se ha utilizado la etiqueta de versión (release tag) para la información de depuración por @lutfailham96 en #146.
- Se ha reforzado el control compartido de la música de fondo y se ha hecho persistente el estado del interruptor de música por @itswryu en #147.
- Se ha refactorizado la configuración a formato JSON y se ha movido el proceso de finalización de Vue a un archivo dedicado por @ArabPixel en #151.
-
Se ha refactorizado el modo "lite" para utilizar el archivo
config.jsonpor @ArabPixel en #154.
