Exploit de audio funcionando con TODO

Hola a todos.

Bien, como sabeis el exploit de audio para el dashboard solo permite arrancar Linux, incluso aunque firmeis un XBE con el xbedump y con la opción -audio, os dará error 21.

Aqui os cuento una forma de conseguir que arranque todo, pero antes os voy soltar un poco de rollo tecnico, quien quiera que baje y se lo salte, que al final hay un resumen.

Hace unos días me leí la explicacion de xbox-linux (http://xbox-linux.sourceforge.net) sobre como funcionaba el exploit del 007, resulta que lo que hace es cambiar la clave pública de la XBox en memoria haciendo que sea divisible por 3, con lo que es facilmente factorizable y se puede hallar sin problemas una clave privada para firmar los .xbe para que carguen con este exploit. Por ejemplo hay una versión del xbedump que permite firmar los .xbe con la opcion -habibi para usarlos con este exploit.

Aunque ya tengo chip quería trastear con el exploit este por que lo encuentro de los más comodos que hay, lo activas cuando quieras, no salta solo al encender la consola. Estuve probando, y como no, solo conseguía arrancar Linux hiciese lo que hiciese, incluso firmando el ejecutable con el xbedump y la opción -audio, me dí cuenta que al firmarlo asi, la firma cambiaba, lo que quiere decir que el xbedump no usa una clave privada correcta para firmar el ejecutable para este exploit.

Asi que me puse a intentar averiguar la clave pública que usaba este exploit.

Al decompilar el exploit hay una parte de código que es casi calcada del exploit del 007, donde modifica la clave pública de la XBox, misteriosamente parece que cambia la clave exactamente igual que el exploit del 007, sin embargo un .xbe firmado con la clave del 007 no carga.

Como me cargue el fichero ST.DB en mi PC, por no volver a buscarlo, lo transferí desde la XBox al ordenador y misteriosamente era diferente, y se podía ver como cambiaba de verdad la clave.

Si veis el documento de xbox-linux vereis que hace un XOR a la clave pública de la XBox con el número 2DD78BD6, sin embargo este exploit aunque al principio parece hacer lo mismo en realidad lo hace con 3DD78AC2, comprobé a ver si esta clave pública por fin era la verdadera que usaba y asi es, la firma de linux.xbe se podía comprobar que era correcta. Pero lo malo es que el exploit del 007 hacía que la clave fuese divisible entre 3, sin embargo esta clave hice algunas pruebas para factorizarla y no parece que lo hayan puesto tan facil :(

O sea, que se que clave pública usa el exploit, pero como no tengo la privada no puedo firmar los .xbe, bien, trate de cambiar el valor 3DD78AC2 por el del otro exploit, y nada, el linux.xbe arrancaba perfectamente, pero nada más [boing]

Pasaban 2 cosas, o esa parte de código era un señuelo y no se ejecutaba nunca o se modificaba en alguna parte por si alguien intentaba hacer lo que había hecho yo. Resulta que es la segunda opción.

Leyendo el código me di cuenta que un poco más abajo había instrucciones que no valían para nada, asi que probé a cambiarlas a NOP, bien, el exploit seguía funcionando normalmente. Asi que aproveche esa zona, que parece ser que no estaba protegida por el exploit, haciendo otro XOR para dejar finalmente la clave pública de la XBox como la deja el exploit del 007.

¡¡Y FUNCIONÓ!!

Asi ya se pueden ejecutar cualquier .xbe firmado con la clave del 007

Bueno, y ahora en el siguiente post (que este ya es muy largo), el resumen de como hacer esto.
A ver, elementos necesarios

- Dashboard 4920 (el del Live!, cualquier juego que soporte Live lo actualizará)

- Alguna forma de grabar ficheros en el disco duro de la XBox, de eso hay muchos tutoriales por ahí, no pregunteis. Podeis usar desde un chip, al exploit del 007, HD swap, etc.

- Necesitareis los ficheros del exploit de audio (y saber como se usa para arrancar Linux)

Esto ha sido probado (por mi parte) en:
XBox v1.0 con kernel 4034
XBox v1.1 con kernel 4817

Ambas con el dashboard 4920

Os incluyo aqui el ST.DB final, pero por si acaso os cuento como generarlo:

- Aseguraos de que teneis el dashboard 4920

- Copiad el fichero ST.DB del exploit de audio en la carpeta E:\TDATA\fffe0000\music\ (mejor guardad una copia de seguridad de vuesto ST.DB original antes de sobreescribirlo)

- Copiad el fichero linux.xbe del exploit en E:\

- Apagad la consola y encenderla normalmente, arrancad linux usando el exploit de audio (en el exploit viene un fichero de texto que indica como hacerlo, necesitareis un CD de música)

- Ahora teneis que copiar el ST.DB de la consola (si, el que habíais grabado antes) al PC

- En el PC abrid el fichero con un editor hexadecimal, y cambiad estos bytes (deberían empezar en la posición 0xFF):

05 14 00 00 00 89 85 72 01 00 00

por estos otros:

81 76 FF 14 01 00 10 90 90 90 90

-----------------------------

Si cogeis el ST.DB que he mandado aqui, no hace falta hacer lo anterior.

- Ahora coged el .xbe que querias arrancar y firmadlo con el xbedump de esta forma: "xbedump fichero.xbe -habibi", os generará un fichero llamado out.xbe, copiad este fichero a la XBox en E:\ con el nombre linux.xbe

Si el programa que quereis arrancar es el EvolutionX o el Complex Loader necesitareis copiar los demás ficheros de estos programas, para esto podeis seguir los tutoriales que hay para el exploit de las fuentes.

Una cosa, si instalais el Complex Loader, el .xbe debe ir en E:\ llamandose linux.xbe como he dicho antes, pero la carpeta "!Loader" debe ser creada en C:\, igual que se hace en el exploit de las fuentes.

Bueno, despues de todo este rollo, ya podeis arrancar lo que querais con el exploit del audio.

Lo siento si lo he liado mucho.

[oki]

PD: No me pregunteis ni donde conseguir ni el Evolution, ni el Complex Loader, ni el xbedump ni nada de eso, esta prohibido por las normas del foro.


PD2: Aunque he saltado la protección del exploit para que solo arrancase Linux, me gustaría entender algo más como hace para automodificarse, ya que es un programa muy pequeñito y no veo nada especialmente sospechoso, si alguien puede ayudarme con esto se lo agradecería ;)

Adjuntos

Excelente trabajo.

Saludos.
Viiivaaa, lo han publicado tambien en la pagina principal de xbox-scene [ayay]

De todas formas, todo el mérito lo tiene quien haya hecho el exploit, y encima su forma de protegerlo demuestra que quien sea sabe un "poquito" de esas cosas [jaja]
felicidades adsl58, por tu trabajo al sacar la forma que este exploid ejecutaba solo el linux.xbe. La verdad quien desarrollo ese loader para linux tiene muchisima idea :D.
El caso del autor del mismo queria que solo este se utilizara para linux, pero esta claro que nunca puedes proteger del todo una app.


por cierto han sacado esto basandose en tu desarrollo

"AUDIO_EXPLOIT_PLUS_PHOENIX_BIOS_LOADER"

Salu2 ;)
con este metodo t. ambien se necesita modificar la carpeta FONTS,osea agregar el bert&ernie y renombrar los archivos de la carpeta fonts.

