¿Como se descubre un exploit?

Hola gente.

A pesar de que estoy empapado en tema de electronica, informática y demás, siempre he tenido una duda que espero que los expertos de por aquí podais resolverme.
La pregunta es la que planteo en el post: ¿Como son descubiertos los exploits? ¿Cual es la metodología para descubrir uno?

Lo digo porque por ejemeplo en PSP se descubrieron exploits en el Lumines y en el GTA. ¿Como se descubrío aquello? ¿Se investigaron savegames de todos los juegos existentes en PSP? ¿Por que el del Lumines se descubrió TAN tarde? ¿Como alguien a los 3 años de salir el Lumines dice "vamos a buscar y encontrar un exploit aquí"?
Lo mismo con el firmware de la consola, que es lo que se ha conseguido en Wii, y parece que se intenta buscar en PS3. ¿Se hace algún tipo de ataque a cada versión de firmware que sale? ¿Cuales son los pasos a dar para poder dar con un fallo de seguridad?

Es simple curiosidad, ya que siempre me ha extrañado sobre todo encontrar fallos en los juegos, me parece demasiada casualidad que se encuentren, y me parecería exagerado el trabajo que llevaría poder investigar todos los juegos que salen al mercado en busca de exploits... ¿Significa ésto que los juegos con algún fallo de seguridad tienen algún tipo de indicador o dejan algún rastro que los que sabeis programación a nivel avanzado veis a la legua?

Lo dicho, espero que podais aclararme esta duda, y por favor no convirtais esto en otro hilo más de lo imposible que está hackear la PS3 o de si será bueno o malo su hackeo. No van por ahí los tiros, solo quiero saber qué tendríamos que encontrarnos para encontrar un exploit a nivel genérico, no solo de ps3. Obviamente, hablo de exploits, no de modchips, que ya se que lo normal es poder hacer un sniff al bus de datos de la consola y con el chip meterse en medio para mandar las órdenes que le digamos a la consola.

Un saludo [bye]
A mi también me pica la curiosidad. A ver lo que pueden decirnos los más entendidos del tema.

Salu2!
Ojobenito escribió:Hola gente.
[...] ¿Como se descubrío aquello? ¿Se investigaron savegames de todos los juegos existentes en PSP? ¿Por que el del Lumines se descubrió TAN tarde? ¿Como alguien a los 3 años de salir el Lumines dice "vamos a buscar y encontrar un exploit aquí"?
[...] [bye]


Normalmente los exploit se encuentran examinando el código en busca de vulnerabilidades.
En algunos casos, se tiene acceso al código. Por ejemplo , se sabe cual es el código que usa la PS3 para leer imágenes de tipo TIFF, ya que aparece en los créditos.
No solo basta con encontrar una vulnerabilidad, luego hay que ver como explotarla. Volviendo al caso de los TIFF, se puede ver que hay maneras de dejar colgado al proceso, pero no la manera de sacar ventaja de ello.

Si no tienes el código fuente, aún es más difícil, y normalmente se hace con ingeniería inversa (lo cual suele estar prohibido por la licencia de uso, aunque en muchos países el legal si se busca la interoperabilidad con ello).
La ingeniería inversa es un proceso muy lento y laborioso, y aún más si no se conoce los detalles del sistema.
En este aspecto suele ayudar encontrar ejecutables que contengan información de depuración (la que usan los desarrolladores mientras prueban). En el caso de la PS2 muchos de los primeros juegos venían con esta información, y pronto se supo como hacer ejecutables de tipo PS2. Sin embargo, fijate como el "Independence exploit" de MrBrown tardo mucho mas en salir, ya que el exploit se encontró en la BIOS, donde no había información de depuración.

En el caso de la PS3, hay un escollo mas que salvar, y es que los ejecutables están encriptados, con lo cual no se puede ver que instrucciones ejecutan.
¿Entonces los exploits de los juegos son pura casualidad de decir "voy a ver si puedo encontrar un exploit en este juego" o hay alguna forma de ver previamente si un juego o un savedata es susceptible de ataque porque deje algún tipo de rastro o se comporte de una forma determinada? Es que con los cientos de juegos que había en PSP por ejemplo, me extraña que mirasen código fuente en todos :-?
Este es el punto que más me interesa conocer, el cómo con cientos de juegos en el mercado, y sin probar todos por razones obvias, se encuentran exploits. ¿Chiripa? ¿Filtraciones de que se han dejado una puerta abierta?

