Como programan los "hackers" ?

Muy buenas a todos, cuando algun team o alguien consigue ejecutar codigo no firmado en alguna videoconsola nueva como saben en que lenguaje o como tienen que programar su programa xD

Saludos y gracias de antemano
De forma general el primer paso sería detectar las medidas de seguridad de la máquina, hacer ingeniería inversa y jugar con el trasto para entender qué ocurre en él. Lo siguiente sería empezar a pensar maneras para evitar esas medidas de seguridad, buscar cualquier tipo de solución tocando la electrónica, aprovechando agujeros o lo que sea. Una vez con eso la creación del programa en sí es lo de menos, si apenas se tiene documentación y la máquina cuenta con CPUs y arquitecturas exóticas podrá costar más aprovecharla pero nada más, tiras de un ensamblador o compilador cruzado y ya tienes tu ejecutable.

No sé si es eso lo que preguntabas.
bas escribió:De forma general el primer paso sería detectar las medidas de seguridad de la máquina, hacer ingeniería inversa y jugar con el trasto para entender qué ocurre en él. Lo siguiente sería empezar a pensar maneras para evitar esas medidas de seguridad, buscar cualquier tipo de solución tocando la electrónica, aprovechando agujeros o lo que sea. Una vez con eso la creación del programa en sí es lo de menos, si apenas se tiene documentación y la máquina cuenta con CPUs y arquitecturas exóticas podrá costar más aprovecharla pero nada más, tiras de un ensamblador o compilador cruzado y ya tienes tu ejecutable.

No sé si es eso lo que preguntabas.


Jajaja pues mas o menos si pero si me explicas mejor que es eso del compilador/ensamblador cruzado y asi me aclaro mejor.
Gracias de antemano : D
bas escribió:De forma general el primer paso sería detectar las medidas de seguridad de la máquina, hacer ingeniería inversa y jugar con el trasto para entender qué ocurre en él. Lo siguiente sería empezar a pensar maneras para evitar esas medidas de seguridad, buscar cualquier tipo de solución tocando la electrónica, aprovechando agujeros o lo que sea. Una vez con eso la creación del programa en sí es lo de menos, si apenas se tiene documentación y la máquina cuenta con CPUs y arquitecturas exóticas podrá costar más aprovecharla pero nada más, tiras de un ensamblador o compilador cruzado y ya tienes tu ejecutable.

No sé si es eso lo que preguntabas.

entonces hay que hacer un lenguaje de programación propio para cada consola? Es decir, hacer ingenieria inversa, ver como funciona, y a partir de ahi, hacer un lenguaje de programación exclusivo para dicho aparato?
Namco69 escribió:
bas escribió:De forma general el primer paso sería detectar las medidas de seguridad de la máquina, hacer ingeniería inversa y jugar con el trasto para entender qué ocurre en él. Lo siguiente sería empezar a pensar maneras para evitar esas medidas de seguridad, buscar cualquier tipo de solución tocando la electrónica, aprovechando agujeros o lo que sea. Una vez con eso la creación del programa en sí es lo de menos, si apenas se tiene documentación y la máquina cuenta con CPUs y arquitecturas exóticas podrá costar más aprovecharla pero nada más, tiras de un ensamblador o compilador cruzado y ya tienes tu ejecutable.

No sé si es eso lo que preguntabas.

entonces hay que hacer un lenguaje de programación propio para cada consola? Es decir, hacer ingenieria inversa, ver como funciona, y a partir de ahi, hacer un lenguaje de programación exclusivo para dicho aparato?


No creo que cada máquina tenga su lenguaje,sería una locura, la mayoría serán C o C++. Supongo que alguien se currará un SDK libre y ahí ya empezar a programar.
Muchos de ellos compran maquinas " DEV " en algunos foros para poder trastear mejor también :)
Namco69 escribió:
bas escribió:De forma general el primer paso sería detectar las medidas de seguridad de la máquina, hacer ingeniería inversa y jugar con el trasto para entender qué ocurre en él. Lo siguiente sería empezar a pensar maneras para evitar esas medidas de seguridad, buscar cualquier tipo de solución tocando la electrónica, aprovechando agujeros o lo que sea. Una vez con eso la creación del programa en sí es lo de menos, si apenas se tiene documentación y la máquina cuenta con CPUs y arquitecturas exóticas podrá costar más aprovecharla pero nada más, tiras de un ensamblador o compilador cruzado y ya tienes tu ejecutable.

No sé si es eso lo que preguntabas.

entonces hay que hacer un lenguaje de programación propio para cada consola? Es decir, hacer ingenieria inversa, ver como funciona, y a partir de ahi, hacer un lenguaje de programación exclusivo para dicho aparato?


usar un compilador cuzado no significa usar lenguajes distintos, eh? xD Lo que sí vas a tener es un SDK distinto, por lo tanto funciones, llamadas a sistema, etc distintas.
Por favor, modifica el hakcers XD
Esto no valdría exactamente para "hackear consolas" pero parte de la base teórica es común, en lo que respecta a capturar flujos de datos a los que hacer ingeniería inversa.

"OpenVizsla" Open Source USB Protocol Analyzer

Es un proyecto de hardware creado por bushing, el pionero en el hackeo de wii, mediante el cual se pretende facilitar "el hackeo" de aparatejos que transmitan datos por usb.

