¿Por qué es posible hackear?

Iniciado por Tachikomaia, 19 Septiembre 2020, 03:46 AM

0 Miembros y 2 Visitantes están viendo este tema.

Tachikomaia

Hay una computadora que te permite hacer dependiendo de su interfase, la cual no dice "cambiar arma por la más poderosa del juego", por ejemplo. No entiendo cómo es posible hackear ni qué tipo de hackings hay, esto último lo digo porque he escuchado que se puede tomar el control de la computadora, aunque me parece imposible o inexplicable, ilógico.

Gracias por la info.

MinusFour

Depende de tu definición de "hack". Yo creo que te refieres a aprovechar vulnerabilidades. Es posible "hackear" porque no existe tal cosa como seguridad absoluta. Al menos es mi teoría no lo puedo demostrar.

@XSStringManolo

Cita de: Tachikomaia en 19 Septiembre 2020, 03:46 AM
Hay una computadora que te permite hacer dependiendo de su interfase, la cual no dice "cambiar arma por la más poderosa del juego", por ejemplo. No entiendo cómo es posible hackear ni qué tipo de hackings hay, esto último lo digo porque he escuchado que se puede tomar el control de la computadora, aunque me parece imposible o inexplicable, ilógico.

Gracias por la info.
El juego puede que esté escribiendo en el disco duro las armas de tu inventario. Puedes acceder al archivo en tu disco duro y cambiar el id de un arma de tu inventario por otro id de otra arma.
Pasa lo mismo con la memoria RAM o los datos que se envían y reciben por internet.

Se puede tomar control de la computadora de muchas formas. Con el uso normal que le das al PC estás utilizando millones de líneas de código todos los días. No es raro que muchas de ellas estén mal echas. A veces se encuentran esos errores y se utilizan para controlar la computadora.

el-brujo

¿hacks en juegos? Los "cheats" en juegos siempre han existido xD

Se trata de buscar alguna vulnerabilidad o fallo, que te permita hacer  trampas en el juego.

También es cierto que los anti-cheat han mejorado mucho y algunos sistemas deben ser realmente difíciles de saltar.

Recuerdo la época, (2014) en que MadAntrax escribía sobre el tema:

http://ns2.elhacker.net/Tutorial CheatEngine Avanzado - MadAntrax.zip

Eleкtro

#4
Cita de: el-brujo en 19 Septiembre 2020, 10:28 AM
¿hacks en juegos? Los "cheats" en juegos siempre han existido xD

Antaño ni siquiera hacian falta por que eran los propios desarrolladores quienes te ofrecian trucos, como el modo Dios, balas infinitas, códigos para pasar directamente a una pantalla del juego, etc...

Ahora todas las grandes compañías de la industria de los video juegos se rigen por la ley del mínimo esfuerzo (y con ello el máximo beneficio) y se limitan a hacer lo justito y ya para venderte un producto de mediocre calidad a un coste exagerado y para colmo lleno de macropagos, y cuando salen juegos en formato físico por supuesto estos ya no llevan ni manual de instrucciones como lo hacían antes, y ya es que por no llevar, muchos no llevan ni el juego, y en su lugar te encuentras un código para una descarga digital... dentro de la caja del juego, y lo mejor de todo es que ahora van a pasar a costar 80 pavos con la nueva generación de consolas.

Ahora los trucos los tienen que hacer los propios usuarios de manera completamente prohibida (en cualquier T.O.C de cualquier compañia desarrolladora habrá términos contra la ingenieria inversa de sus juegos) y además en juegos multi jugador los trucos están completamente penalizados hasta el punto de banearte / restringirte el acceso al juego a menos que te compres una nueva copia del mismo, lo cual no me parece mal siempre y cuando uno los esté usando en una partida multi jugador, el problema es que en juegos donde también ofrecen modo de 1 solo jugador existe el riesgo de ser baneado por usar un cheat...








Tachikomaia

"El juego puede que esté escribiendo en el disco duro las armas de tu inventario. Puedes acceder al archivo en tu disco duro y cambiar el id de un arma de tu inventario por otro id de otra arma.
Pasa lo mismo con la memoria RAM o los datos que se envían y reciben por internet."

Eso lo entiendo, yo uso gamesharks o algo de eso en Game Boy por ejemplo.

Lo que no entiendo es por ejemplo cómo podría cambiar un emoticón del foro. No existe la opción de hacerlo, e incluso si yo creara una orden de hacerlo, no tengo forma de hacerlo llegar, porque no existe un formulario digamos con el cual me vayan a hacer caso. Otra cosa es cargar la página y editarla, yo vería algo distinto, pero la realidad seguiría siendo otra.

@XSStringManolo

#6
Cita de: Tachikomaia en 20 Septiembre 2020, 02:01 AMLo que no entiendo es por ejemplo cómo podría cambiar un emoticón del foro. No existe la opción de hacerlo, e incluso si yo creara una orden de hacerlo, no tengo forma de hacerlo llegar, porque no existe un formulario digamos con el cual me vayan a hacer caso. Otra cosa es cargar la página y editarla, yo vería algo distinto, pero la realidad seguiría siendo otra.
La web no funciona mágicamente. Tu navegador habla con un PC diciéndole: GET foro.elhacker.net
Entonces el PC del foro(servidor) ejecuta un código PHP que genera un código HTML. Este código te lo manda al navegador. El navegador utiliza un parser y genera lo que ves en base al código.

