Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PS5-IPV6-Kernel-Exploit — Un exploit experimental de kernel basado en webkit (Arb. R/W) para PS5 en <= 4.51FW | Kitploit
Herramientas/GitHubGitHub/cryptogenic/ps5-ipv6-kernel-exploit
Seguridad de Sistemas EmbebidosEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónIngeniería InversaPost-ExplotaciónExplotación de Binarios
GitHubcryptogenic/ps5-ipv6-kernel-exploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

PS5-IPV6-Kernel-Exploit

Un exploit experimental de kernel basado en webkit (Arb. R/W) para PS5 en <= 4.51FW

Ver Repositorio
925106hace 2 añosRevisado por Kitploit

PS5 3.xx / 4.xx Kernel Exploit


Resumen

Este repositorio contiene una implementación experimental de ROP en WebKit de un exploit de kernel para PS5 basado en el Use-After-Free (UAF) de IPV6 de TheFlow, que fue reportado en HackerOne. La estrategia del exploit se basa en gran parte en el PoC de TheFlow para BSD/PS4, con algunos cambios para adaptarse al molesto diseño de memoria de la PS5 (consulte la sección Notas de investigación para obtener más información). Establece una primitiva de lectura arbitraria / escritura (semi-arbitraria). Este exploit y sus capacidades tienen muchas limitaciones y, como tal, está pensado principalmente para que los desarrolladores jueguen con él e hagan ingeniería inversa en algunas partes del sistema.

Con las últimas mejoras de estabilidad, la fiabilidad ronda el 80%. Este documento contendrá información de investigación sobre la PS5, y este exploit seguirá desarrollándose y mejorándose con el tiempo.

Los interesados en contribuir a la investigación/desarrollo de PS5 pueden unirse a un discord que he creado aquí.

El exploit ahora debería ser compatible con los siguientes firmwares:

  • 3.00
  • 3.10
  • 3.20
  • 3.21
  • 4.00
  • 4.02
  • 4.03
  • 4.50
  • 4.51

Incluido actualmente

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

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 obtener 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á un panic!
  • Como se indica arriba + el hipervisor (HV) que impone la protección de escritura del kernel, este exploit tampoco puede instalar parches ni hooks en el espacio del kernel, lo que significa que no hay código relacionado con homebrew por el momento.
  • La integridad de flujo de control (CFI) de grano fino basada en Clang está presente y se aplica.
  • La prevención de acceso/ejecución en modo supervisor (SMAP/SMEP) no se puede desactivar debido al HV.
  • La primitiva de escritura está algo restringida, ya que los bytes 0x10-0x14 deben ser cero (o una interfaz de red válida).
    • Aunque debido a trabajos más recientes que usan pipes, ahora es posible una lectura/escritura arbitraria completa.

Cómo usar

  1. Configure fakedns a través de dns.conf para que apunte manuals.playstation.net a la dirección IP de su PC.
  2. Ejecute fake dns: python fakedns.py -c dns.conf
  3. Ejecute el servidor HTTPS: python host.py
  4. Vaya a la configuración avanzada de red de la PS5 y establezca el DNS primario en la dirección IP de su PC y deje el secundario en 0.0.0.0
    1. A veces el manual aún no carga y es necesario reiniciar, no estoy seguro de por qué, es realmente extraño.
  5. Vaya al manual de usuario en la configuración y acepte el aviso de certificado no confiable, ejecútelo.
  6. Opcional: ejecute los scripts del servidor rpc/dump (nota: la dirección/puerto debe sustituirse en forma binaria en exploit.js).

Trabajo futuro

  • Arreglar los sockets para salir del navegador limpiamente (prioridad máxima)
  • Escribir algunos parches de datos (segunda prioridad)
    • Habilitar ajustes de depuración
    • Parchear credenciales para uid0
    • Jailbreak con sobrescritura de cr_prison
  • Mejorar la fiabilidad del UAF
  • Mejorar la fiabilidad del socket víctima (tercera prioridad)
  • Usar un objetivo de fuga mejor/más consistente que kqueue (ya no es necesario)
  • Hacer que el cargador ELF admita reubicaciones
    • ¿Añadir soporte para más reubicaciones y posiblemente enlace dinámico completo?

