Jump to content


PS5 IPV6 Kernel Exploit 1.03


¿Quieres enterarte al momento de las nuevas descargas? Síguenos en Twitter o Mastodon!
Ayúdanos con el mantenimiento de la web con una donación vía Paypal.

Implementación experimental de WebKit ROP de un exploit del kernel PS5 basado en el IPV6 Use-After-Free (UAF) de TheFlow, que fue reportado en HackerOne. La estrategia del exploit se basa en su mayor parte en el PoC BSD/PS4 de TheFlow con algunos cambios para acomodar la molesta disposición de la memoria de PS5 (para más información, véase la sección de Notas de Investigación). Establece una primitiva de lectura/escritura (semi-arbitraria) arbitraria. Este exploit y sus capacidades tienen muchas limitaciones, y como tal, está pensado principalmente para que los desarrolladores jueguen con él para hacer ingeniería inversa en algunas partes del sistema.

También hay que tener en cuenta que la estabilidad es bastante baja, especialmente en comparación con los exploits de PS4. Esto se debe a la naturaleza del fallo, que está vinculado a una condición de carrera, así como a las mitigaciones y la disposición de la memoria de la PS5. Este documento contendrá información de investigación sobre la PS5, y este exploit será objeto de desarrollo y mejoras continuas a medida que pase el tiempo.

Esto posiblemente podría funcionar en 4.50 también a través de la sustitución de offsets de gadgets válidos de 4.50 + deslizamientos del kernel, pero eso será para el trabajo futuro.

Actualmente se incluye

  • Obtiene lecturas/escrituras arbitrarias y puede ejecutar un servidor RPC básico para lecturas/escrituras (o un servidor de volcado para grandes lecturas) (debe editar su propia dirección/puerto en el archivo exploit en las líneas 673-677)
  • Activa el menú de configuración de depuración (nota: tendrás que salir completamente de la configuración y volver a entrar para verlo).
  • Obtiene privilegios de root

Limitaciones

  • Este exploit logra la lectura/escritura, pero no la ejecución de código. Esto se debe a que actualmente no podemos volcar el código del kernel para los gadgets, ya que las páginas de texto del kernel están marcadas como memoria de sólo ejecución (XOM). Si se intenta leer los punteros .text del kernel, se producirá un pánico.
  • Según lo anterior + el hipervisor (HV) que impone la protección de escritura del kernel, este exploit tampoco puede instalar ningún parche o gancho en el espacio del kernel, lo que significa que no hay código relacionado con el homebrew por el momento.
  • La integridad del flujo de control (CFI) basada en Clang está presente y se aplica.
  • La Prevención/Ejecución del Acceso en Modo Supervisor (SMAP/SMEP) no puede ser desactivada, debido al HV.
  • La primitiva de escritura está algo limitada, ya que los bytes 0x10-0x14 deben ser cero (o una interfaz de red válida).
  • La estabilidad del exploit es actualmente pobre. Más adelante se hablará de ello.
  • Cuando se ejecuta con éxito, sale del navegador con el botón circular, el botón PS entra en pánico por una razón actualmente desconocida.

Cómo utilizarlo

  • Configura fakedns a través de dns.conf para que apunte a manuals.playstation.net a la dirección IP de tu PC
  • Ejecuta el dns falso: python fakedns.py -c dns.conf
  • Ejecutar el servidor HTTPS: python host.py
  • Ve a la configuración avanzada de red de PS5 y establece el DNS primario a la dirección IP de tu PC y deja el secundario en 0.0.0.0
    • A veces el manual sigue sin cargarse y es necesario reiniciar, no se sabe por qué es muy raro
  • Vaya al manual del usuario en la configuración y acepte la solicitud de certificado no fiable, ejecute
  • Opcional: Ejecute los scripts del servidor rpc/dump (nota: la dirección/puerto debe ser sustituida en forma binaria en exploit.js).

Notas sobre la estabilidad
La estabilidad de este exploit está en torno al 30%, y tiene múltiples puntos potenciales de fallo. En orden de probabilidad descendente observada:

  • La etapa 1 causa más de un UAF debido a que no atrapa uno o más en el reclaim, causando una corrupción latente que causa un pánico algún tiempo después.
  • La etapa 4 encuentra el socket solapado/víctima, pero el pktopts es el mismo que el del socket maestro, causando que la primitiva "read" sólo lea el puntero que intenta leer en lugar del contenido de ese puntero. Esto necesita alguna mejora y ser arreglado si es posible porque es realmente molesto.
  • El intento de la etapa 1 de reclamar el UAF falla y algo más roba el puntero, causando un pánico inmediato.
  • La fuga de kqueue falla y no encuentra un puntero de kernel .data reconocido.
  • Salir del navegador a través de medios "inusuales" como el botón PS, el botón de compartir, o la caída del navegador, hará que el kernel entre en pánico. Necesita ser investigado.

Notas de investigación

  • Parece que, basándose en varias pruebas y en el volcado con la primitiva de lectura, la PS5 ha vuelto al tamaño de página 0x1000 en comparación con el 0x4000 de la PS4.
  • También parece que en la PS5 las páginas adyacentes rara vez pertenecen a la misma losa, ya que obtendrás datos muy diferentes en páginas adyacentes. La distribución de la memoria parece más dispersa.
  • A menudo, cuando la PS5 entra en pánico (al menos en el contexto de webkit), habrá una salida de audio horrible ya que el buffer de audio se corrompe de alguna manera.
  • A veces esta corrupción de audio persiste hasta el siguiente arranque, sin saber por qué.
  • Al igual que la PS4, la PS5 requerirá que se pulse manualmente el botón de encendido de la consola dos veces para reiniciar después de un pánico.
  • Es normal que la PS5 tarde una cantidad absurda de tiempo en reiniciarse tras un pánico si está aislada de Internet (por desgracia). Espera que el arranque tarde entre 3 y 4 minutos.


