Post115 nn

Resolver el reto Engendrito con el decompilador de DELPHI


41473879 681300015589328 2914457510192611328 n
Rafael Peru Crackers

Introducción

 

En este pequeño tutorial se procederá a realizar la solución de un Crackmes creado por AbelJM de Team PeruCrackers, de lo cual se usará dos herramientas (x32dbg y Delphi Decompiler), para poder encontrar el BreakPoint correcto y así realizar el análisis y obtener la Bandera o Flag.

Información de la víctima

 

Victima

AbelJM

URL

https://mega.nz/#!pdwS1YoL!pEL9q2NMYNgPa1XWcKIkYNLzaHU86QZEszcCtZkgAUQ

Protección

Ninguna

Dificultad

Newbie

Herramientas

RDG Packer Detector, x32DBG y Delphi Decompiler (https://mega.nz/#!sZwmiLaK!AwYe21TLhHyt1s-7SNk5Vljk5mIZRyVUmXFPLwgl0NI)

Objetivos

Cazar contraseña

Reverser

Lior

Lugar / Fecha

22/02/18

Teams

CrackSLatinoS – PeruCrackers – EntreAmigos CLS

 


Realizando el ataque

Lo primero que vamos a realizar es obtener información de la víctima, ejecutando RDG Packer Detector, como sabrán es una herramienta obtener información del tipo de Lenguaje y si presenta alguna medida de seguridad. Ver Figura 1.

Fig. 1 Desarrollado con Borland Delphi

 

Vamos a detectar que al agregar nuestras credenciales, y realizar clic en el botón Entrar nos muestra el BAD BOY, ver Fig. 2

 

Fig. 2 Intentando registrarse


Vamos a depurar y buscar las cadenas de textos. Ver Fig. 3

 

Fig. 3 Pasos para encontrar la cadena de texto.

 

Al buscar todas las cadenas de texto del crackmes y filtrar el mensaje de Bad Boy que es “Lo siento sigue intentando”, al escribir “Lo” no encontramos el bad boy. Ver Fig. 4
 
Fig. 4 Filtrando BAD BOY.

 

Ahora que podemos hacer para poder encontrar la clave, de lo cual usaremos una herramienta cabe recalcar que tan solo funciona en software desarrollado por Delphi, así que ejecutemos nuestra tools Delphi Decompiler, clic en File -> Open. Ver Fig. 5.

 

 

Fig. 5 Entorno de Dephi Decompiler

 

Vamos a abrir nuestro reto Engendrito V1.exe Ver Fig. 6

 

Fig. 6 Abriendo Engendrito V1.exe


Nos mostrara que se ejecuta nuestro crackme y nos aparecer una ventana donde indica que cargó por completo, clic en Aceptar. Ver fig. 7

 

 

Fig. 7 Aceptamos la ventana que emergen. 

 

Vamos a Procedures - > Events -> click derecho a Button2Click y vemos que es el botón que valida si nuestra clave es correcto. Ver Fig. 8
 
Fig. 8 Vemos el botón con nombre Button2Click es Entrar.
 
Hacemos doble clic en Button2Click y nos muestra que llama a un CALL con dirección 004672E8, dicha función es lo sospechoso. Ver Fig. 9
 
Fig. 9 Nos muestra la CALL 004672E8
 

Vamos a buscar el comando CALL 004672E8, Clic derecho -> Buscar en -> Módulo actual -> Comando y buscamos nuestra función. Ver fig. 10

 

Fig. 10 Pasos para buscar el comando.

Encontraremos nuestra función y en este caso agregue un BreakPoint y luego Play. Fig. 11

 

Fig. 11 Función encontrada.

Ingresamos las credenciales en este ejemplo. Lior – 1234567890 y veremos que se detiene en nuestro BreakPoint de lo cual vamos a tracear con F7, para ingresar en ese CALL. Ver Fig. 12

Fig. 12 Intentado registrar.

Al ingresar a la función presionamos F8 para seguir traceando hasta llegar al primer salto. Ver fig. 13.

Fig. 13 Dentro de la función.

Llegamos al primer salto y vemos nuestra clave ingresada “1234567890” comparando con “soselputoamo”, y luego salta, podemos intuir que si salta es debido a que no es correcto y nos mostrara el BAD BOY. Ver Fig. 14.

 

Fig. 14 Compara clave ingresada con la supuesta clave correcta.
 
Cerremos x32dbgy ejecutemos nuestro reto Engendrito V.1 e ingresemos la clave “soselputoamo”, y nos muestra “Genial lo lograste intenta hacer un Tuto”, asi que asi vencimos el reto de AbelJM. Ver Fig. 15
 
Fig. 15 Venciendo el reto

 

Conclusión

Usar la herramienta RDG Packer, nos sirve demasiado para poder ver el lenguaje en que se desarrolló para poder así ver que ataques o métodos se podría utilizar.
En este caso se cazo la contraseña del crackmes, sin embargo a simple vista no podemos encontrar las cadenas de texto.
La herramienta Delphi Decompiler al ser un tools antiguo, se sigue usando siendo muy útil.
Saludos
Este reto me causo un dolor de cabeza, asi que AbelJM un saludos estuvo muy entretenido y saludos a CrackSLatinos – PeruCrackers – EntreAmigos CLS, a Davicorm, Nox, Softdat, Apuromafo, F9 alias Fardain, y al Maestro Ricardo Narvaja.


Charly face
Dent Lab
ha comentado hace 8 meses

Hola LiorEstot intentando decompilar un Delphi XE3La tool Delphi Decompiler ni con DeDe consigue mostrar las forms pero la tool IDR siEn idr hay un comando CALL sospechoso tambien pero no me aparece ninguna direccion puedes ayudarme?Aqui tienes link con la tool y el archivo.https://mega.nz/#!hQJVxQ4Z!O7huckLFz_YMNSuQgYOH1NsqpAJEzGAa3nSA4Xu6nFIGracias

Charly face
Dent Lab
ha comentado hace 8 meses

Hola Lior.Estoy intentando decompilar un Delphi XE3.Nil Delphi Decompiler ni DeDe consigue mostrar las forms pero la tool IDR si.En Forms password hay un comando CALL sospechoso tambien pero no me aparece ninguna direccion.puedes ayudarme?Aqui tienes link con la tool y el archivo.https://mega.nz/#!hQJVxQ4Z!O7huckLFz_YMNSuQgYOH1NsqpAJEzGAa3nSA4Xu6nFIGracias

Charly face
Dent Lab
ha comentado hace 8 meses

Hola Lior.Estoy intentando decompilar un Delphi XE3.Nil Delphi Decompiler ni DeDe consigue mostrar las forms pero la tool IDR si.En Forms password hay un comando CALL sospechoso tambien pero no me aparece ninguna direccion.puedes ayudarme?Aqui tienes link con la tool y el archivo.https://mega.nz/#!hQJVxQ4Z!O7huckLFz_YMNSuQgYOH1NsqpAJEzGAa3nSA4Xu6nFIGracias

41473879 681300015589328 2914457510192611328 n
Rafael Peru Crackers
ha comentado hace 24 días

Hola a fin de semana vere tu duda. Gracias

Artículos que te pueden interesar