y el ST audio que pones bajo el tutorial ya esta arreglado.

pregunto por que no lo eh podido hacer -error 21, o pantalla negra y un mensaje de ERROR EN LA CONFIG.

y por ultimo ya hay .xbe signados en habibi o cualquiera que sea se tiene que signar con habibi.


SALUDOS,.,.,.,
Escrito originalmente por el_ter

por cierto han sacado esto basandose en tu desarrollo

"AUDIO_EXPLOIT_PLUS_PHOENIX_BIOS_LOADER"


Ya lo había visto, pero gracias [carcajad]


chaaren, no tienes que instalar los ficheros de bert&ernie de las fuentes. Simplemente instala el ST.DB como se instala normalmente el exploit de audio.

Lo que vayas a poner como E:\linux.xbe tiene que estar firmado con la clave de habibi, no se si ya hay .xbe firmados con esto, supongo que en el pack del que habla el_ter viene ya algo firmado, pero yo no lo he probado.

De todas formas si tienes la versión correcta del xbedump, es muy facil firmar algo con la clave de habibi, simplemente escribe "xbedump tufichero.xbe -habibi" y obtendrás un fichero llamado out.xbe que es el que debes renombrar a linux.xbe y copiarlo a E:\ en la XBox.
impresionante

ver que gente se deja el tiempo en ver estas cosas

muy buena labor

sigue adelante

un saludo
Hice todo correcto, dada la conclusion creo que es mi XBEDUMP,

algun xbedump que funcione bien.?
hay varios, por ej: 1 para cada cosa?
por que el que tngo me trabajo bien para otras cosas.

GRACIAS.,.,, Adso58
ST audio ya sta arreglado o, hay que hacerlo.
Escrito originalmente por chaaren
Hice todo correcto, dada la conclusion creo que es mi XBEDUMP,

algun xbedump que funcione bien.?
hay varios, por ej: 1 para cada cosa?
por que el que tngo me trabajo bien para otras cosas.

GRACIAS.,.,, Adso58


Necesitas la versión k utiliza las firmas de los xploits, es una versión modifikada del xbedump llamada xbedump XBOX XPLOIT version.

salu2
Escrito originalmente por chaaren
ST audio ya sta arreglado o, hay que hacerlo.


Lo siento, no me dí cuenta de la pregunta.
El ST.DB que mandé aqui ya esta preparado, es simplemente copiarlo.
Y sobre lo del xbedump, pues lo que te ha dicho Barracuda ;)
¿Cuando dices "funcionando con TODO" significa tambien con el LIVE?

[fumeta]
Si lo tienes instalado, pero no llegas a arrancar el exploit, sí, puedes jugar a los originales con el Live.

Pero las copias nada, se sigue sin poder usarlas para el Live
17 respuestas