Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Dawer en 28 Julio 2016, 03:00 am



Título: Ayuda descubrir tipo de proteccion !
Publicado por: Dawer en 28 Julio 2016, 03:00 am
Hola Saludos, soy nuevo en esta agradable comunidad, la cual visito con frecuencia buscando aprender algo nuevo.
bueno el tema en el que desearia un poco de ayuda y orientacion es porque eventualmente asumo retos en modificacion de uno que otro programita  :rolleyes:
pero ahora me siento frustrado porque di con uno que despues de 3 semanas no logro  ni tan solo conocer que tipo de proteccion es que tiene, los datos son estos:
-programa hecho en visual basic 5 segun RDG packer, tipo gestion- ventas.

-lo analize peid y dice lo mismo, nada de packer ni proteccion

- con olly activando todas la excepciones logro correlo pero en los puntos o apis
que a mi parecer son mas sospechosas al poner HBP o BP nunca para ni me pasa informacion en un condicional.

- lo curioso que veo es que en la zona de codigo mas caliente en el momento que se ejecuta aparecen lineas de codigo nuevo y luego cuando termina la rutina desaparecen que sera????

- en la carpeta donde esta el exe solo hay 2 archivos el exe y la base de datos,
porque solo 2??????? :o
cualquier consejo es bien recibido gracias..


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: MCKSys Argentina en 28 Julio 2016, 04:23 am
Hola!

Está en código nativo o PCODE? Le pasaste VBDecompiler?

Saludos!


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: Dawer en 28 Julio 2016, 15:24 pm
Hola,
Si esta en codigo nativo y le pase el VBDecompiler pero no logre avanzar por ahi.
con esfuerzo lo mas que le he encontrado es que usa una api llamada "RtlcompareMemory" casi seguro estoy que ahi compara con los bytes del nombre-serial verdadero, pero:
* Con los bp no logro pararlo alli
* Con un Bp en GetProcAddress si va para parando pero nunca aparece la api en mencion.
*Con un all intermodular calls, solo aparecen llamadas a MSVBVM60 pero ni rastros de dicha api.
 Si tan solo pudiera ver en el exe donde llama esta api pues probaria invirtiendo los saltos que le siguen y creo quedaria listo, pero no logro llegar alla.
Y para complicar mas las cosas con un nombre-serial falso nunca dice nada, ojala saliera el cartelito notificando nombre incorrecto y todo seria mas facil pero no.
bueno gracias sigo a la espera..saludos...


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: apuromafo CLS en 28 Julio 2016, 18:53 pm
solo por curiosidad, te mandaré un mail pidiendote el programa para verlo por encima, posiblemente tiene algun molebox o similar...

Saludos Apuromafo


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: MCKSys Argentina en 3 Agosto 2016, 18:07 pm
Probablemente no debería, pero es sólo para demostrar que poniendo un poco de entusiasmo en el tema y leyendo tutoriales, se puede romper lo que sea:

  • Abrir programa con Olly normal
  • BP en 007EE56F
  • Ejecutar y cuando para, ver valor STRING Variant (EAX-->Follow in dump. En el dump, el 3er DWORD-->Follow in dump) PUSHeado al stack.
  • Reiniciar proggie.
  • Abrir C:\Lic.dat y colocar el valor "pescado" como texto simplemente.
  • Ejecutar e ingresar el mismo texto para registrar.

Como ves, registrar el programa es sencillo. Ojo! Si el programador puso "cosas ocultas", entonces no sería todo; PERO según lo que veo, parece que si.

Saludos!

PD: Aún no es navidad, pero va otro regalo: pass de la db: /398026878


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: Dawer en 3 Agosto 2016, 19:40 pm
Magistral gracias a ti MCKSys Argentina y a Apuromafo que han tenido la gentileza de ayudarme con este karma que aun no termina, porque como dices si tiene algo oculto
que ya no es oculto porque se que es y donde esta pero no logro superarlo, pero vamos avanzando que es lo importante  ;-)

Cuando pongo los HBP en la rutina sospechosa estos son desactivados por la misma proteccion que tiene el programa, use un plugin anti-anti-HBP pero no tuve exito, luego use el script descrito en el curso del reconocido Narvaja en la leccion 42 pero tampoco logra pararlo, cuando se detiene en el KiuserDespacher miro el context y trazando con F7 veo como cambia la direccion de mi HBP por otra y asi lo hace una y otravez entrando y saliendo.
La cosa es que trazando nunca llega al final de la rutina ya que esta es cronometrada y al ver que exedio el tiempo limite me lleva a dar vueltas infinitas.

Que otra tecnica podria usar para evitar la desactivacion de los HBP?

MOD EDIT: No hacer doble post.


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: MCKSys Argentina en 3 Agosto 2016, 21:37 pm
Cuando pongo los HBP en la rutina sospechosa estos son desactivados por la misma proteccion que tiene el programa, use un plugin anti-anti-HBP pero no tuve exito, luego use el script descrito en el curso del reconocido Narvaja en la leccion 42 pero tampoco logra pararlo, cuando se detiene en el KiuserDespacher miro el context y trazando con F7 veo como cambia la direccion de mi HBP por otra y asi lo hace una y otravez entrando y saliendo.
La cosa es que trazando nunca llega al final de la rutina ya que esta es cronometrada y al ver que exedio el tiempo limite me lleva a dar vueltas infinitas.

Que otra tecnica podria usar para evitar la desactivacion de los HBP?

El programa que pasaste no tiene protección de ninguna clase. No debería borrar los HBP ni los BP comunes. Debes estar haciendo algo mal...

