Jump to content

PS5 UMTX Jailbreak 1.2

¿Quieres enterarte al momento de las nuevas descargas? Síguenos en Twitter, Mastodon o Threads!

PS5 UMTX Jailbreak es un exploit ROP de WebKit de la vulnerabilidad de uso después de la liberación de la carrera UMTX (CVE-2024-43102) informada por Synacktiv.

Básicamente, se trata de una adaptación de la estrategia de explotación de fail0verflow y flatz. Abusa del UAF para obtener una asignación de lectura/escritura en una pila de subprocesos del núcleo y aprovecha las lecturas y escrituras de la tubería para establecer una primitiva de lectura/escritura arbitraria (no del todo ideal) en el núcleo.

Esta lectura/escritura se escala luego a una mejor que aprovecha un par de conectores IPv6 y un par de tuberías para una lectura/escritura estable que se puede pasar a las cargas útiles de la misma manera que era posible con el IPV6 PS5 Kernel Exploit.

En última instancia, se lanzará un cargador de carga útil para escuchar los ELF de carga útil en el puerto 9021. Recomiendo el PS5 Payload Dev SDK, ya que debería tener compatibilidad total con este cargador cuando se agreguen compensaciones de kernel.

Esta vulnerabilidad afecta al firmware 1.00 al 7.61, sin embargo, el firmware >= 3.00 parece tener mitigaciones adicionales que requieren ajustes del exploit para que funcione. Como principalmente solo me interesan los firmwares inferiores, este exploit no es compatible con FW >= 3.00 por el momento.

Además, la vulnerabilidad de WebKit con la que encadenamos se corrigió en 6.00, por lo que se requerirá otro exploit de WebKit que logre lectura/escritura en el espacio de usuario para estos sistemas. Nuevamente, como no estoy enfocado en firmwares superiores, esto queda sin completar en este momento.

Para FW < 3.00, todo lo que se debería requerir son los desplazamientos de gadget. Los siguientes firmwares son compatibles actualmente:

  • 1.05
  • 1.10
  • 1.11
  • 1.12
  • 1.13
  • 1.14
  • 2.00
  • 2.20
  • 2.25
  • 2.26
  • 2.30
  • 2.50

Incluido actualmente

  • Obtiene lectura/escritura arbitraria del kernel
  • Habilita el menú de configuración de depuración (nota: deberá salir completamente de la configuración y volver a ingresar para verlo).
  • Obtiene privilegios de root y sale de la zona protegida/cárcel.
  • Ejecuta el cargador ELF de John Tornblom en el puerto 9021 para que se ejecuten las cargas útiles.

Limitaciones

  • Este exploit logra lectura/escritura, pero no ejecución de código. Esto se debe a que actualmente no podemos volcar el código del kernel para gadgets, ya que las páginas .text del kernel están marcadas como Memoria de solo ejecución (XOM). ¡Intentar leer punteros .text del kernel provocará pánico!
  • De acuerdo con lo anterior y el hipervisor (HV) que aplica la protección contra escritura del kernel, este exploit tampoco puede instalar parches ni ganchos en el espacio del kernel.
  • La integridad del flujo de control (CFI) de grano fino basada en Clang está presente y se aplica.
  • La prevención/ejecución de acceso en modo supervisor (SMAP/SMEP) no se puede deshabilitar debido al HV.
  • FW >= 6.00 requiere un nuevo exploit de WebKit y, por lo tanto, no es compatible.
  • FW >= 3.00 requiere ajustes de estrategia para explotar UAF.

Cómo usar

  • Configura fakedns a través de dns.conf para apuntar manuals.playstation.net a la dirección IP de tu PC
  • Ejecuta fake dns: python fakedns.py -c dns.conf
  • Ejecuta servidor HTTPS: python host.py
  • Ve a la configuración de red avanzada de PS5 y configura el DNS primario a la dirección IP de tu PC y deja el secundario en 0.0.0.0
  • A veces, el manual aún no se carga y es necesario reiniciar, no estoy seguro de por qué es realmente extraño
  • Ve al manual del usuario en la configuración y acepta el mensaje de certificado no confiable, ejecuta
  • Opcional: descomenta el código de volcado de kernel .data y ejecuta el script de servidor de volcado (nota: la dirección/puerto debe sustituirse en exploit.js).

PS5 UMTX Jailbreak ha sido creado por PS5Dev.

 


Que novedades incluye la versión 1.2

Released

  • Se agregó compatibilidad con FW 5.00, 5.02, 5.10 y 5.50
  • Se agregó compatibilidad con FW 4.00, 4.02, 4.03 y 4.50
  • Se agregó compatibilidad con FW 3.00 y 3.20
  • Se agregó compatibilidad con FW de fábrica 2.70
  • Se agregó compatibilidad con FW 1.00 y 1.02
  • Se agregó código para facilitar la portabilidad