Cómo podrías remplazar un icono del foro hackeándolo para todo el mundo viese el cambio?
Por ejemplo este icono: está alohado en la url https://foro.elhacker.net/Smileys/fantasmas/tongue.gif podrías cambiarlo por cualquier imagen, por ejemplo esta que está en la siguiente url https://google.com/favicon.ico

Existen muchos ataques que te pueden permitir hacer este cambio:
Inyección de HTML:
Imagínate que este texto que lees se intepretase en tu navegador como código HTML en lugar de como texto. Podrías llegar a comentar el link original inyectándole comentarios:
Código (html4strict) [Seleccionar]
<!--
<img src="https://foro.elhacker.net/Smileys/fantasmas/tongue.gif">
-->


Una vez comentado, no se vería el elemento comentado y podrías añadir el tuyo antes o después del comentario para que tu icono ocupe el lugar:
Código (html4strict) [Seleccionar]
<!--
<img src="https://foro.elhacker.net/Smileys/fantasmas/tongue.gif">
-->
<img src="https://google.com/favicon.ico">


Inyección de javascript:
Si este texto fuese interpretado por tu navegador como código javascript, podría obtener el elemento html y remplazarle el atributo src actual (el link al fantasma con la lengua) por el link al icono de google:
Código (javascript) [Seleccionar]
<script>document.querySelectorAll("img[src='https://foro.elhacker.net/Smileys/fantasmas/tongue.gif']")[0].src="https://google.com/favicon.ico"</script>

Manipulación de cabeceras:
Cuando tu navegador y el PC del foro establecen una comunicación, utilizan el protocolo HTTP (míratelo en wikipedia). El protocolo HTTP permite compartir información a través de cabeceras, por ejemplo el servidor te indica la fecha con:
Código (http) [Seleccionar]
date: Sun, 20 Sep 2020 07:24:02 GMT
* Puedes verlas con burp suite o con el comando curl -I https://foro.elhacker.net

Tanto tu navegador como el PC del foro se envían cabecerss, pero también lo haces con otros PCs que te indique el código del foro o las propias cabeceras. Por ejemplo para ver mi perfil en el foro estás haciendo una petición con cabeceras a youtube.com para ver la imagen de del video que puse de Queen.

A parte, el foro para optimizarse y protegerse no expone su PC directamente a ti, si no que tu hablas con cloudflare, y es él quien habla con el PC del foro. Podría ser que cloudflare tenga 3 Pcs distintos a los que envia la información y este último al foro. De esta forma para obtener la web están transmitiendo lo que tu mandaste entre varios equipos. Esto posibilita desincronizaciones entre ellos, sobre todo si el PC del foro estuviese mal configurado.
Existen 2 cabeceras distintas que pueden indicar donde empiezan las cabeceras. Si 2 de estos Pcs interpretaran el mismo mensaje de forma distinta, es decir, uno toma una cabecera como indicador, y otro toma la otra, esto te posibilitaría a engañar a los Pcs para que piensen que se acabó tu comunicación y empezó otra. Entonces, cuando otro usuario del foro pida la página, se van a juntar en el mismo Pc un trozo de tu petición (tus cabeceras) y la petición de otro usuario.
El resultado es similar al ejemplo del comentario de HTML.

Subida de archivos + Path traversal:
Si el foro te dejase subir archivos y crease un espacio para ti tal que:
https://foro.elhacker.net/Tachikomaia/nombreDeTuArchivo
Si no filtrase caracteres en los nombres de usuario, podrías crear una cuenta con el nombre ../
Si subieses un archivo llamado index.html el archivo estaría en: https://foro.elhacker.net/../index.html
Lo mismo pasa con el propio nombre del archivo, de una carpeta, de una sección del foro...
Asique otra vez más podrías remplazar el icono subiendo un nuevo index.html
Muchos defaces antiguos se producían así.

Inyección de php:
Si puedes subir imágenes o archivos con doble extensiones, por ejemplo miCodigo.php.jpg puedes engañar a filtros cutres y conseguir que se ejecute el código, por lo que tranquilamente puedes cambiar el icono por ejemplo metiendo otra vez javascript.

Inyección en la base de datos:
Si el código php está haciendo una consulta a la base de datos para obetener los enlaces de los fantasmas o esta es accesible de alguna forma (por ejemplo ssrf a la red interna) y no filtra bien las consultas, puedes modificar el enlace guardado y apuntarlo al icono de google.


MITM:
Se puede realizar de diversas formas. La más común es alguien en el wi-fi o un exploit del router. Si sabes que yo tengo un router vulnerable y el foro no tuviese las medidas de seguridad disponibles, tu podrías enviarme un link para cambiarme la IP del servidor DNS de mi router por la IPnde tu servidor DNS. Cuando yo intente entrar al foro, tu servidor DNS me enviaría a un servidor web imitando el del foro o al servidor real del foro. Esto te permitiría modificar el icono.

A parte de estas formas, hay muchísimas otras.
Si quieres aprender haz páginas de retos de hacking, lee libros, programa apps vulnerables, exploits, fixes...

PD: El formulario puedes crearlo tú en un .html o desde la consola (F12) y enviarlo al foro. Para ello debes revisar los parámetros que acepta el servidor mirando el código y las peticiones con el Burp Suite. Si estás en Android también puedes modificar la web actual a través de la barra de direcciones con el pseudoprotocolo.
El pseudoprotocolo es de lo que más uso yo para hacking web.