Saludos!


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: Dawer en 4 Agosto 2016, 00:50 am
Cuando estando en olly hago correr el programa y luego en la barra de comandos yo digito "? RtlCompareMemory" me da la direccion de esta api en mi caso es 7c912b53  coloco un Bp o un HBP y queriendo regresar al programa para ejecutar una rutina ya no me lo permite porque de inmediato me activa el Bp, obligandome a que quite el Bp para poder regresar al programa.
Entonces no es esto una proteccion?? que mas podria ocasionar eso?


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: MCKSys Argentina en 4 Agosto 2016, 01:31 am
Entonces no es esto una proteccion?? que mas podria ocasionar eso?

Que el proggie la esté llamando a cada rato. Si tiene muchos OCX's hechos en C/C++, esa API es llamada mucho.
De todas formas, en VB no necesitas preocuparte por dicha API. Debes mirar las de la libreria del runtime (msvbvmXX.dll)

Saludos!


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: Dawer en 4 Agosto 2016, 01:57 am
ahhh en verdad muchas gracias MCKSys Argentina, disculpa mi ignoracia  :-[
Ahora tengo esta otra inquietud haber si por aqui le pegamos a algo,
estando en el propio ejecuble (el de la carpeta) con olly voy a esta direccion:
006EF17F el siguiente codigo:
006EF17F ADD BYTE PTR DS:[EDX],AL
006EF181 OR BYTE PTR DS: [ECX+8D8B084A],44
006EF188 ???
006EF18A DEC DWORD PTR DS: [ECX+D48B0C4A]

Bueno lo extraño para mi es que estas lineas en cuanto trato de desplazarme hacia arriba o hacia abajo de inmediato desaparecen sin dejar rastro, solo aparecen si las llamo con su direccion exacta, es esto normal? y cuando hago correr el programa siguen ocultas porque se esconden? sera que es un exe embrujado?


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: MCKSys Argentina en 4 Agosto 2016, 02:33 am
ahhh en verdad muchas gracias MCKSys Argentina, disculpa mi ignoracia  :-[
Ahora tengo esta otra inquietud haber si por aqui le pegamos a algo,
estando en el propio ejecuble (el de la carpeta) con olly voy a esta direccion:
006EF17F el siguiente codigo:
006EF17F ADD BYTE PTR DS:[EDX],AL
006EF181 OR BYTE PTR DS: [ECX+8D8B084A],44
006EF188 ???
006EF18A DEC DWORD PTR DS: [ECX+D48B0C4A]

Bueno lo extraño para mi es que estas lineas en cuanto trato de desplazarme hacia arriba o hacia abajo de inmediato desaparecen sin dejar rastro, solo aparecen si las llamo con su direccion exacta, es esto normal? y cuando hago correr el programa siguen ocultas porque se esconden? sera que es un exe embrujado?

Los ejecutables hechos en VB son "especiales" pues mezclan datos en la sección de código. Ollydbg no "reconoce" dicha forma y trata e interpretar todo como código, cuando en realidad no lo es.

Como te dije antes, pásate por la web de ricardo y bájate tutoriales sobre programas en VB5/6.

Saludos!


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: Dawer en 5 Agosto 2016, 03:32 am
He estado leyendo, y una posible opcion para craquear este programa podria ser injertando algo de codigo, usando topo, esto tambien me lo habia sugerido antes Apuromafo, pero lo he buscado por todas partes y no encuentro donde descargarlo.
Alguien seria tan amable de indicarme donde puedo descargar topo, gracias y saludos..


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: MCKSys Argentina en 5 Agosto 2016, 04:18 am
http://ricardonarvaja.info/WEB/OTROS/HERRAMIENTAS/Q-R-S-T-U/topo12corregido.rar (http://ricardonarvaja.info/WEB/OTROS/HERRAMIENTAS/Q-R-S-T-U/topo12corregido.rar)

Ojo con los antivirus, pues lo detectan como virus (al menos lo hacían). Por supuesto, es un falso positivo.

Como nota te aclaro que requiere de experiencia usar topo (en realidad, el inline/la inyección en general): no por el manejo de la herramienta en sí, sino por el código que luego hay que agregar.

Saludos!


Título: Re: Ayuda descubrir tipo de proteccion !
Publicado por: Dawer en 6 Agosto 2016, 20:48 pm
Saludos, Haber si alguien me orienta un poco en esto:
estoy tratando de injectar unas pocas lineas de codigo(3) en un ejecutable la cuestion es la siguiente con topo injerte una zona libre en el exe, despues de esto el programa corre con normalidad, pero cuando voy a la zona a iniciar con un JMP a la zona que creo topo, olly al crear ese JMP me crea tambien unos nop que dañan las lineas siguientes. Hay forma de injertar un JMP sin que se alteren las otras lineas de codigo?

y por ultimo si debo reconstruir la zona que se daño al poner un JMP, y la lineas son estas:
0049675A     3B             DB 3B                                    ;  CHAR ';'
0049675B     01             DB 01
0049675C     0B             DB 0B
0049675D     17             DB 17
0049675E     00             DB 00

al estar en la zona de topo como injerto ese mismo codigo que se aprecia en las lineas interiores???? graciass espero que alguien me ayude...

Hola, escribo para agradecer a todos los que me orientaron en mi proposito, hoy estoy muy feliz porque ya lo consegui, asi que doy por teminado este tema, agradezco a todos como ya dije pero en especial a Tincopasan quien me aporto datos valiosos para lograrlo, que la pasen bien. Ecxelente foro.. ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)