Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Mad Antrax en 30 Agosto 2008, 04:33 am



Título: MadCrack: CrackMe v1 by MadAntrax
Publicado por: Mad Antrax en 30 Agosto 2008, 04:33 am
Hola a todos, éste es mi primer mensaje en este foro... varios usuarios me comentaron por privado: "tú sabes programar bastante, seguro que tus crackme's son complicados..." así que con éste comentario decidí programar mi primer crackme para vosotros:

(http://img83.imageshack.us/img83/7481/madcrackxo5.jpg)

Programado en VB6
Ejecutable empacado (se escribe así, no?)
Ejecutable protegido: Tiene 2 métodos de protección anti-debug
Dificultad: fácil

------------------------------

Este crackme es del tipo: KeyFile-crackme. Necesitas crear un fichero en la misma raíz del crackme para registrarlo. Es parecido al método que Kaspersky utiliza con su keyfile, pero en éste caso el keyfile sólo tiene que estar en la misma carpeta del ejecutable.

Hay 2 formas para completar este crackme

Método 1: Parchear el ejecutable para que acepte cualquier keyfile (o sencillamente hacerlo funcionar sin keyfile)

Método 2: Encontrar el KeyFile correcto, sin parchear ni modificar el ejecutable

Evidentemente, el segundo método tiene más mérito, los usuarios que completen éste crackme pondré su nick al final y pondré si lo han resuelto por el método 1, 2 o los dos.

Usuarios que lo han resuelto:

  • karmany: Método 2 -> Lo ha resuelto sin parchear el ejecutable!!

El crackme está adjunto al final de este primer mensaje, sólo visible a los usuarios registrados


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: Mad Antrax en 30 Agosto 2008, 04:36 am
Para que se entienda mejor, una foto con el crackme resuelto por el método 2:

(http://img301.imageshack.us/img301/7407/respuestayt5.jpg)

El ejecutable está sin modificar, y se ha hallado el nombre correcto del keyfile con su contenido correcto, convirtiendo el cuadro en color verde.

Ojo, la foto es un ejemplo, el keyfile correcto no se llama "filekey"

Otra pista, el crackme tiene 2 protecciones activas, una de ellas conocidas por todos vosotros, la otra función es casera (programada por mi), a ver si os la saltáis!! xD (No le gusta demasiado el Ollydbg a mi crackme...) Os recomiendo que lo probéis con el Antivirus deshabilitado, mi protección es algo agresiva y algunos antivirus finalizan la ejecución del propio crackme.exe

Podéis estar tranquilos que el ejecutable no modifica en ningún momento vuestro sistema.

 ;)


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: karmany en 30 Agosto 2008, 15:48 pm
Qué sorpresa. MadAntrax...

Cierto, buen programador, yo he visto algunas aportaciones que has hecho en elhacker.
Bueno, yo te prometo que le echaré un vistazo cuando pueda.

Ahora no puedo descargarlo.

Un saludo
karmany


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: apuromafo CLS en 30 Agosto 2008, 20:49 pm
saludos, creeme que ollydbg encuentra 2 cosas interesantes, antes de comenzar todo

desempacar un upx relativamente y quizas tenga alguna funcion que es comun.., no dare mayor detalle hasta ejecutarlo

ahora consejo para quienes lo vean es un vb que tiene similitud de ser vb-pcode
y que usa scripts de vbs

a mi me aparece
---------------------------
Proyecto1
---------------------------
Run-time error '429':

ActiveX component can't create object
---------------------------
Aceptar   
---------------------------
eso debe pasar porque quizas hace referencia a un vbs
 CreateObject("scripting.filesystemobject"


pero bueno, intentare en la semana encontrar un S.O con mas privilegios

Call splet()
 DoEvents
Check_KeyFile()
Exit Sub


por lo demas el clsCRC es puro algoritmo de conversiones y todo eso

creo que no tendre tiempo de verlo pero

OpenProcess
Process32Next

No es problema para el olly , con plugins
saludos Apuromafo
y mis felicidades al programador


verde /color;green
Shape1.Backcolor = RGB(CInt(crypt("1")), CInt(crypt("344")), CInt(crypt("1")))

rojo /color;red
Shape1.Backcolor = RGB(CInt(crypt("344")), CInt(crypt("1")), CInt(crypt("1")))


saludos y creeme que este es solo el primer paso para el metodo 1

aun veo si ese xor sera el metodo 2

pero para el 2 tb influye el
   Hex(CVar("edoc***" & StrReverse))
   If (var_100 = crypt("2@G8***"))

coloque 3 asteriscos ademas..

y aun nisiquiera se ejecuta en mi pc

saludos Apuromafo
lo baje hoy sabado 30/08

veamos si mañana lo veo en otro S.O.

espero este mini apunte sea util para quien tenga animos de resolverlo por el metodo 1


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: Mad Antrax en 30 Agosto 2008, 21:03 pm
Run-time error '429':

ActiveX component can't create object
eso debe pasar porque quizas hace referencia a un vbs
 CreateObject("scripting.filesystemobject"

Desde que SO lo estas ejecutando? Cualquier Windows ha de poder crear el objeto: Scripting.FileSystemObject ... :S Si utilizas Vista... desactiva UAC o eleva privilegios de Admin.

Por cierto, vas muy bien encaminado, el método 1 (parchear el fichero) lo sacarás seguro, anímate con el método 2

Saludos!! :)


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: apuromafo CLS en 30 Agosto 2008, 21:34 pm
mi windows es una variante de  suricata
con bloqueo de wscript y bat script y autorun.inf sin permisos de crss y algunas mas
no existe windows como este, pues esta alterado para mi uso y evitar cualquier troyano desconocido que moleste cuando estoy en estudios

ahora solo comentaba eso, pues solo dedico al cracking o ingenieria inversa unos 3 minutos y despues sigo con mis tareas y trabajos que son larguisimos
ahora bien, es un XP sp2

pero de ahi me cambio de S.O para acceder a este..
aunque no lo creas como el pc de Apuromafo no hay..




Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: karmany en 1 Septiembre 2008, 07:36 am
Bueno, yo he conseguido de momento crackearlo.

No voy a hacer el "crack" porque hay que evitar unas cuantas comparaciones (CRC etc...) y quedaría muy "feo" para mi gusto, así que voy a examinar el "keyfile" a ver si lo consigo.

PD. Odio el P-Code.


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: Mad Antrax en 1 Septiembre 2008, 09:20 am
PD. Odio el P-Code.

Jejejeje, realmente no es un P-Code... son 2 P-Code. Mirar en un editor hexadecimal y buscar el string: {UPX#!
Justo después de ese string encontrareis otro ejecutable.... (¿será una pista? xD)

Saludos!!


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: karmany en 1 Septiembre 2008, 10:19 am
Mirar en un editor hexadecimal y buscar el string: {UPX#!

Sí ya lo vi, porque aunque odio los P-Code, una de las desventajas que tiene trabajar con opcodes es que cuando "traduces" esos opcodes obtienes todo el código que tú has utilizado.

Por ejemplo, yo he desempacado UPX solamente para analizar tu programa y he utilizado VB Decompiler Lite y sale todo lo que has utilizado. Incluso a las funciones las has llamado de forma entendible: clsCRC, add_bytes, check_Keyfile etc... sólo es cuestión de seguir analizando un poco.

PD. Me está gustando mucho la forma en que lo has programado. Aunque no parece muy difícil, es una protección muy interesante. Buen trabajo, aunque no tengo tiempo seguiré analizándolo. Recomendado a todo usuario que quiera aprender.


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: Mad Antrax en 1 Septiembre 2008, 14:44 pm
PD. Me está gustando mucho la forma en que lo has programado. Aunque no parece muy difícil, es una protección muy interesante. Buen trabajo, aunque no tengo tiempo seguiré analizándolo. Recomendado a todo usuario que quiera aprender.

Gracias por los comentarios, estoy preparando la segunda versión del CrackMe que será del tipo: Multi-CrackMe, es decir:

  • NAG Screen
  • KeyFile
  • Nombre de Usuario y Password
  • Habilitar Controles
  • y alguna sorpresa más...

Para hacerlo más dirvetido, simularé un entorno real de aplicación, es decir, un ejecutable con sus librerias, DLL's y controles ActiveX programados por mi :)

Para rematar, usaré CactusMetamorph para modificar el binario y evitar que lo decompileis con VB Decompiler o similares... espero que salga bien mi idea y disfruteis crackeando

Saludos!! (este crackme ya casi lo teneis solucionado!!)


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: ........... en 1 Septiembre 2008, 15:38 pm
Le eché un vistazo ayer y vi que no era un vb normal, así que de momento, hasta que que no aprenda más sobre estructura de programas en vb, no intentaré siquiera resolverlo. En fin, este post inútil es para agradecerte el aporte.


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: karmany en 4 Septiembre 2008, 07:15 am
Ayer tuve tiempo de echarle un vistazo y primeramente quiero decirte MadAntrax que me has sorprendido muchísimo. ¿Quién iba a pensar que desde VB pudieses hacer tal cosa? muy bien.

Ya he destripado el crackme MadCrack y ya sé cómo analiza el "filekey" y cuál es el algoritmo para que sea correcto. Aún me quedan algunas lagunas por descubrir pero bueno...
Como has hecho una tabla tan grande (tú ya sabes a qué me refiero) tengo que hacer Fuerza Bruta y ahora cuando tenga tiempo estoy creando en ensamblador un programa que encuentre por Fuerza Bruta un keyfile correcto. Espero que no hayas puesto muchos caracteres o espero encontrar cualquier keyfile correcto. Sólamente voy a utilizar en principio caracteres desde 20h (espacio) hasta 7A (Z mayúscula). Veré si va rápido.

Un saludo
karmany


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: Mad Antrax en 4 Septiembre 2008, 09:08 am
Espero que no hayas puesto muchos caracteres o espero encontrar cualquier keyfile correcto. Sólamente voy a utilizar en principio caracteres desde 20h (espacio) hasta 7A (Z mayúscula). Veré si va rápido.

Vas bien encaminado, el keyfile es de pocos caracteres. Pero yo de ti ampliaría la búsqueda desde Ascii 0 hasta el Ascii 255

Saludos y felicidades...


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: karmany en 4 Septiembre 2008, 14:37 pm
Bueno conseguí (si no me equivoco) crear un filekey correcto.
Yo sólo he necesitado 4 caracteres, así que es asequible por fuerza bruta.

Para los que quieran analizarlo, recomiendo descomprimir el UPX solamente para analizarlo por ej. con VB Decompiler Lite o con P32Dasm. Después cargar el original crackme en el OllyDBG e ir poniendo Breakpoints en los offsets que se crea convenientes... poco a poco ya que requiere mucho análisis

Un saludo

PD. Como lo que yo quiero es que la gente aprenda, dejaremos un tiempo este programa para que la gente lo intente resolver y sino sacaré tiempo para hacer un pequeño tute de cómo lo he resuelto y también mostraré el programa que he hecho en ASM para Fuerza Bruta.


Título: Re: MadCrack: CrackMe v1 by MadAntrax
Publicado por: EscritoEstáSatanás en 7 Abril 2013, 18:46 pm
Jod....

hace 60 días xd , bueno intetaré resolverlo y saludos te quedo buenisimo!!!