Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Flamer en 6 Mayo 2017, 05:10 am



Título: Resolviendo El Crackme 3 De EnigmaGroup Con IDA-Pro
Publicado por: Flamer en 6 Mayo 2017, 05:10 am
Anteriormente había dicho que no haría tutorial de el crackme 3 de EnigmaGroup pero como trato de aprender IDA are una excepción y resolveré el crackme con IDA-Pro.

bueno si no tienen el crackme lo pueden descargar desde su pagina oficial esta:

https://www.enigmagroup.org/pages/cracking

ahora ya que descargaron el crackme pasaremos abrirlo con IDA, pero una cosa muy importante antes de intentar crackear un programa con IDA deben de saber si el programa o crackme es de 32 o 64 bits.

una solución para saber si el crackme es de 32 o 64 bit es abrirlo con el RDG Detector, así que ami al abrirlo con el me sale la siguiente imagen

(https://2.bp.blogspot.com/-hUhDdCzUfzw/WQ0fcy_ihEI/AAAAAAAABeE/vFyukwrOrjAlLlYwuEx6k_MMkIPAY3GtgCLcB/s1600/Sin%2Bt%25C3%25ADtulo.png)

y como ven donde esta marcado de rojo dice que es de 32 bits, asi que al abrirlo con IDA lo abriremos con IDA 32 bits que es esta.

(https://2.bp.blogspot.com/-IYXQxExTEGQ/WQ0gCzinA2I/AAAAAAAABeM/TLGO-6gBw1Uof6KsTlDon37GDdFH6Q8YgCLcB/s1600/Sin%2Bt%25C3%25ADtulo.png)

para los que no saben IDA te instala 2 versiones por eso es muy importante saber que versión es el programa que queremos reversear.

A continuación nos aparecerá una pantalla la cual daremos clic en New

(https://2.bp.blogspot.com/-qfwT9HZC8lM/WQ0hKBsYizI/AAAAAAAABeU/pjOPZsZu7s45AZrNUSGREsasSsd4hek0ACLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

acto seguido ubicaremos el crackme 3 de enigma group, el cual yo lo tengo en la carpeta descargas

(https://2.bp.blogspot.com/-cVausNmVxs8/WQ0h9RUu8wI/AAAAAAAABec/c3DYk4WIu9EJt36EwXGKNr_ux175HUzQgCLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

después damos clic en abrir y se abrirá la siguiente ventana donde seleccionamos la primera opción y damos clic en OK

(https://2.bp.blogspot.com/-iyU6aAkEtmk/WQ0ilOvUTAI/AAAAAAAABek/QdNXjSGMe-A05yJqNHXwCdgwvJbGnArZACLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

bueno ya con esto tendremos el crackme abierto y listo para crackear así que primero buscaremos en las apis que utiliza el crackme para comparar los seriales y para eso nos iremos ala pestaña Imports y nos muestra lo siguiente

(https://1.bp.blogspot.com/-fSepT3ZTDL8/WQ0kB0aNCiI/AAAAAAAABew/EQqXXESNIFEwd16xPCUivxkjjoidX1rqACLcB/s400/Sin%2Bt%25C3%25ADtulo.png)

Como ven utiliza la misma api que en los crackmes anteriores.

bueno una cosa muy importante no se asusten ya que IDA es mas extenso y laborioso que ollydbg, ya que tiene mas instrucciones pero poco a poco iremos aprendiendo ya que yo todavía no lo domino y una de las cosas que extraño de el ollydbg que no distingo las instrucciones de otras ya que en el desensamblado que mas adelante les presentare, todas las instrucciones tienen el mismo color y no se distinguen a simple vista tengo que seleccionarlas y para eso ando fijando mucho la vista en fin ojala en versiones futuras mejoren eso.

ahora para no andar buscando en el desensamblado la api  __vbaVarTstEq haremos lo siguiente, nos iremos a la pestaña IDA View-A  que es la que nos muestra el desensamblado del programa

(https://1.bp.blogspot.com/-iiTKumHFRxw/WQ0nuXD8dvI/AAAAAAAABfU/6tJ8Pot9ZiwoJInMjmTIbm9qhK5PEP3RQCLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

y como verán es muy distinto a el ollydbg pero como dije no se asusten que todo tiene remedio, bueno ya que estamos aqui nos iremos al icono siguiente

(https://2.bp.blogspot.com/-DMzhfm2QGP0/WQ0oaYDX-TI/AAAAAAAABfc/UOjclbCJqjwA3azfbqPja022HGS1DJBhgCLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

también pueden dar clic en la pestaña Search y buscar la opción Text la cual tiene el mismo icono que seleccionamos.

a continuación muestra la siguiente ventana

(https://3.bp.blogspot.com/-mUlaYEEgjXc/WQ0pDy0BxqI/AAAAAAAABfk/Y6EQhz4gTeUz0V8GyosoK6fohDk8iGKfQCLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

y escribimos el nombre de la api que deseamos encontrar y marcamos las mismas instrucciones y al ultimo presionamos OK

después de esto se abrirá una nueva pestaña donde nos muestra las direcciones donde se utiliza dicha api, así que yo ubique el call donde se hacen las comparaciones de las cadenas el cual para eso fui analizando cada resultado que me dio la búsqueda y es este

(https://4.bp.blogspot.com/-WLIFBiKwHlg/WQ0qrzGMKyI/AAAAAAAABfw/1c5HpPumqrcOhc03uGIwoogaL9V7BtVegCLcB/s400/Sin%2Bt%25C3%25ADtulo.png)

para irnos a esa dirección solo damos clic sobre el y nos redirige hasta esta ubicación

(https://1.bp.blogspot.com/-G7YrYYHONyU/WQ0rpKTgCNI/AAAAAAAABgE/VMQsjrru2qIgf4qTVYLY7T31XgwlWORpgCLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

Asi que ya tenemos ubicado donde compara las string, asi que para eso pondremos un break-point y tracearemos con F7 igual que ollydbg y para eso solo damos clic al circulo azul de esa linea hasta que se haga rojo y nos marque la linea asi

(https://4.bp.blogspot.com/-B2CQfB4qyw0/WQ0s7O4JMsI/AAAAAAAABgM/JwxczerRPiY_0Lw6hSXv_Vkes0WGVKG-QCLcB/s400/Sin%2Bt%25C3%25ADtulo.png)

y ahora pasaremos a ejecutar la aplicación con F9 y si les aparece la siguiente ventana seleccionamos la siguiente opción

(https://3.bp.blogspot.com/-jG9_pgV5lOU/WQ0uDlomX6I/AAAAAAAABgU/pqq9EPdQ6-UPlnVXiROfrYT4ru7iIvosQCLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

Damos OK y por ultimo volvemos a presionar F9

Ahora si nos aparece la ventana del crackme y así que ingresaremos la contraseña que sea, yo ingresare "123456" y presionamos el botón submit

(https://1.bp.blogspot.com/-rL-uyolZiYU/WQ0u-uAIyzI/AAAAAAAABgc/y7klomGbl4w1rtl9cEwA2zdf-xzlyIEZACLcB/s1600/Sin%2Bt%25C3%25ADtulo.png)

al presionar el botón el programa se detiene justo en el break-point que pusimos este

(https://2.bp.blogspot.com/-sy5JSI669r4/WQ0vtftLJNI/AAAAAAAABgo/HuM4ban4MxwkmU1sc5_2lxJUUSOjDYjcQCLcB/s400/Sin%2Bt%25C3%25ADtulo.png)

ahora presionaremos F7 para ingresar en el CALL e ir revisando la pila o stack

Nota: para ir revisando que es lo que se encuentra en el stack iremos dando clic sobre las instrucciones que digan Debug como estas

(https://4.bp.blogspot.com/-_cjKvcS5yEg/WQ0xBq5DS7I/AAAAAAAABg0/BOn3urv2Zh86p2xzKTgF3bT91LhohTbJwCLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

y el contenido es mostrado en la sección del DUMP

Bueno asi que al tracear con F7 e llegado a la siguiente sección

(https://2.bp.blogspot.com/-qNnmUMBTWH0/WQ0yUkidrvI/AAAAAAAABhI/OXuDvINIO9kD6B8Nj0cUb6s_DhRELdXiACLcB/s400/Sin%2Bt%25C3%25ADtulo.png)

y al pararme en esta linea reviso el stack o pila y veo que me muestra lo siguiente

(https://3.bp.blogspot.com/-VsrubRMIFWY/WQ0y1lSQ4PI/AAAAAAAABhM/CEs4f4oihOwK63i1V_9MfbQGD7FMFZPOgCLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

y presiono sobre la primera y me muestra lo siguiente en el Dump

(https://3.bp.blogspot.com/-Ld4iGkhOjPg/WQ0zkfwSqTI/AAAAAAAABhU/X6c8TWD8HyAE_1LLncS4o17ssL-OqejdgCLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

ahora presiono la segunda

(https://1.bp.blogspot.com/-7A-q8dlMQN4/WQ00NOGe8CI/AAAAAAAABhc/Q0LHxkeq3Q0sEDLCXokPjq-F3GSOfmWZgCLcB/s320/Sin%2Bt%25C3%25ADtulo.png)

y guala la clave es "Debug54321" y al ingresar esa clave en el crackme me muestra lo siguiente

(https://3.bp.blogspot.com/-bT7uJFGLZkE/WQ00nd4A42I/AAAAAAAABhg/yGWSMutn-ysFaGyQVeoXLG4GYx5d8n48ACLcB/s1600/Sin%2Bt%25C3%25ADtulo.png)

Bueno eso es todo amigos espero les haya gustado

Saludos Flamer