En la PS3 ya he leido información al respecto y la cosa está chunga con la protección "anti-buffer overflows" y demás lindezas del hypervisor.
¿Se puede decir entonces que salvo filtraciones, todo el trabajo de exploit en un sistema o juego es por ingeniería inversa? Si es así, me da que en el caso de la PS3 está chungo, ya que aunque hay información técnica del Cell, seguimos hasta sin confirmar al 100% si la PS3 trabaja con 7 SPUs solo, con 7 + 1 de hypervisor, con los 8.... [+risas]
Mira, es bien facil...

Cuando sony crea conveniente piratear, se crea un user diciendo que hay un bug y etc. etc. luego un experto de programacion lo estudia y listo...


No me explico otro modo XD XD XD XD XD





Pd. La verdad es que no lo se
Ojobenito escribió:cómo con cientos de juegos en el mercado, y sin probar todos por razones obvias, se encuentran exploits. ¿Chiripa? ¿Filtraciones de que se han dejado una puerta abierta?

Mas bien, que hay bastantes posibilidades de encontrar un exploit en cualquier código que intercambie datos con el exterior . La mayoría de los programadores son bastante descuidados en ese aspecto. Así que si eres paciente y le dedicas mucho tiempo, al final encontrarás algo.
Si te pones en la piel de un programador cuando , por ejemplo, te pones a programar las rutinas que leen una partida grabada, no te pones a controlar lo que lees. En ese momento piensas que nadie va a poder escribir en la tarjeta de memoria, así que asumes que los datos van a estar bien. Además, como en cualquier trabajo, tienes unos plazos de entrega, y no te puedes poner a programar algo que controle todos los casos posibles.

Ojobenito escribió: Si es así, me da que en el caso de la PS3 está chungo, ya que aunque hay información técnica del Cell, seguimos hasta sin confirmar al 100% si la PS3 trabaja con 7 SPUs solo, con 7 + 1 de hypervisor, con los 8.... [+risas]

