[INVESTIGACION] Jailbreak en Recovery Mode

Actualmente tengo un PSGROOPIC casero con el HEX de hermes v4b + PSN + SPOOF 3.50. El hecho es que en una de esas ocasiones en que uno se siente inspirado me ha dado por mirar haber si habia alguien que habia intentado arrancar la PS3 con el jailbreak conectado pero no en modo normal, sino en modo Recovery (ese que sirve para restaurar los datos de fabrica y actualizar el sistema), pues el hecho es que al arrancar, el jailbreak aparentemente se ha iniciado correctamente y a aparecido el menú tal cual como si no estuviera conectado, pero al desconectar el jailbreak se ha producido un crash y se ha quedado pillada la consola.

Hipotesis: "Y si en vez de realizar y desarrolar un payload que acceda al Factory Service de la consola para hacer un downgrade, se realiza un payload que permita instalar cualquier actualización superior o inferior de nuestro sistema?"

A efectos segun me ha parecido el modo Recovery es una flash alternativa a la flash donde se encuentra el XMB y que permite que en caso de fallo en la actualización (siempre que la flash principal no esta dañada) volver a actualizar correctamente la consola y arrancar correctamente actualizada. Pues bien, también se sabe que nuestra PS3 no permite actualizar la consola a una versión anterior a la actualmente instalada, sea en el modo que sea, Normal o en modo recovery, asi que aparentemente parece ser que llevan el mismo kernel o almenos el mismo "nucleo" o filtrado.

Basandose en estos datos no es tan extraño pensar que se podría crear un payload que permitiera modificar los modulos del kernel necesarios en modo Recovery y que nos permita actualizar a la versión deseada o acceder al resto de funciones que permite este modo.

Desgraciadamente esto solo es una hipotesis, no se si se podría poner en practica o si se podría ignorar debido a todas las protecciones y cifrados que posee el sistema PS3, pero bueno podriamos esperar a que grandes y experimentados sceeners como Hermes, Waninkoko, m0skit0, Dax, Kakarotoks,.. y un largo etc, para que nos puedan decir la viabilidad de esta investigación, ya que yo no poseo todavía suficientes conocimientos, lo que no significa que no intente aprender.

Un saludo a todo el mundo.

PD:Abro un nuevo hilo ya que he buscado por el foro y no he encontrado nada.
yo tampoco tengo mucha idea pero, lo que expones me parece interesante, a ver si aparecen por aki los expertos..

Saludos!
Yo sé algo del tema, y me parece buena idea.
Dado que los diversos Payloads que se usan hasta ahora se basan en parchear una serie de rutinas, antes de ser ejecutadas. Pero estas rutinas se pueden parchear debido a que Sony así lo quiso, como una forma suya de activar estas funciones (Instalar software no "oficial", correrlo, etc). Los problemas a resolver serían:

1) ¿Está pensado de alguna forma para que se pueda parchear el llamado modo recovery? De momento no se sabe, si Sony no ha dejado ningún camino, todo sería buscar donde atacar, y crear un exploit. O una pequeña modificación del actual que nos permita tocar este modo (no estoy muy seguro, si de la forma actual, se puede coger y parchear otras rutinas, no directamente relacionadas con para lo que está pensado; por lo de que se te quedó colgada al desenchufarlo, puede ser que fuese por el Payload).

2) Una vez halladas las direcciones a parchear, se podrían parchear en un principio fácilmente añadiendo un NOP antes de la comprobación de firmware (de sí es mayor y tal), o directamente un JUMP.

Creo que debería hacerse así, pero si me equivoco, que alguien me corrija.

Un saludo, y esto tiene buena pinta, falta ver como se va desarrollando.
El TeKi escribió:Pero estas rutinas se pueden parchear debido a que Sony así lo quiso, como una forma suya de activar estas funciones (Instalar software no "oficial", correrlo, etc).

Eso no es del todo correcto creo, ya que si que es verdad que Sony dejo la puerta abierta a realizar ciertas funciones a través de esta puerta trasera, pero no tenían pensado que nadie que no fueran del SAT, inyectara codigo "malicioso" para permitir ejecutar aplicaciones sin firmar, sinó que a través del "fallo exprofeso" de Sony el payload se encarga de ejecutar una serie de rutinas que realizan las funciones que hemos visto. Por lo tanto se podría intentar crear un payload específico para el modo recovery y que nos permita parchear secciones de codigo concretas. Todo esto es en teoria.
nesi_tor escribió:
El TeKi escribió:Pero estas rutinas se pueden parchear debido a que Sony así lo quiso, como una forma suya de activar estas funciones (Instalar software no "oficial", correrlo, etc).

