Solución examen 2 con ollydbg

Post on 20-Jun-2015

204 views 3 download

description

Solución examen 2 con ollydbg

Transcript of Solución examen 2 con ollydbg

CRACKEO BÁSICO INGENIERÍA INVERSASolución de Examen 2

Ollydbg

Bien, para hacer este tipo de crackeo hay varios tipos de programas, como

por ejemplo: OLLYDBG, W32DSM, INMMUNITY DEBUGGER, utilizaremos

OLLYDBG, ya que lo considero sencillo, pero debes 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.

Ejecutamos el crackme y nos aparecerá lo siguiente

Recordemos que los programas son conjuntos de operaciones aritméticas que se

ejecutan sobre la memoria.

A estas operaciones se acceden mediante una serie de saltos (ya sean

condicionales o incondicionales).

Si lo que quiero es obtener una salida distinta a la habitual, lo que debo hacer es

modificar el algoritmo, forzando una serie de saltos concretos. (Estudiando las

operaciones aritméticas y saltos que realiza la aplicación)

Tenemos una aplicación que parece contener una contraseña, pero no está

autorizada a mostrárnosla.

Abrimos la aplicación con Ollydbg y buscamos cadenas legibles, con el fin

de poder situarnos en el flujo que contiene la condición que nos niega

darnos la contraseña

Podemos ver la parte que devuelve la contraseña, pero esta enmascarada,

así que no aparece directamente, si no que en el momento de ejecución

cada %c, será sustituido por valores char.

Pulsamos doble clic sobre el y nos mandará a esa parte, además si nos

situamos sobre el “No puedo darte la clave”, y se desplegará una flecha,

que nos indicará desde que salto proviene la instrucción.

Nos posicionamos en el origen y vemos que pone JE, que significa “salta si

es equivalente”, entonces entendemos que hay una condición que esta

impidiendo que la aplicación nos de la contraseña.

Por lo tanto vamos a modificar JE por su antónimo: JNE, que significa “salta

si no es equivalente”.

Hacemos doble clic sobre el, lo modificamos y pulsamos Assemble:

Ahora que ya hemos modificado el algoritmo de la aplicación, pasamos a

probarlo: Pulsamos en Debug > Run (O directamente pulsamos F9)

Si deseamos guardar nuestro resultado hacemos el siguiente

procedimiento y no vez que modificamos el salto de equivalencia por uno

no equivalente seleccionamos el código que se muestra en la imagen y le

damos clic con el botón derecho y seleccionamos edit y copy to executable

Posteriormente nos aparecerá la siguiente ventana

En esa ventana le damos clic con el botón derecho del mouse y le damos

save file

Una vez salvado probamos nuestro archivo creado para comprobar que

realmente funciona de manera adecuada, en mi caso ejecuto crackme ok