Es que además, no puedes ejecutar nada para poder hacer comprobaciones sobre como funcionan las cosas :-(
a ver, es como los antivirus, os creeis que la gente hace 800.000 virus cada dia? son las propias compañias que te venden el programa antivirus para hacer negocio pq sino se les acaba el chollo. Con esto lo mismo, JA JA Y JA que alguien descubra algo de "casualidad", hasta que la propia compañia no quiere/ lo divulga la consola no se piratea.
flamer escribió:Mira, es bien facil...

Cuando sony crea conveniente piratear, se crea un user diciendo que hay un bug y etc. etc. luego un experto de programacion lo estudia y listo...


No me explico otro modo XD XD XD XD XD





Pd. La verdad es que no lo se

Opino lo mismo yo pienso que son los propios ingeniros de las empresas los q hacen todo posible lo digo xq aca en mi ciudad los trabajadores de TVCable te dan todo para hackear su propio sistema yo pienso q hasta se ponen a fabricar los chips y todo imaginen un producto q se pueda vender a nivel mundial a digamos 40 dólares x chip me parece un negocio super redondo, o q tal como uds dicen q hay exploits en los juegos bien pensemos asi, yo creo un juego para desarrollar ese juego tengo los sdk y consolas para desarrollo, hago mi juego y como haria q se venda como loco ofreciendo un exploit del mismo con el cual se puede hackear el sistema comercial, Pienso q es una posibilidad muy objetiva, con todo el respeto q se merecen buenos hackers de la industria de los videojuegos sin los cuales creo q algunos de x aca no tendriamos medios de subsistencia reparando e instalando chips.......
Bueno es mi humilde opinion
Existe mucha casualidad en el asunto, pero no todo se reduce a eso..., ai q saber donde buscar los exploits.., en que momentos buscarlos.... y como descifrarlos y usarlos, es muy muy complejo, lo unico que se puede descubrir por azar es el cartel de " por aqui puede que se empiece ", lo que sigue a esto son horas y horas de puro trabajo (profesional en la mayoria de los casos) y quebraderos de cabeza....

Y la otra forma es lo q dicen, Sony da a conocer su bug magico :D
se descubren sin kerer o en las martes mas corruptas de la mayoria de juegos.

aunque tambien la consola puede hacerlos eso si con menos posibilidades
Haber... si empezais porque exploit no es ciertamente un fallo, sino la manera de aprovechar el fallo, no se "descubren", igual haceis algo...
Pablinho666 está baneado por "Crearse clones para trollear"
Pues yo creo que llaman a Sony y le preguntan donde esta el fallo , si , es algo así:

- Hola buenos días , al habla con el departamento de Asistencia tecnica de Sony , le atiende Mari Carmen ¿en que le puede ayudar?

- Si mire es que quiero encontrar un exploit en el Software de la PS3

- ....

- Es que ya estoy un poco harto de tener que pagar 70€ por cada juego y me da palo.

- ....

- ¿Me da alguna pista?

- Beep ,beep ,beep (entiendase sonido de llamada finalizada)

- Señorita , me olle , venga deme una pista

- Beep , beep ,beep...


Algo asi seria
Pablinho666 escribió:Pues yo creo que llaman a Sony y le preguntan donde esta el fallo , si , es algo así:

- Hola buenos días , al habla con el departamento de Asistencia tecnica de Sony , le atiende Mari Carmen ¿en que le puede ayudar?

- Si mire es que quiero encontrar un exploit en el Software de la PS3

- ....

- Es que ya estoy un poco harto de tener que pagar 70€ por cada juego y me da palo.

- ....

- ¿Me da alguna pista?

- Beep ,beep ,beep (entiendase sonido de llamada finalizada)

- Señorita , me olle , venga deme una pista

- Beep , beep ,beep...


Algo asi seria


Hola jaja muy bueno yo la verdad pienso como algunos compañeros de este foro creo cuando se pueda cargar copias de seguridad creo k ba ser pork Sony deje la puerta habierta adrede.

Saludos: Sphinx
Los xploits no se descubren, se programan.

Lo que se descubre son los bugs.

Los exploits son programas que aprovechan esos bugs.

Deu!
Ojobenito escribió:¿Como son descubiertos los exploits?


yo lo pregunte a un PROGRAMADOR, eso si , cambiando EXPLOIT por BUG y me respondio esto


"BUSCANDO"


el EXPLOIT se a de crear tras descubrir el BUG

un BUG es un fallo cual puede ser útil o inútil
Pablinho666 escribió:Pues yo creo que llaman a Sony y le preguntan donde esta el fallo , si , es algo así:


yo lo he estado pensando y creo que cuando la maquina (PS2-PSP) ban de capa caida y no venden, pues crean un CHIP o CF y lo ponen a nombre de otr@ - EMPRESA para así ganar con el CHIP o CF y así volver a subir la maquina en ganancias. pero haber quien los pilla infraganti

yo tengo en la PS2 (un chip BLUE no se que más) tiene un led azul que parpadea (PS2 SLIM)
y una vez la abri (cuando se me rompio) y el chip ponia "SONY 09672" en blanco sobre la placa del CHIP . no de la placa de la PS2, si no del chip. por eso creo que es la misma empresa, que lo hace aproposito

pero NO LO SE si es ASI



SALU2
Pablinho666 está baneado por "Crearse clones para trollear"
Puede que la memoria sobre la que estaba montada el chip fuera de Sony , eso no tiene nada que ver , Sony no solo hace ordenadores consolas y camaras , tambien hace microchips en general , y por favor no desvieis el tema del hilo +

Salu2
Pues si, ya han venido los típicos trolls a desvariar el tema del hilo, y a hablar de si le conviene a Sony que se hackee la PS3 o no, o de si son ellos mismos. De verdad, habeis inundado ya muchos hilos de mierda con lo mismo, algo que aquí no he mencionado que se debata, pero siempre salen los mismos a debatir la misma tontería.

Aún con todas las respuestas UTILES que se han dado, me sigue sin quedar claro la forma de encontrar un bug. Quiero decir, que en una consola, que es un sistema cerrado e idéntico para todo el mundo (a nivel de arquitectura), pues si se encuentra un bug, ya sirve para todas las consolas. Pero en los juegos es diferente, hay cientos de ellos, y me sigue extrañando por ejemplo el caso del Lumines de PSP que ya comenté antes. ¿Como alguien pudo encontrar un bug (exploitable y para firmwares avanzados) después de 2 o 3 años de la salida del juego? ¿De repente le dió por mirar el código fuente de un juego que tenía en la estantería muerto de risa?
A lo que voy es: ¿Los juegos con algún bug dejan algún tipo de indicador o rastro a la vista para los que saben programación?
Y no, NO DISCUTIMOS si Sony se tira piedras contra su propio tejado, así que dejadlo ya. Yo no creo que Sony sea la que filtre los bugs (quizá algún empleado descontento, pero no la propia Sony), y por lo tanto, me sigue resultando "curioso" que con un catálogo de cientos de juegos de PSP, se encontrasen bugs en 2 juegos (GTA y Lumines), cuando dudo mucho que hayan mirado el código fuente de cada uno de los juegos del catálogo de PSP. ¿Chiripa? ¿Intuición? ¿A juego más complejo (GTA), mayor posibilidad de que se hayan dejado una puerta abierta?

Un saludo y gracias a los que respondeis sobre lo que pregunto, y no sobre las mismas mierdas de siempre de los trolls.
Ojobenito escribió:[...]me sigue resultando "curioso" que con un catálogo de cientos de juegos de PSP, se encontrasen bugs en 2 juegos (GTA y Lumines), cuando dudo mucho que hayan mirado el código fuente de cada uno de los juegos del catálogo de PSP. ¿Chiripa? ¿Intuición? ¿A juego más complejo (GTA), mayor posibilidad de que se hayan dejado una puerta abierta?
[...]


Primero, yo no lo consideraria una puerta abierta. Esto da sensación de que es un regalo que se deja a propósito.
A mi parecer son errores humanos(ni siquiera errores, mas bien son cosas que no se tienen en cuenta al programar) En los juegos de consolas tiene la repercusión de que con el exploit adecuado consigues resultados "interesantes". Pero si te dedicaras a examinar el código de todas las aplicaciones , encontrarías montones de bugs.
Claro que si encuentras un fallo en el buscaminas o en la calculadora de Windows, poco conseguirías, pero errores seguro que tienen.
Mira como en los navegadores (explorer,firefox,...) o en procesos sensibles del sistema están saliendo constantemente ataques y parches. Raro es el día que no tienes actualizaciones en Windows Update. ¿ qué lógica aplicamos entonces siguiendo a los que dicen que a Sony le interesa dejar bugs para que sus consolas se pirateen ? Según esta gente a Microsoft le interesa que sus sistemas sean vulnerables, para que el quiera montar un negocio seguro no le interese comprar Windows y ponga otro S.O.
Si te vas a Unix, practicamente todos los procesos sensibles del sistema (passwd, ping, traceroute ,...) han tenido en algún momento un exploit para conseguir acceso como root. Ahora esas aplicaciones están parcheadas y es mas raro encontrar algo. Pero las primeras versiones se programaron pensando en que funcionasen, no en que nadie las iba a atacar. Con los juegos igual, el que programa piensa que se va a ejecutar en una consola , donde en principio no se puede meter mano, asi que para que perder el tiempo programando un proceso super-seguro que compruebe que no lo han "manipulado".

Preguntas por que GTA o Lumines. Quizás porque eran juegos que se vendían. Si yo me aburriese y quisiera buscar un bug, no me compraria un juego para trastear, usaria alguno que tuviese. O si me lo compro, seria uno que me gustase, por si acaso poder aprovecharlo para jugar si no encuentro nada.
De todos modos, no tienes porque examinar todo el código de cada juego buscando fallos, solo te interesa buscar por donde luego tengas posibilidades de explotar algo (lectura de ficheros, conexiones a inet, etc. )

Preguntas por que tardan 2 años. Al salir la consola , al principio no se sabe nada de como funciona, cual es el API, como lanzar ejecutables caseros, ... Pasa tiempo hasta que la gente controla el tema, y sin esto no puedes avanzar nada.
En el caso de PS3, olvidate de que alguien encuentre un bug por ingenieria inversa, ya que los ejecutables están encriptados. Como mucho encontrarán cosas del estilo de si cambio este archivo en un .pkg , cuelgo la consola.
Si aún así, encuentras algo ¿ cómo haces código para el exploit que consiga lo que tu quieres (pasar a modo kernel, imprimir "Hola Mundo" en la pantalla", ...) si no se tiene ni idea de que pinta tiene un ejecutable de PS3 ni de que llamadas al sistema hay ?

Si de verdad quieres saber como se encuentra un exploit, mira el código de exploits clásicos y verás por donde suelen atacar.
Aun me recuerdo de la ayuda que nos dio SEGA en la Gamecube con Phantasy Star Online:D
(eso de no parchar el bug que existia en el PSO de Dreamcast, fue a proposito :p )
Lo del GTA de PSP es muy simple, el exploit lo programó originalmente un hacker de la scene de "cheats" de la saga GTA conocido como Edison Carter, famoso por descubrir la mayoría de los trucos de GTA San Andreas de Ps2 revisando el código interno del juego y de las partidas guardadas, todo por ingeniería inversa.

siguiendo esta pauta y usando su amplio conocimiento del código de Rockstar Games y trasteando con partidas guardadas del juego de PSP descubrió un bug de buffer overflow, el cual increíblemente no hizo público, en cambio lo utilizó para desarrollar una pequeña aplicación para hacer trampas para el propio Liberty City Stories conocida como Edison Carter's CheatDevice. (en realidad mas que una aplicación eran los archivos de una partida guardada modificados )

Evidentemente después de hacer esto dejó la puerta abierta para que otra gente reprogramara el exploit y lo convirtiera en uno usable para cargar código no firmado usando el juego.

en el caso de Lumines, entiendo que quienes lo descubrieron buscaron el mismo bug que descubrió Edison Carter. a puro ensayo y error lo encontraron en Lumines, tal vez haya mas juegos con el mismo fallo aunque ahora mismo esto es irrelevante.

espero que se entienda.

por cierto, no puedo creer que aún haya gente que piensa que las compañías filtran bugs para programar exploits, eso es totalmente absurdo.

saludos!
pues ya podrÍan despedir a alguien de sony y que este encubra la carga de backups atribuyendola a un bug o ha algo que se le ocurra, vamos, a mi me despiden y es lo primero que pienso hacer...xD
mariets escribió:pues ya podrÍan despedir a alguien de sony y que este encubra la carga de backups atribuyendola a un bug o ha algo que se le ocurra, vamos, a mi me despiden y es lo primero que pienso hacer...xD


exponiendote a la correspondiente denuncia? no creo ke sea tan facil :)
simplemtente con no ser tu quien saques las cosas y se lo envies a un amigo experto en la materia ya complica bastante la denuncia
Vuelven a sacarse las cosas de contexto.

Conviene aclarar cosas. Si Sony es la encargada de sacar bugs a la luz para tener mas ventas es algo que jamás podremos saber, como mucho podremos sospecharlo. Así que es bueno que cada uno tenga su opinión propia. La mia es que si, Sony está detras de todo. Al igual que las operadoras de TV por satelite estan detras de las compañias responsables de los aparatos compatibles con firmwares "abiertos".

Dejando de lado esa minucia. Lo que realmente se quiere saber es:

- Estamos jugando a un juego y... "He mira un bug"

¿Es así de facil? ¿Como te decidirias por que juego escoger para encontrar un bug?

Desde mi humilde experiencia, me atreveré a dar mis opiniones.
"He mira un bug" no lo va a decir nadie. Puedes encontrar fallos gráficos, fallos de programación en menus, desfases, etc. Pero nada de eso te permitirá encontrar un Bug Exploitable. Si buscas algo que exploitear necesitas partir de una premisa: "Comunicación con el almacenamiento de la consola u otro tipo de comunicación con el exterior". En PS3 puedes probar a encontrar fallos en el guardado, en las conexiones de red, en la conexion con otros dispositivos. De esta manera siempre puedes probar con multitud de juegos y aplicaciones. Nada de lo expuesto aquí es nuevo. Sois muchos los que ha habeis hecho mención a esto. Aparte también habeis dicho que el sistema de encriptacion (codificación) de los archivos son una traba dificil de solventar por lo que yo diria que buscar un exploit en un juego no va a ayudarnos.

Si la duda era como saber donde empezar para encontrar un bug exploiteable y como saber en que juegos están. La respuesta está dicha. No se sabe, se busca.

Hace poco oí hablar de un grupo de personas que estaban, mediante hex, intentando usar un fichero de actualizacion en formato UPDATE.PBP (si no me ekivoco) para intentar meter el firm debug intentando engañar a la consola cambiando los datos de la cabecera del archivo que es donde se indican los ficheros que van a instalarse. Digamos que ellos buscan un "bug" pues si la consola se traga el invento será por que alguien metió la pata dejando la consola abierta para usar el firmdebug. Pero no saben con certeza si existe tal bug o no. Conclusión: uno busca un camino y trata de usarlo, si no lleva a ninguna parte busca otro camino y repite el proceso.

A mi no me inquieta demasiado saber como encontrar un bug exploitable. La posibilidad de encontrar uno de ver minima. Y para mi, solo Sony dirá por donde pasar cuando tenga que decirlo.
Un exploit no se encuentra, se programa.

Lo que se encuentra es el bug.
ErDaByz escribió:Un exploit no se encuentra, se programa.

Lo que se encuentra es el bug.


No es por faltar... pero eso no se dijo antes? Bueno en definitiva tienes toda la razón lo que se busca es el bug.
Se20 escribió:
ErDaByz escribió:Un exploit no se encuentra, se programa.

Lo que se encuentra es el bug.


No es por faltar... pero eso no se dijo antes? Bueno en definitiva tienes toda la razón lo que se busca es el bug.


Lo siento, no me leí el resto del hilo.
27 respuestas