Eso no es del todo correcto creo, ya que si que es verdad que Sony dejo la puerta abierta a realizar ciertas funciones a través de esta puerta trasera, pero no tenían pensado que nadie que no fueran del SAT, inyectara codigo "malicioso" para permitir ejecutar aplicaciones sin firmar, sinó que a través del "fallo exprofeso" de Sony el payload se encarga de ejecutar una serie de rutinas que realizan las funciones que hemos visto. Por lo tanto se podría intentar crear un payload específico para el modo recovery y que nos permita parchear secciones de codigo concretas. Todo esto es en teoria.


Sin ofender, pero creo que eso mismo es lo que he intentado decir, pero omitiendo por ejemplo lo del SAT. Pero vamos, igual no me he explicado bien. Lo siento.

Bueno, yo acabo de probar en mi propia PS3 (EUR FAT 60 GB), y hay una diferencia respecto de lo que tú dices, en mi caso, carga el modo Recovery, pero según marca en mi caso el Maximus AVR, ha habido algún problema a la hora de ejecutar el Payload (Led rojo, para los legos). Pero bien es cierto, que en el momento en el que he desenchufado el cacharro, se ha congelado. De aquí se puede sacar algo, o eso creo.
En caso de que sony no haya tapado el bug de los usb en el modo recovery...

La experiencia me dice que cuando sony cierra una puerta abre otra, pero no se yo si esta va a ser la puerta.
El TeKi escribió:Sin ofender, pero creo que eso mismo es lo que he intentado decir, pero omitiendo por ejemplo lo del SAT. Pero vamos, igual no me he explicado bien. Lo siento.

Jeje, pues si jeje no lo habia entendido bien, perdona [sonrisa] , ahora mismo estoy probando cosas con el usb firm loader 3.0 de Jaicrab haber si puedo sacar en cual de las flashes esta el modo recovery e intentar ejecutarlo como si de una emulación se tratara, creo que se podría empezar a investigar.
krosk escribió:En caso de que sony no haya tapado el bug de los usb en el modo recovery...

La experiencia me dice que cuando sony cierra una puerta abre otra, pero no se yo si esta va a ser la puerta.

Yo me refiero que es probable que si se puede hacer jailbreak en el recovery de una 3.41 puede que se hayan olvidado de capar también el Recovery Mode en la versión 3.50 y se pueda intentar ejecutar en ese modo.

Haber si algún experto o alguien que tenga mas conocimientos que yo (que los mios son mínimos) puede decirnos algo sobre esto.
Bien pensado y buena idea.
nesi_tor escribió:[...]
Yo me refiero que es probable que si se puede hacer jailbreak en el recovery de una 3.41 puede que se hayan olvidado de capar también el Recovery Mode en la versión 3.50 y se pueda intentar ejecutar en ese modo.

Haber si algún experto o alguien que tenga mas conocimientos que yo (que los mios son mínimos) puede decirnos algo sobre esto.


Yo también me estoy basando en eso, en el hecho de que es posible que no hayan modificado (dando por supuesto que sea así) las direcciones a parchear. En un rato voy a pillar un dump de mi 3.41 y a investigar. Si consigues algo con el JaiCrab, bien, pero va a ser dificil por ahí.
para ke serviria esto?
majumia escribió:para ke serviria esto?


En el primer hilo se explica, podría servir entre varios usos para manipular la actualización de firmware y permitir actualizar con versiones inferiores del firmware actual de la PS3, por ejemplo pasar de 3.41 a 3.15 y recuperar el OtherOS, o para modificar la restauración de datos o para cualquier opción que se tenga acceso.
Y yo pensando que era alomejor para hacer jailbreak a la 3.50 pero atraves del recovery mode xD
NaVaJa90 escribió:Y yo pensando que era alomejor para hacer jailbreak a la 3.50 pero atraves del recovery mode xD


También es posible, el caso es investigar si se puede atacar por ese frente, si se puede tocar cualquier cosilla, que aunque para correr el famoso payload en 3.50 desde el recovery va a ser complicado, pero tiene mejor pinta el tema downgrade. Ya que no es muy complejo el recovery (no tanto como el GameOS), por tanto, teóricamente es más fácil atacar por aquí para hacer el downgrade, ya que el recovery tiene la función de instalar un firmware, por lo tanto, se podría investigar. Esto también va para majumia :).

Un saludo.
para correr el recovery en 3.50 solo faltaria la key que hay que sacarla en 3.15 con el exploit de geohot. no hay que darle mas vueltas

