Jump to content


PS5 IPV6 Kernel Exploit 1.03

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

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, Mastodon o Threads!
Preguntas, aportes y peticiones en el foro.

  • Contenido similar

    • Por Dekuwa
      PS Remote Lua Loader para PS4 y PS5, basado en el hallazgo de gezine que permite que los juegos creados con el motor Artemis carguen archivos lua arbitrarios. Este cargador no depende del firmware y se ha probado con éxito en PS5 Pro 10.40.

      Actualmente, este cargador es específico para la siguiente lista de juegos:
      Raspberry Cube (CUSA16074) Aibeya (CUSA17068) Hamidashi Creative (CUSA27389) Hamidashi Creative Demo (CUSA27390): requiere el firmware más reciente para descargar desde PSN Aikagi Kimi to Issho ni Pack (CUSA16229) Aikagi 2 (CUSA19556) PS Remote Lua Loader es una aplicación creada por Master-s.
    • Por Dekuwa
      PS5 SELF Decrypter es un payload que utiliza lectura/escritura arbitraria del núcleo para descifrar archivos ELF firmados (SELF) del sistema de archivos y volcar los archivos ELF de texto simple a una unidad USB.
      Notas
      Reemplaza las macros PC_IP y PC_PORT en las líneas 24-25 con la IP/puerto de tu servidor TCP Se recomienda que uses el registro para saber cuánto ha avanzado la carga útil o si se ha estancado Conecta una unidad USB compatible a la PS5 con al menos 1 GB de espacio libre antes de ejecutarla Los archivos se volcarán a [raíz USB]/PS5/ Debería ser compatible con 3.xx-4.xx, pero no se ha probado en todos los firmwares (abre un problema si hay algún problema) Actualmente, la carga útil asume un estado previo al jailbreak (es decir, sandbox escapado), agregar el código de jailbreak aquí es una tarea pendiente Si notas que la actividad de registro se ha detenido durante más de un minuto, apaga la PS5 con el botón de encendido durante tres pitidos y reinicia la consola y vuelve a ejecutarla La consola puede entrar en pánico en medio del volcado de archivos, esto está bien, reinicia la consola y vuelve a ejecutarla La carga útil retomará donde se quedó y continuará volcándose desde donde se detuvo Anteriormente Se aceptan mejoras para que la carga sea menos defectuosa PS5 SELF Decrypter ha sido creado por ildesauce.
    • Por Dekuwa
      Option File creado por Kimi85 y Sergkind  para el PES 2021 Season Update de PS4, PS5 y PC actualizado para la temporada 2024-2025.     Principales características del Option file: Mercado de fichajes de 10 campeonatos actualizado al 01.10.2024 Edad actualizada (hasta 2024) para todos los jugadores de los campeonatos europeos modificada por ahora Banners insertados por @nicoultras Camiseta con números actualizados y correctos. Nuevos equipos creados en el Campeonato de Europa Esquemas de juego corregidos y ordenados en función también del número de banquillos de la ml. Estadísticas generales y revisadas para muchos jugadores. Muchas posiciones jugables agregaron a muchos jugadores la mayor posibilidad de ver al portero estrella en los equipos de la CPU. Muchos jugadores retirados, falsos y duplicados fueron eliminados (sin caras reales) Actualización general para varios jóvenes. Entrenadores actualizado al 01/10/2024 La resistencia aumentó para muchos jugadores jóvenes La nacionalidad cambió a algunos jugadores Ligas actualizadas con sus entrenadores, equipos, kits y demás: Premier League Championship Ligue 1 Serie A Serie B Eredivisie Liga NOS La Liga EA SPORTS La Liga Hypermotion Bundesliga ¿Cómo instalar el option file?
      Si tienes otros OF o solo tus modificaciones en el juego y quieres hacer una instalación limpia, ve a la PS4 y ve a
      Configuración---->Administración de datos guardados de la aplicación------>Datos guardados en la memoria de almacenamiento del sistema---->Eliminar----->Pes 21------>Eliminar edición de datos y luego sigue las instrucciones a continuación.
      Para aquellos que ya tienen un juego limpio, sigan estos pasos:
      Configuración -> Modo de edición -> Administración de datos -> Importar/Exportar -> Eliminar imágenes -> Eliminar todas las imágenes de todos los elementos del menú. Conecta el dispositivo USB a la PS4 con la carpeta WEPES DESCARGADA para V1 24/25 dentro. Vaya al menú Editar (si es la primera vez que accede, seleccione Sí y cree los datos de edición, luego Aceptar) Seleccione Importar/Exportar Seleccione Importar competencia Seleccione todo con un cuadrado Continúe y seleccione Sobrescribir archivo de imagen con el mismo nombre, luego Aceptar Espere a que se transfieran los archivos... Seleccione Importar equipo Seleccione todo con un cuadrado Continúe y seleccione Aplicar datos de jugador y equipo y Sobrescribir archivo de imagen con el mismo nombre, luego Aceptar Espere a que se transfieran los archivos... Salga del menú Editar y seleccione Sí para guardar los datos No se necesitan más pasos, no es necesario volver a aplicar la Actualización en vivo.
    • Por Dekuwa
      PS Fetchpkg es una sencilla herramienta basada en cURL para descargar actualizaciones oficiales de juegos de Sony Playstation 4 y 5. Está disponible para GNU/Linux, Windows (64 bits) y PS5 con jailbreak.

      Las actualizaciones de juegos que se dividen en varios archivos se fusionan automáticamente durante la descarga. Si estás detrás de un firewall, puedes descargar actualizaciones a través de un servidor proxy, lo cual es conveniente cuando se ejecuta en una PS5 con jailbreak que está protegida de Internet.
      Uso
      john@localhost:ps5-payload-dev/fetchpkg$ ./fetchpkg [-p PROXY] [-o PATH] URL donde URL es la dirección de un manifiesto con formato JSON, p. ej., el título de PS4 Uncharted: The Lost Legacy (v1.09).
      Ejemplo de uso de PS5
      Para ejecutar fetchpkg en la PS5, debes cargarlo con un cargador ELF que proporcione una interfaz de línea de comandos, p. ej., shsrv, y los medios para transferir el ELF a la PS5, p. ej., ftpsrv. Los siguientes comandos cargarán el archivo ELF en /data, se conectarán a shsrv y descargarán un archivo pkg en /mnt/usb0 a través de un servidor proxy:
      john@localhost:ps5-payload-dev/fetchpkg$ curl -T fetchpkg.elf ftp://ps5:2121/data/fetchpkg.elf john@localhost:ps5-payload-dev/fetchpkg$ telnet ps5 2323 Bienvenido a shsrv.elf ejecutándose en... ... /$ /data/fetchpkg.elf -p http://proxy:8080 -o /mnt/usb0/temp.pkg URL PS Fetchpkg ha sido creado por Master-s.
    • Por Dekuwa
      PS5 Homebrew Apps es una aplicación para Windows que nos permite instalar desde el ordenador homebrew en PS5 con jailbreak vía websrv a través de los puntos de entrada BD-J o webkit.

      PS5 Homebrew Apps es un conjunto de homebrews que funciona con websrv. websrv es un servidor web simple que se puede ejecutar en una Playstation 5 con jailbreak a través de los puntos de entrada BD-J o Webkit.
      Se puede utilizar para iniciar homebrew a través del navegador Webkit integrado de la PS5 o de forma remota desde el PC, teléfono y demás.
      PS5 Homebrew Apps ha sido creado por Master-s.
×
×
  • Crear nuevo...