No es exactamente lo mismo pero si miras el vídeo y las descripciones puedes seguir haciéndote una idea más aproximada de cómo se trabaja con estos temas.
PedroDJavier escribió:Muy buenas a todos, cuando algun team o alguien consigue ejecutar codigo no firmado en alguna videoconsola nueva como saben en que lenguaje o como tienen que programar su programa xD

Saludos y gracias de antemano


No se a que viene esto, pero primero cuando estas trasteando con alguna consola u otra cosa, tienes que tener conocimientos de lo que estas mirando.

Te hare una analogia por ejemplo una batidora, le buscas y vez que su "vulnerabilidad" es que utiliza tornillos torx, bueno pues vas y te pillas un destornillador torx, la abres y vez que tiene un potenciometro y varios interruptores, y tu lo que quieres que solo tenga uno, pues vas y te pillas unas pinzas y cables y haces el arreglo.

Lo mismo el hacker (o el cracker). de programacion pues..... no es que los hackers anden por ahi paseando con su c++ en su portatil. un "hackeo" puede ser tan simple como escribir unas lineas en ciertos archivos del block de notas de windows por ejemplo.

Besos
Vamos que sabiendo C / C++ y un compilador cruzado y muuucho tiempo + ingeniería inversa ya esta no ?
PedroDJavier escribió:Vamos que sabiendo C / C++ y un compilador cruzado y muuucho tiempo + ingeniería inversa ya esta no ?


pues no. depende del trabajo que vas a realizar.

Besos
Nosomi escribió:
PedroDJavier escribió:Vamos que sabiendo C / C++ y un compilador cruzado y muuucho tiempo + ingeniería inversa ya esta no ?


pues no. depende del trabajo que vas a realizar.

Besos


Pues por poner un ejemplo la nintendo 3ds que tiene un exploit :/ (en 4.1-4.5)
No es sencillo y con mucho tiempo y esas cosas no vale, tienes que saber mucho.

Por ejemplo, la Wii, para hackearla con el método del Zelda, se aprovecharon de un buffer overflow. Después de pegarte una currada padre con el sistema y localizar que tiene ese fallo, empiezas a intentar explotarlo, a nivel de código máquina.

No es algo que "con estas herramientas" ya se hace.
Lo mejor es buscar la ayuda de Acid Burn
Huele a pregunta para trabajo de clase...
Paco20011 escribió:No es sencillo y con mucho tiempo y esas cosas no vale, tienes que saber mucho.


Lo de tiempo yo lo digo por que es primordial, si quieres hasta paciencia. Lo de tienes que saber mucho pues es relativo, puedes mirarlo simplemente en las paginas de aqui, alguno se parovecha de la biblioteca de tal, alguno hizo la aplicacion tal y otro la usa o la prueba cosas y asi.

Lo que si tienes que tener es conocimientos firmes y el empeño para hacerlo, pongamos el ejemplo de Edison cuantos alambritos de metal fundio para darnos la bombilla. pues el saber te lo da ese mismo esfuerzo cada hacker con cada trabajo sabe un poco mas, no es como la TV que hacen el hacking por que ya saben hacerlo.

Muchas gentes tienen doctorados y muchas cosas y no hacen nada en su vida, Yo me se de cierto Yesero que se la curra o curraba enserio (Hermes, deben haber oido de el), yo incluso para el mediaplayer (PS2Reality)tuve que pedir a un chico que me ayudara lo digo con cierta verguenza se Llama Victor (le agradezco mucho), hace algo de Tiempo por que yo le descargaba ponia y no funcionaba, pensaba que deberia ser algo muy complicado y hacia cosas que no debia hacer [carcajad] [carcajad] [sonrisa] [ayay] , juas solo en tres pasos salio la cosa, como me dijo [+risas], grandes cosas y pequeñas cosas de la vida.

Besos
Con lo de conocimientos me refería a hacerlo por tí mismo, no a usar cosas que hay ya hechas. Vamos, a hacerlo de 0. Es un currazo de la leche.

Claro está que puedes aprovechar librerías y exploits de otras cosas que con 3 cambios te pueden funcionar en una consola nueva, etc... por ejemplo para la Wii usaron lo de GC.
C? C++? los hackers de verdad usan el lenguaje de programación universal, los 0's y los 1's!! XD
Nah, conociendo el procesador que tiene la máquina, ya puedes tirar de ensamblador tranquilamente, si solo conoces lenguajes de "alto" nivel, tipo C, C++ y demás... mira el ensamblador como un lenguaje que se maneja a nivel de componentes hardware de la CPU. Hay que ser muy friki para que te guste el ensamblador... (si, que pasa, a mi me gusta programar en ensamblador, es una enfermedad como otra cualquiera XD).

A parte del lenguaje, para empezar, mucha de esta gente se dedica a putear a la consola a golpe de pulsos eléctricos, bit va y viene, con una FPGA, para buscar vulnerabilidades. Hace un tiempo leí como un hacker se salto la seguridad de una consola, creo que era Dark_Alex explicando como accedió a la PSP, no estoy muy seguro, y créeme que el procedimiento que siguió no se le ocurre a cualquiera en 5 minutos, lleva muchísimo trabajo.
20 respuestas