pd. centremos todos los esfuerzos en esto y despues se seguira investigando el cfw para mantener el exploit de 3.41 a los firms posteriores


saludos
Llevo unos días dándole vueltas a este tema, pero por falta de ps3 no podía probar nada... :(

El recovery se "instauró" en la v2.50 del FW... lo cual, hace parecer que va incluido en el firmware

· Podria modificarse para que accediese directamente (sin pulsar nada!) al Recovery?
· El System Recovery tb necesita reiniciar la ps3? En caso de q no lo necesitase, si se consigue remapear la flash / rflash / etc en el recovery, quizás podrías instalar, digamos, el 3.50 (puesto que no tocarias tu flash) y tendrías acceso a un 3.50 para acceder a la PSN (por ejemplo) emulado por USB

PD: Todo esto partiendo desde una 3.41
federicoponl escribió:para correr el recovery en 3.50 solo faltaria la key que hay que sacarla en 3.15 con el exploit de geohot. no hay que darle mas vueltas

pd. centremos todos los esfuerzos en esto y despues se seguira investigando el cfw para mantener el exploit de 3.41 a los firms posteriores


saludos

Realmente no haria falta la master key, ya que la master key solo es necesaria por ejemplo para desencriptar el archivos .PUP y el resto de archivos encriptados de la maquina. Lo que yo propongo es una manera alternativa para poder hacer downgrade en 3.50 (supuestamente en el caso que Sony haya ignorado ese apartado) o en versiones superiores. Estaría muy bien que alguien conectara su jailbreak clon u original en una PS3 con firmware 3.50 y que nos pusiera los sintomas que le da, tanto al arrancar como sacando el dispositivo en dicho modo. Así podremos intentar sacar alguna idea de si se podría aplicar o no.

Hay muchos numeros de que no esté parcheado, ya que el GameOS y el Recovery Mode al parecer son sistemas muy semejantes y se basan en las mismas reglas, y el Recovery Mode está en otra flash diferente a la /dev_flash, así que es probable que no la hayan tenido en cuenta al realizar la corrección del Bug en dicha flash.

Todo es cuestión de probarlo.

Eleazar escribió:El recovery se "instauró" en la v2.50 del FW... lo cual, hace parecer que va incluido en el firmware


No puede ir en el firmware, ya que por ejemplo si se te corta la actualización del firmware a media actualización por un corte de luz, el GameOS no arranca y la consola no reacciona, pero en modo Recovery si que te deja entrar y actualizar nuestra PS3 desde ese modo. Esto indica que la flash del firmware y la flash del recovery son diferentes, seguramente lo que comentas que se implantó en el firmware 2.50, lo que hicieron en ese firmware fue instalar en una de las flash alternativas de la consola el modo Recovery.
Tengo que decir que todo esto solo son conjeturas basadas en los datos que circulan por Internet y las pruebas que hemos realizado El Teki y yo.
Entonces si son flash diferentes, el riesgo de brick es reducido no? bueno no reducido, es decir si haciendo downgrade brikeas, o actualizando brikeas, siempre puedes iniciar el recovery mode y "restaurar", no es asi? o estoy ekivocado??
nesi_tor escribió:
No puede ir en el firmware, ya que por ejemplo si se te corta la actualización del firmware a media actualización por un corte de luz, el GameOS no arranca y la consola no reacciona, pero en modo Recovery si que te deja entrar y actualizar nuestra PS3 desde ese modo. Esto indica que la flash del firmware y la flash del recovery son diferentes, seguramente lo que comentas que se implantó en el firmware 2.50, lo que hicieron en ese firmware fue instalar en una de las flash alternativas de la consola el modo Recovery.
Tengo que decir que todo esto solo son conjeturas basadas en los datos que circulan por Internet y las pruebas que hemos realizado El Teki y yo.


Algo así entendia yo tb, aunq viniese con el 2.50 q se instalaba aparte.

Ahora, la cosa es... en un 3.41, puedes acceder al recovery con el jb activado?
Eleazar escribió:
nesi_tor escribió:
No puede ir en el firmware, ya que por ejemplo si se te corta la actualización del firmware a media actualización por un corte de luz, el GameOS no arranca y la consola no reacciona, pero en modo Recovery si que te deja entrar y actualizar nuestra PS3 desde ese modo. Esto indica que la flash del firmware y la flash del recovery son diferentes, seguramente lo que comentas que se implantó en el firmware 2.50, lo que hicieron en ese firmware fue instalar en una de las flash alternativas de la consola el modo Recovery.
Tengo que decir que todo esto solo son conjeturas basadas en los datos que circulan por Internet y las pruebas que hemos realizado El Teki y yo.


Algo así entendia yo tb, aunq viniese con el 2.50 q se instalaba aparte.

Ahora, la cosa es... en un 3.41, puedes acceder al recovery con el jb activado?


Sí, se puede, pero no corre el Payload, o no lo corre correctamente. Tampoco he probado a tocar ninguna de las opciones. Lo que sí puedo decir, como dijo nesi_tor, y me repito, es que en cuanto desenchufas el cacharro, se congela. Por lo tanto, es posible que lo que sea es que no se corra correctamente, toca investigar, a ver si sale algo :).
Si se supone que el recovery mode se instauro en el firmware 2.50. A fecha de hoy no se habrá tocado, q no lo han actualizado mas, no seria a l omejor mas facil conseguir un dump del firmware 2.50 o desmpaquetar ese update y mirar que contiene y que es lo que hace ? para saber por donde han atacado ?

