
Un exploit de WebKit que utiliza CVE-2018-4441 para obtener RCE en PS4 6.20.
Este repositorio contiene un exploit de prueba de concepto (PoC) de ejecución remota de código (RCE) dirigido a la PlayStation 4 con firmware 6.20, aprovechando CVE-2018-4441. El exploit primero establece una primitiva de lectura/escritura arbitraria, así como una fuga de dirección de objeto arbitraria en wkexploit.js. Luego configura un framework para ejecutar cadenas ROP en index.html y, de forma predeterminada, proporciona dos hipervínculos para ejecutar cadenas ROP de prueba: uno para ejecutar la syscall sys_getpid() y el otro para ejecutar la syscall sys_getuid() con el fin de obtener el PID y el ID de usuario del proceso, respectivamente.
Cada archivo contiene un comentario en la parte superior que explica brevemente qué contiene el archivo y cómo funciona el exploit. El crédito por el descubrimiento del fallo es para lokihardt de Google Project Zero (p0). El informe del fallo se puede encontrar aquí.
Nota: ha sido parcheado en la actualización de firmware 6.50.
Archivos en orden alfabético por nombre;
index.html - Contiene el código posterior al exploit, pasando de R/W arb. a ejecución de código.rop.js - Contiene un framework para cadenas ROP.syscalls.js - Contiene una lista (incompleta) de llamadas al sistema para usar en tareas posteriores al exploit.wkexploit.js - Contiene el núcleo del exploit de WebKit.p.launchchain() para la ejecución de código puede necesitar ser reemplazado.syscalls.js contiene solo un pequeño número de llamadas al sistema.Configura un servidor web que aloje estos archivos en localhost usando xampp o cualquier otro programa de tu elección. También podrías alojarlo en un servidor. Puedes acceder a él en la PS4 mediante;
Suplantación de DNS falsa para redirigir la página manual a la página del exploit, o
Usando el navegador web para ir a la página del exploit (no siempre es posible).
Escribí el exploit, sin embargo no encontré la vulnerabilidad. Como se mencionó anteriormente, el fallo (CVE-2018-4441) fue encontrado por lokihardt de Google Project Zero (p0) y fue divulgado a través del rastreador público de errores de Chromium.
Chromium Bug Report - La vulnerabilidad.
Phrack: Attacking JavaScript Engines by saelo - Un salvavidas. Explotar esto habría sido unas 1500 veces más difícil sin este divino artículo.
lokihardt - La vulnerabilidad
st4rk - Ayuda con el exploit
qwertyoruiop - Escuela WebKit
saelo - Artículo de Phrack