Hoy fue el primer día de la conferencia de hackers 30C3, y el team fail0verflow presentó unas diapositivas (slides), en donde comparten mucha info técnica sobre como consiguieron hackear la consola Nintendo Wii U. Pero no se trata de cargar homebrew en modo Wii (vWii); ellos han conseguido cargar código sin firmar en modo Wii U.
Explican detalladamente como funciona su hack; que vulnerabilidad y/o descuido de Nintendo aprovecharon para cargar contenido no oficial de Wii U. Además mencionan y explican las diferencias de booteo y carga de software de la Wii y como lo hace la Wii U.
::detalles::
No intentaré explicar los datos presentados en la conferencia, porque no estoy familiarizado con términos técnicos de arquitectura de hardware de Wii ni Wii U; pero mostraré algunas de las diapositivas presentadas. Al final de esta noticia, compartimos el enlace para que vean la totalidad de la presentación que dió el team fail0verflow.
Wii vs Wii U (SOFTWARE):
Wii:
- Juegos corren en el Broadway.
- El Starlet ejecuta IOS, un Sistema Operativo microkernel que maneja los servicios de seguridad, cifrado (crypto) y I/O (entrada y salida).
- Los juegos y programas son cargados desde un disco o la memoria NAND flash. Las firmas RSA son verificadas al tiempo de instalación, no al tiempo de ser ejecutadas.
Wii U:
- Ejecuta Cafe OS, un Sistema Operativo personalizado multiprocesos; en el Espresso con aislamiento de proceso y manejo de memoria.
- Similar pero IOS es más grande y ha cambiado significativamente (la llamamos IOSU).
- Además incluye 8 o 32GB de almacenamiento eMMC para software de usuario. Las firmas RSA son verificadas al tiempo de ser ejecutadas.
HACKING TOOLKIT
Ejecutar un agente remoto en la consola, el cual será controlado por comandos RPC desde un script Python corriendo en una PC.
¿Como nos comunicamos?
Usamos los puertos de Memory Card en la Wii, pero esos ya no existen.
SOLUCION #1: LOLSERIAL
Solamente STDOUT, hasta 115kbaud, simple. Suficientemente bueno para printf()…
SOLUCION #2: GHETTOHCI
I/O, hasta 115kbaud, lento. No necesitas abrir la consola.
SOLUCION #3: GPIOGECKO
I/O, más rápido, invalida la garantía.
Aquí las diapositivas (slides) presentadas por el equipo de fail0verflow en la conferencia de hackers 30C3.