Eso suponiendo q el recovery no se haya actualizado desde dicha version, cosa q dudo por los riesgos a bricks, es un suponer pero lo mismo desde ese firmware se puede mirar exactamente donde se lep uede atacar, en lugar de estudiar firmwares mas nuevos que son menos vulnerables.
omnilatic escribió:Eso suponiendo q el recovery no se haya actualizado desde dicha version, cosa q dudo por los riesgos a bricks, es un suponer pero lo mismo desde ese firmware se puede mirar exactamente donde se lep uede atacar, en lugar de estudiar firmwares mas nuevos que son menos vulnerables.


El problema es ese, que no se sabe si han actualizado también en la 3.50 el recovery para capar el uso del jailbreak o si se han olvidado de el y no lo han tocado, lo ideal seria hacer un payload para la 3.41 por ejemplo simplemente cambiando una tonteria y comprobar sin en la 3.50 sigue funcionando, y eso significaria que se han olvidado de el y se podría lograr un downgrade perfecto.

Se tendría que crear un nuevo payload para hacer esta función, el problema como ya he comentado antes esque todavía no dispongo de los conocimiento para ello, sino ya estaría probado, haber si alguien puede modificarlo para realizar dicha función.
nesi_tor escribió:
omnilatic escribió:Eso suponiendo q el recovery no se haya actualizado desde dicha version, cosa q dudo por los riesgos a bricks, es un suponer pero lo mismo desde ese firmware se puede mirar exactamente donde se lep uede atacar, en lugar de estudiar firmwares mas nuevos que son menos vulnerables.


El problema es ese, que no se sabe si han actualizado también en la 3.50 el recovery para capar el uso del jailbreak o si se han olvidado de el y no lo han tocado, lo ideal seria hacer un payload para la 3.41 por ejemplo simplemente cambiando una tonteria y comprobar sin en la 3.50 sigue funcionando, y eso significaria que se han olvidado de el y se podría lograr un downgrade perfecto.

Se tendría que crear un nuevo payload para hacer esta función, el problema como ya he comentado antes esque todavía no dispongo de los conocimiento para ello, sino ya estaría probado, haber si alguien puede modificarlo para realizar dicha función.



En la 3.50 sigue funcionando el modo recovery ya que el payload de Zaxis (PSGRADE) asi lo demuestra. el problema es que la ps3 no entra en este modo ya que se necesita la master key para acceder a este modo

aqui esta el link the github si alguno quiere chequear/mejorar el codigo https://github.com/zAxis/PSGrade

saludos
federicoponl escribió:En la 3.50 sigue funcionando el modo recovery ya que el payload de Zaxis (PSGRADE) asi lo demuestra. el problema es que la ps3 no entra en este modo ya que se necesita la master key para acceder a este modo


El Recovery Mode sigue y seguira funcionando en todas las futuras versiones de PS3, tu te refieres al Factory Service, ya que el payload de Zaxis entra en modo Factory y no en el Recovery, que son modos diferentes, el Factory Service solo lo pueden utilizar el SAT de Sony, ya que se saltan todas las comprobaciones que efectua el sistema, en cambio, para el modo Recovery, de momento nadie ha intentado hacer un payload funcional ni se sabe seguro si en 3.50 se podra ejecutar, y eso es lo que estamos intentando investigar.

El PSGrade intenta entrar en modo Factory Service utilizando la master key de Sony, pero lo que yo propongo precisamente es saltarse el paso de conseguir la master key e intentar entrar por otra vías (en este caso el Recovery Mode).

Seguiremos investigando.....
22 respuestas