Uso del cargador ELF

Para usar el cargador ELF, ejecute el exploit hasta que termine. Al finalizar, ejecutará un servidor en el puerto :9020. Conéctese y envíe su ELF a la PS5 a través de ese puerto y lo ejecutará. Suponiendo que el ELF no bloquee el navegador, puede seguir ejecutando ELFs indefinidamente.

Etapas del exploit

Este exploit funciona en 5 etapas y, en su mayor parte, sigue la misma estrategia de exploit que el PoC de theflow.

  1. Desencadenar el UAF inicial en ip6_pktopts y conseguir que dos sockets apunten al mismo pktopts / se superpongan (socket maestro <-> socket de spray superpuesto)
  2. Liberar el pktopts en el socket maestro y falsificarlo con un spray de ip6_rthdr que contenga una superposición de tclass etiquetada.
  3. Paso de fuga de información. Usar la superposición pktopts/rthdr para filtrar un kqueue del slab 0x200 y pktopts del slab 0x100.
  4. Paso de lectura/escritura arbitraria. Falsificar pktopts de nuevo y encontrar el socket superpuesto para usar IPV6_RTHDR como primitiva de lectura/escritura.
  5. Paso de limpieza + parche. Aumentar el refcount de los sockets corruptos para una salida limpia del navegador + parchear datos para habilitar el menú de depuración y parchear ucreds para uid0.
  6. Ejecutar el servidor del cargador ELF que aceptará y cargará/ejecutará ELFs. Actualmente en WIP, no admite reubicaciones por el momento.

Notas de estabilidad

La estabilidad de este exploit es de aproximadamente 30% 80-90%, y tiene dos posibles puntos de fallo. En orden de probabilidad descendente observada:

  1. La etapa 1 no logra reclamar el UAF, lo que causa un bloqueo inmediato o una corrupción latente que provoca el bloqueo.
  2. La etapa 4 no logra encontrar un socket víctima.

Notas de investigación

  • Según varias pruebas y volcados con la primitiva de lectura, parece que la PS5 ha vuelto al tamaño de página de 0x1000 en comparación con el 0x4000 de la PS4.
    • Después de más investigación, el tamaño de página sigue siendo 0x4000, pero debido a algunos cambios alucinantes en el asignador, diferentes slabs se pueden asignar en la misma página virtual.
  • También parece que en PS5 las páginas adyacentes rara vez pertenecen al mismo slab, ya que obtendrá datos muy diferentes en páginas adyacentes. El diseño de la memoria parece más disperso.
  • A menudo, cuando la PS5 sufre un panic (al menos en el contexto de webkit), habrá una salida de audio horrible, ya que el búfer de audio se corrompe de alguna manera.
  • A veces esta corrupción de audio persiste hasta el siguiente arranque, no estoy seguro de por qué.
  • Al igual que la PS4, la PS5 requerirá que se presione manualmente el botón de encendido dos veces en la consola para reiniciar después de un panic.
  • Es normal que la PS5 tarde una cantidad absurda de tiempo en reiniciarse después de un panic si está aislada de Internet (desafortunadamente). Espere que el arranque tarde de 3 a 4 minutos.

Colaboradores / Agradecimientos especiales

  • Andy Nguyen / theflow0 - Vulnerabilidad y estrategia de exploit
  • ChendoChap - Varias ayudas con pruebas e investigación
  • Znullptr - Investigación/Ingeniería inversa
  • sleirsgoevy - Investigación/Ingeniería inversa + ideas de estrategia de exploit
  • bigboss - Investigación/Ingeniería inversa
  • flatz - Investigación/Ingeniería inversa + ayuda con parches
  • zecoxao - Investigación/Ingeniería inversa
  • SocracticBliss - Investigación/Ingeniería inversa
  • laureeeeeee - Conocimientos de sistemas de bajo nivel y asistencia

Agradecimientos a los probadores

  • Dizz (4.50/4.51)
Descargar herramienta