Traducción realizada con la versión gratuita del traductor www.DeepL.com/Translator

PS5 4.03 Kernel Exploit ha sido creado por SpecterDev.


Que novedades incluye la versión 1.03

Released

  • Añade soporte para reubicaciones relativas.
  • Corregidos varios errores/tipologías menores (gracias John Tornblom).

No te pierdas nada, síguenos en Twitter o Mastodon!
Preguntas, aportes y peticiones en el foro.
Si te sirve lo que hacemos, ayúdanos con el mantenimiento de la web con una donación vía Paypal.

  • Contenido similar

    • Por Dekuwa
      Option File actualizado a la temporada 2023-2024 para el eFootball PES 2021 Season Update de PS4 (retrocompatible con PS5) y PC.
      Cuenta con los kits actualizados, fichajes realizados y stats de muchos jugadores adaptados a su rendimiento actual.

      Ligas actualizadas (con sus respectivos equipos):
      Ligas Europa Licenciadas: Premier League Bundesliga de Alemania SkyBet Championship LaLiga LaLiga 2 Ligue 1 Ligue 2 Serie B Italia Serie A Italia Liga Portugal Otros europeos Liga China Liga Árabe AFC Champions League Liga Tailandesa Copa Libertadores Liga Argentina Liga Colombia Liga de Chile Brasileirao Selecciones Nacionales Dream Team Pleasure Horn Instalación del Option File en PS4/PS5
      Descargamos el archivo desde aquí mismo y lo descomprimimos. Copiamos la carpeta WEPES a una memoria USB y la conectamos a la consola. Arrancamos el juego y nos vamos al modo Editar - Importar/Exportar Importar campeonato. Ahí pulsamos cuadrado y en opciones detalladas marcamos las dos casillas y pulsamos OK. Esperemos que termine y listo. Importar equipo. Ahí pulsamos cuadrado y en opciones detalladas marcamos las dos casillas y pulsamos OK. Esperamos a que termine y listo. Instalación del Option File en PC
      Descargamos el archivo desde aquí mismo y lo descomprimimos. Copiamos los archivos dentro de la carpeta WEPES en la carpeta WEPES de nuestro juego instalado (p.e.: Archivos de programa\KONAMI\eFootball PES 2021 Season Update\WEPES). El Option File ha sido realizado por Emerson Pereyra, Frank Valo y AndrewPES.
    • Por Dekuwa
      PS4 Eboot DLC Patcher es una aplicación que parchea el eboot para cargar un .prx personalizado que contiene los ids del contenido dlc, y todas las funciones de libSceAppContent, emulando algunas de sus funciones:
      sceAppContentGetAddcontInfoList sceAppContentGetAddcontInfo sceAppContentGetEntitlementKey sceAppContentAddcontDelete sceAppContentAddcontMount sceAppContentAddcontUnmount sceAppContentGetPftFlag El resto de funciones están "proxyadas" a la biblioteca libSceAppContent real. Algunos de los juegos cross-gen más recientes utilizan la librería libSceNpEntitlementAccess, actualmente no está emulada, sin embargo planeo al menos soportarla parcialmente.
      Esto está hecho para fpkgs de PS4, que se ejecuta en PS45, donde fpkgs dlc no funcionan, aunque supongo que también podría ser útil para los juegos donde el juego principal se desbloquea con dlcs por lo que todo puede estar en un paquete (como algunos juegos de Telltale).
      Requiere IDA Pro con el plugin PS4 Module Loader instalado, así como Python de 3.9 en adelante.
      PS4 Eboot DLC Patcher es una aplicación creada por idlesauce.
    • Por Dekuwa
      LibHijacker es una aplicación que nos permite ejecutar aplicaciones homebrew, y algunos juegos, en PS4 y PS5.
      Configuración rápida
      Descarga el archivo desde aquí mismo de forma completamente gratuita y extráelo. Ejecuta tu método preferido para hacerle exploit a PS5 (BDJB o webkit). En la etapa del cargador ELF, envía el payload usando netcat. nc -q0 (ip de ps5) 9020 bin/spawner.elf Firmwares soportados:
      3.00 3.10 3.20 4.00 4.02 (necesita ser testeado) 4.03 4.50 4.51 LibHijacker ha sido creado por Astrelsky.
    • Por Dekuwa
      PSX 2 PS5 es una aplicación para Windows creada en Phyton que nos permite convertir nuestros juegos de PSX para poder ejecutarlos en PS5 (con jailbreak, máximo firmware 4.51), de la misma forma que PS22PS4 y PS22PS5 lo hacen con los juegos de PS2 para PS4 y PS5, respectivamente.

      La opción a la que apunta la lupa, LibCrypt, nos permitirá desbloquear ciertos juegos como Dino Crisis o Resident Evil 3 Nemesis.
      El archivo Merge_bin.bat nos ayudará a fusionar nuestros .bins en un solo .bin para luego usar PSX 2 PS5 y crear el .toc, que es importante para juegos como Tekken, ya que sin él estos funcionarán, pero sin música.
      PSX 2 PS5 es una aplicación creada por markus95.
    • Por Dekuwa
      PS22PS5 es una aplicación que nos permite convertis nuestros juegos de PS2 al formato FPKG para que sean compatibles con PS5 y su sistema de retrocompatibilidad.

      Instalación y uso:
      Instalar Python 3 Istalar las dependencias ejecutando el .bat proporcionado junto a la descargar (Install_pillow.bat) Iniciar e. archivo PS2_2_PS5.py Seguir las instrucciones Iniciar la creación del FPKG. La aplicación ha sido creada por markus95.
×
×
  • Crear nuevo...