1 puntos por GN⁺ 2024-08-08 | 1 comentarios | Compartir por WhatsApp

TONY HAWK’S PRO STRCPY

Resumen

  • Proyecto iniciado en 2016 para encontrar un nuevo bug para hackear Xbox
  • Las consolas de videojuegos de principios de los 2000 tenían pocas mitigaciones de seguridad, lo que las hacía adecuadas para aprender hacking
  • Al analizar los archivos de guardado de Tony Hawk’s Pro Skater 4, se descubrió una vulnerabilidad de desbordamiento de búfer

Parte 1: Comenzando

  • Se descubrió la vulnerabilidad mediante la función "Create-A-Park" de Tony Hawk’s Pro Skater 4
  • Se produce un desbordamiento de búfer durante el proceso de copiar la cadena con el nombre del gap del archivo de guardado con la función strcpy
  • Se obtuvo capacidad de ejecución de código al crear un archivo de guardado malicioso y ejecutarlo en Xbox

Parte 2: Ejecución remota de código

  • Se exploró una forma de hackear la consola por red sin tarjeta de memoria
  • Se intentó un método para hackear la consola cliente transfiriendo el archivo de guardado en una partida multijugador LAN
  • Se produce un desbordamiento de búfer cuando la consola cliente carga el archivo de guardado enviado por el host
  • Se escribió un manejador de mensajes de red para transferir un ejecutable de payload secundario a la consola cliente

Análisis de variantes

  • También se encontraron vulnerabilidades similares en otros juegos como Tony Hawk’s Pro Skater 3, Tony Hawk’s Underground 1 & 2 y Tony Hawk’s American Wasteland
  • Algunos juegos usan stack cookies para prevenir desbordamientos de búfer

Resultado final

  • Cuando la consola cliente se conecta a la consola host, se envía por red un archivo de guardado malicioso
  • La consola cliente recibe y ejecuta el archivo ejecutable del payload
  • Se logró ejecución remota de código y transferencia asíncrona de archivos

Resumen de GN⁺

  • Este artículo aborda el proceso de explorar y explotar vulnerabilidades de seguridad en consolas de videojuegos antiguas como Xbox
  • Las consolas antiguas tienen pocas mitigaciones de seguridad, por lo que son adecuadas para aprender hacking, y es posible obtener capacidad de ejecución de código mediante distintos bugs
  • Se explora un método de ejecución remota de código por red, mostrando cómo hackear una consola incluso sin tarjeta de memoria
  • También se descubren y analizan vulnerabilidades en otros juegos con funciones similares, lo que permite aprender diversas técnicas de hacking
  • Este artículo ofrece información útil para personas interesadas en investigación de hacking y seguridad, y puede ayudar a comprender las vulnerabilidades de seguridad de consolas antiguas

1 comentarios

 
GN⁺ 2024-08-08
Comentarios de Hacker News
  • El módulo de la clave pública de habibi difiere de la clave pública RSA de Microsoft por solo 4 bytes

    • La clave de MS es una clave RSA de 2048 bits
    • Si se cambia el valor del exponente a 3, se puede encontrar fácilmente una clave similar
    • Sin embargo, el payload que usa la clave habibi no cambia el exponente de la rutina de verificación de firmas RSA
    • Aun así, parece realizar la verificación usando el exponente 65537
    • No está claro cómo es posible esto
  • Un entero de 2048 bits podría factorizarse con relativa facilidad

    • El código podría funcionar cambiando aleatoriamente 4 bytes e intentando factorizar
    • Como resultado, podría generarse un módulo público con muchos factores pequeños
    • Un módulo RSA normalmente tiene dos factores primos, pero matemáticamente no hay problema en que tenga más
  • El softmod de Xbox 360 era posible a través del nombre del parque en un juego de Tony Hawk

    • Usaba una cadena ROP de 24 segmentos
    • La explicación concisa de la funcionalidad del hipervisor y las ideas sobre una botnet de x360 despiertan nostalgia por la Xbox 360
  • Deberían haber usado strncpy en lugar de strcpy

    • Tony Hawk es famoso por promover el uso de equipo de seguridad
    • Es una lástima lo del exploit para el mod THUG PRO
    • El mod tiene más de 10 años y su desarrollador original desapareció
    • Ahora el mod no se puede usar, y nadie quiere usarlo por el riesgo de un exploit con privilegios totales
    • Ojalá este artículo llegue a alguien interesado en hacer un parche para el mod
  • Tony Hawk no es un analista de seguridad, sino un skater profesional

    • A finales de los 90 y principios de los 2000, naturalmente pasó su tiempo haciendo que una serie de juegos existiera en vez de auditar código
  • Me pregunto cuándo, dónde y cómo se filtró la clave privada de habibi

    • El OP pudo ejecutar binarios sin firmar parcheando la diferencia de 4 bytes entre la clave de MS y la clave habibi
    • Eso implica que consiguió la clave privada
  • Mientras hacía decompilación de PSX, encontré muchos casos similares

    • memmove se enlaza mediante la biblioteca del SDK, pero strcpy lo provee el BIOS
    • Para 1997, versiones posteriores del SDK podían parchearse a la versión de biblioteca
  • He leído análisis de exploits como este muchas veces, y espero poder leerlos 100 veces más en el futuro

    • Excelente artículo
  • Es un buen ejemplo de una mentalidad de seguridad equivocada en el desarrollo de consolas

    • La idea de "solo tenemos que parsear los datos que nosotros guardamos" es errónea
    • Una consola no debería tratar al usuario como un enemigo
    • Pero si lo hace, entonces el juego debe tener una mentalidad de seguridad acorde
  • Imaginen un plugin de VSCode que invente nombres de trucos y otorgue puntaje de combo por secuencias continuas de teclas

    • Tony Hawk's Pro-grammer