No te pierdas nada, síguenos en Twitter, Mastodon o Threads!
Preguntas, aportes y peticiones en el foro.

  • Contenido similar

    • Por Dekuwa
      Game Mounter es una aplicación que monta automáticamente todos los juegos desde múltiples ubicaciones en el menú de inicio de PS5.
      Funciones principales
      Soporte para múltiples ubicaciones: escanea unidades internas, USB y SSD M.2. Detección y montaje automático de juegos. Bypass de DRM para todos los juegos. Soporte para juegos de PS5 (param.json y param.sfo). Montaje Nullfs (no requiere copia de archivos). Limpieza automática de juegos eliminados. Notificaciones de progreso en tiempo real: muestra "Montando juegos... 3/10 (30 %)" con el nombre del juego. Registro de errores: todas las operaciones se registran en /data/etaHEN/game_mounter.log. Sistema de caché: metadatos de juegos almacenados en /data/etaHEN/game_cache.json. Qué hace
      El payload escanea todas las carpetas dentro de /data/etaHEN/games/ y para cada juego:
      Lee el Title ID desde param.json o param.sfo. Aplica un parche al DRM (cambia applicationDrmType a standard). Crea un montaje nullfs en /system_ex/app/[TITLE_ID]. Copia los metadatos (iconos, sonidos) a /user/app/ y /user/appmeta/. Registra el juego en la base de datos del sistema PS5. Muestra el icono en el menú de inicio. Ubicaciones compatibles:
      /data/etaHEN/games - Almacenamiento interno /mnt/usb0/games - Unidad USB 0 /mnt/usb1/games - Unidad USB 1 /mnt/usb2/games - Unidad USB 2 /mnt/usb3/games - Unidad USB 3 /mnt/ext0/games - SSD M.2 Estructura de carpetas
      Los juegos pueden almacenarse en cualquiera de las ubicaciones compatibles. Organízalos de esta forma:
      /data/etaHEN/games/ (or /mnt/usb0/games, /mnt/ext0/games, etc.) ├── GameName1/ │ ├── sce_sys/ │ │ ├── param.json (or param.sfo) │ │ ├── icon0.png │ │ ├── pic0.png │ │ └── ... │ ├── eboot.bin │ └── [other game files] ├── GameName2/ │ ├── sce_sys/ │ │ └── ... │ └── ... └── GameName3/ └── ... Ejecución en PS5:
      Envía game_mounter.elf a la PS5 (por ejemplo, a /data/etaHEN/payloads/). Ejecuta el payload desde el menú de etaHEN. Espera a que se complete el montaje (verás la notificación "Game Mounter - By Manos"). ¡Los juegos aparecerán en el menú de inicio! Detalles técnicos
      Montaje Nullfs: No copia los juegos, simplemente los refleja (acceso directo). Bypass de DRM: Modifica applicationDrmType para que se ejecuten sin licencia. Registro del sistema: Utiliza la API sceAppInstUtilAppInstallTitleDir(). Actualización de la base de datos: Actualiza /system_data/priv/mms/app.db para los sonidos. Notas
      Escanea automáticamente todas las ubicaciones disponibles (interna, USB, M.2). Soporta juegos de PS5 (param.json y param.sfo). Si un juego ya está montado, lo omitirá (no lo vuelve a montar). Progreso en tiempo real: mira qué juego se está montando en cada momento. Registros de errores: consulta /data/etaHEN/game_mounter.log para obtener información detallada. Archivo de caché: /data/etaHEN/game_cache.json almacena los metadatos de los juegos. Solo monta desde ubicaciones que existan (omite unidades no disponibles). Ubicación del archivo de registro
      Todas las operaciones se registran en: /data/etaHEN/game_mounter.log
      El registro incluye:
      Marca de tiempo de cada ejecución. Mensajes de error detallados con códigos errno. Éxito o fallo del montaje para cada juego. Estadísticas resumidas. Sistema de caché
      Los metadatos de los juegos se guardan en caché en: /data/etaHEN/game_cache.json
      Ventajas:
      Reescaneos más rápidos (mejora de velocidad superior al 50 %). Almacena Title ID, nombre, ruta, hora de última detección y tamaño. Se actualiza automáticamente en cada ejecución. Solución de problemas
      Los juegos no aparecen:
      Comprueba que existe al menos un directorio de juegos (ej. /data/etaHEN/games/, /mnt/usb0/games/, /mnt/ext0/games/). Verifica que cada juego tenga sce_sys/param.json o sce_sys/param.sfo. Revisa la salida de la consola para ver qué ubicaciones se han escaneado. Las unidades USB deben estar montadas antes de ejecutar el payload. Consulta el archivo de registro /data/etaHEN/game_mounter.log para ver errores detallados. Error "Registration failed":
      La base de datos del sistema PS5 puede estar bloqueada. Prueba a cerrar otros juegos o aplicaciones antes de ejecutar el payload. Revisa el archivo de registro para ver códigos de error específicos. Montaje lento:
      La primera ejecución es más lenta (crea la caché). Las ejecuciones posteriores son un 50 % más rápidas gracias a la caché. Consulta el archivo de registro para ver qué juegos tardan más. Visualización de registros:
      # Via FTP or PS5 file browser cat /data/etaHEN/game_mounter.log Game Mounter es un proyecto encabezado por Manos.
    • Por Dekuwa
      Estamos ante un fork de ftpsrv, creado por drakmor. Un sencillo servidor FTP que puede ejecutarse en una PS4 o PS5 que tenga el "jailbreak" realizado y esté ejecutando un cargador ELF. El servidor FTP acepta conexiones en el puerto 2121.
      Características
      El software de cliente que ha sido probado incluye gFTP, Filezilla, curl y Thunar. El "payload" admite un par de comandos SITE personalizados específicamente para PS4 y PS5 (ejecutados sin anteponer la palabra SITE). En particular:
      KILL: Detiene el servidor FTP. MTRW: Vuelve a montar /system y /system_ex con permisos de escritura. SELF: Alterna la descodificación de SELF a ELF sobre la marcha (activado por defecto). Nota: el comando SELF funciona en conexiones individuales, por lo que debe usarse, por ejemplo:
      john@localhost:ftpsrv$ curl -o libkernel.sprx -Q SELF ftp://ps5:2121/system/common/lib/libkernel.sprx Problemas conocidos
      Algunos firmwares de PS5 anteriores a la versión 4 contienen un error (bug) del kernel en el que la lectura de algunos archivos SELF provoca que la llamada al sistema (syscall) de lectura se detenga o bloquee.
      ftpsrv ha sido creado por drakmor.
    • Por Dekuwa
      Kstuff Lite es una versión aligerada de Kstuff, hack para PS5 que permite cargar homebrew.
      Esta versión elimina código antiguo e innecesario, reorganiza y reubica diferentes elementos y agrega compatibilidad con Testkit/Devkit, entre otras cosas.
      Ahora mismo es compatible con todos los firmwares de la consola entre el 3.00 y el 10.01, ambos incluídos.
      Kstuff Lite es un proyecto encabezado por EchoStretch.
    • Por Dekuwa
      NP Fake Signin es un payload en formato ELF para PS4/PS5 que simula el inicio de sesión en PSN para el usuario en primer plano, escribiendo archivos NP y parcheando el registro y el estado de ShellCore.
      Nota: Para revertir el inicio de sesión (cerrar sesión): Ajustes > Usuarios y cuentas > Otros > Cerrar sesión
      Requisitos previos
      Activación offline mediante offact (la cuenta debe tener un ID de cuenta distinto de cero). PS4 Payload SDK o PS5 Payload SDK. Clave HMAC-MD5 para la firma de archivos .dat (sustituye los ceros en los archivos fuente por la clave real). Compilación
      Configura el SDK correspondiente de PS4 o PS5. Sustituye la clave HMAC a ceros en np-fake-signin.c y gen_dat/*.py por la clave real antes de compilar.
      # Solo PS4 make build-ps4 # Solo PS5 make build-ps5 # Ambos (por defecto) make all # Nombre de usuario eprsonalizado para plantillas .dat make all NP_USER=MyUser Los archivos ELF resultantes se ubican en la carpeta bin/.
      Funcionamiento
      Verifica el estado de activación del usuario en primer plano (se detiene si el ID de cuenta es 0). Parchea las plantillas de config.dat y account.dat con la información de cuenta del usuario. Escribe los archivos NP (auth.dat, account.dat, token.dat, config.dat) en el directorio de inicio del usuario. Establece claves de registro para el estado de inicio de sesión (indicador de inicio de sesión, fecha de nacimiento, ID de cuenta, etc.). Parchea la memoria del proceso ShellCore para actualizar el contexto del usuario. Reinicia la consola después de la ejecución para aplicar los cambios.
      NP Fake Signin es un proyecto encabezado por earthonion.
    • Por Dekuwa
      vr2jb es una utilidad de jailbreak para PlayStation VR2 (actualmente solo ofrece funciones de "modo de recuperación").
      Nuestra esperanza es que, al publicar este exploit, podamos atraer el interés de más personas para intentar liberar PS VR2. Aunque esto aún no es un jailbreak completo, esperamos que impulse los avances en la dirección correcta.
      Guía de uso
      Al iniciar el programa, aparecerán unas instrucciones que debes seguir. Se recomienda que tu PS VR2 esté apagado antes de ejecutarlo, ya que el exploit comenzará de inmediato.
      Tras entrar en el "modo de recuperación", puedes realizar un downgrade a cualquier versión de firmware. Para ello, busca la carpeta raíz de la aplicación de PS VR2 en tu PC y navega hasta Firmware\PS_VR2_FW.
      Allí, reemplaza el archivo HMD2_FIRMWARE.CUP por una versión anterior (puedes encontrar algunas en el enlace; recomendamos la v06.00 para futuros exploits). Una vez hecho esto, simplemente abre la aplicación de PS VR2 y actualiza el firmware.
      Actualmente, el programa solo está disponible para Windows, aunque portarlo a Linux y macOS debería ser bastante sencillo de realizar.
      NOTA IMPORTANTE
      No nos hacemos responsables de cualquier daño al hardware que pueda ocurrir; ¡utilízalo bajo tu propio riesgo! Aunque no hemos sufrido averías en el hardware al usar este exploit, no podemos garantizar que otros no vayan a tener problemas.
      vr2jb es un proyecto encabezado por BnuuySolutions.
×
×
  • Crear nuevo...