Ingeniería Inversa BASICA


Al paracer la inspiracion me llega en los ultimos dias de la semana jeje, en esta ocacion el dia de ayer jueves en la clase de programacion el profesor nos dio una introduccion a los metodos de seguridad, como sabran se hablo de lo viejo y basico; MD5, SHA1, metodos de encryptacion, de hasheo, y ofuscacion.
Continuamos la clase realizando una practica en la que empleábamos el uso de hash en diferentes motores de bases de datos, mientras asíamos eso recordé el hermoso mundo de la ingeniería inversa y lo grande que es ese tema y lo indispensable que es conocerla desde el lado "black hat".

Así que decidí compartir este pequeño pero muy buen post en el que se da muestra y practica de un pequeño digamos "tutorial" en el que se da paso a paso como realizar un básico Crackeo a una aplicación que desea validar un serial.


Lo que vamos a crackear en este post es una crackme, el cual para todo aquel que desee practicar pueda hacerlo siguiendo los mismos pasos, aquí  pueden bajar el crackme:

https://skydrive.live.com/#cid=1A68731A91386F4B&id=1A68731A91386F4B!114

Bien,  para hacer este tipo de crackeo hay varios tipos de programas, como por ejemplo:  OLLYDBG, W32DSM, INMMUNITY DEBUGGER, yo particularmente voy a hacerlo con el último, ya que es el que más me gusta, pero deben de saber que en el caso de OLLYDBG, el proceso es el mismo, bien, una vez ya tenemos nuestro programa para debuggear (desensamblar) y nuestro crackme (programa para crackear) comenzamos con  la operación.

-Lo 1º que haremos será abrir el programa que vamos a crackear  y una vez nos pide el serial para activarlo ponemos lo que queramos, en este caso yo he puesto 123456 y le damos a entrar:



- Una vez introducido el serial o la clave errónea, nos advertirá con una ventanita en la cual nos dará el mensaje de error diciéndonos que ese no es el serial, lo que hacemos será copiar el mensaje que muestra esa ventana:



Como podemos observar, el mensaje que este nos da es: key is wrong, bien una vez tenemos ya el mensaje copiado procederemos a abrir nuestro debugger  y una vez abierto vamos a la pestaña file o archivo y seleccionamos abrir u open y seleccionamos el programa que vamos a  crackear, que en este caso es el crackme:





Ahora nuestro debugger automáticamente nos abrirá  y desensamblara nuestro crackme o programa, bien una vez hecho esto, haremos click derecho y se nos abrirá una ventana, ahí haremos click sobre search for y posteriormente sobre all referenced text strings,  con esto último se nos abrirán todas las referencias de las cadenas de texto que contiene nuestro programa o crackme:



Bien, una vez hecho esto, lo que hacemos es buscar en el debugger el mensaje de error que anteriormente nos dio el  crackme, que era key is wrong y una vez localizado hacemos un doble click sobre el:



Bien, una vez  hecho el doble click sobre el,  lo que hacemos será buscar el mensaje que nos de paso, el ok al programa y una vez localizado, que en este caso es key is ok lo que haremos será copiar el nº que figura a la izquierda del todo:



Una vez localizado el número lo que haremos será buscar el mesaje anterior de error y haremos un  doble click sobre la zona donde pone push seguido de crackme1 y un numero y automáticamente se nos abrirá una ventana en la que deberemos introducir lo siguiente:

JMP SHORT 0041660
Y pulsamos sobre la pestaña assemble, de este modo lo que estamos haciendo es crear un salto, desde el  mensaje de error(key  is worng) hasta el mensaje del ok (key is ok) para que lo entendamos, con la orden JMP SHORT lo que le estamos diciendo al programa es que cuando llegue al mensaje de error, salte directamente al ok, de esta forma creamos el salto:



Como podemos observar ya se ha creado el salto, así que cada vez que ejecutemos nuestro programa, se saltará la restricción:



Hasta aquí todo bien, pero ahora para que este efecto quede permanente hay que proceder a guardarlo y para poder guardar los cambios haremos click derecho y se nos abrirá una ventana, en ella seleccionamos donde pone copy to executable y posteriormente en donde pone selection:



Una vez hecho esto veremos como se nos cambia y se nos desorganiza todas las ventanas dentro del debugger,pues bien, esto es normal no se asusten jajaja,  ahora lo que haremos será situarnos encima la primera ventana y haremos un click derecho  y seleccionaremos save file  y después solo nos queda decirle donde queremos que nos guarde el programa (aconsejado guardarlo en el mismo lugar donde estaba para que funcione :) :





Pues ahora solo queda probarlo, así que lo que haremos será abrir nuestro crackme o programa ya crackeado y una vez nos pida el serial o la clave, ponemos lo que nos dé la gana, que en mi caso es 123456 y le damos a entrar, podemos ver en la imagen que el crackem en este caso ya está crackeado:

Bien chic@s, pues esta es la base para crackear un programa, evidentemente, los hay mucho más complicados y avanzados pero todo a su tiempo, espero que le ayudara esta info en su crecimiento de conocimientos :)