Artículo · Ingeniería Inversa

Cómo parchar el software MovaXterm

Rafael PeruCrackersRafael PeruCrackers 5 min de lectura

Historia

Ya paso mucho tiempo desde que deje de escribir o realizar un tutorial, últimamente estuve en algunos CTFs, muy buenos que me dejo entretenido, a ver si me animo a escribir sobre los CTFs lo poco que aprendí, vamos a proceder con lo prometido.

En este artículo veremos cómo debemos burlar la limitaciones de un Software,  en este caso es un Software Demo, son muy pocas veces que se encontraran con este tipo de protección, lo que realiza es instalar un software incompleto de lo cual nos limita algunas opciones como vera. Ver figura 1.

 

Figura 1. Nos muestra las limitaciones y el precio de la licencia. 

En este caso vayamos a descargar el software de instalación y no la de portable, le adjunto el enlace para que lo pueda descargar, tener en cuenta que es la última versión.

mobaxterm, ver Figura 2.

 
Figura 2. Observamos que es la versión 10.4. 
 

Vamos a descomprimir el software y luego procederemos a instalar. Ver Figura 3.

 
 

Figura 3. MobaXterm a instalar. 

 

Debemos tener en cuenta la ruta de instalación de la aplicación para poder generar una copia de seguridad, por si se nos genera un error en los cambios de la aplicación.  Ver Figura 4.

 

 

Figura 4. Ruta de Instalación y copia de seguridad.

 

 

Ahora vamos a obtener la información de la aplicación, ejecutemos el software y vemos que nos muestra en los cuadros amarillos UNREGISTERED VERSION y en About nos muestra que somos una edición limitada. Ver Figura 5.

 

 

Figura 5. Las limitaciones de MobaXterm.

 

Ahora veamos las limitaciones de sesiones de los terminales en este caso probaré conectándome a la IP 127.0.0.1, de lo cual nos permite como máximo 14 sesiones. Ver Figura 6.

 

 

Figura 6. Limitaciones de sesiones.

 

 

Usaremos RDG Packer Detector (http://www.rdgsoft.net/), es una herramienta muy útil conocido en el mundo del reversing, que nos permite ver las medidas de seguridad que tiene la aplicación y ver si se encuentra empaquetado, Vemos que se desarrolló en Borland Delphi y que no presenta medida seguridad, excepto IsDebbugerPresent es una seguridad arcaica para los nuevos depuradores. Ver Figura 7.

 

 

Figura 7.  Análisis de MobaXterm.

 

 

Ahora procederemos analizar usaremos x32dbg (https://x64dbg.com/#start), se me olvidaba la aplicación es de 32 bits y RDG Packer Detector lo detecta y lo muestra, dejo el enlace para que se descargue la herramienta. Ver Figura 8.

 

 

Figura 8. Clic derecho a la aplicación y seleccionamos Debug with x64dbg.

 

 

Primera instancia vemos que se depuro y se detuvo en el Entry Point, es el primer comando que se ejecutara y donde se detendrá, tener en cuenta que cuando depuran debe detenerse en la aplicación observe el cuadro amarillo dice mobaxterm.exe, y en la flecha roja nos indica que es EntryPoint. Ver Figura 9.

 

 

Figura 9. Una primera vista en el depurador.
Vamos a buscar las cadenas de texto de la aplicación, es decir que todo los software si o si tiene texto alojados en su código, el procedimiento para este método. Ver Figura 10.
 
Figura 10. Buscando las string de MobaXterm.

 

 

El proceso anterior puede tarde unos minutos así que vaya a preparar un café, luego de que termine de encontrar todo los string o cadena de texto, recordar el mensaje que nos limita la cantidad de sesiones.  Ver Figura 11
 
Figura 11.  Recordar el mensaje o BAD BOY.
 

La palabra clave en este caso es buscar máximum, así que busquemos. Ver Figura 12.

 

 

 

Figura 12. Encontramos dos párrafos, idénticos vayamos al primero.
Agregamos un BreakPoint en el texto y uno más en el Salto je con dirección 00840790. Ver Figura 13. 
 
Figura 13. Agregamos BP en las direcciones.

 

Si se dieron cuenta este mensaje le pertenece a la siguiente limitación de 2 SSH Tunnels como máximo. Ver Figura 14.

 

 

Figura 14. Agregamos un BP en el Salto y texto.

 

 

Ejecutamos la aplicación x32dbg con F9 o Play, y se abre la aplicación. Ver Figura 15.

 

 

Figura 15. Cuadro amarillo nos muestra que está ejecutando.
Intentamos  abrir una sesión en MobaXterm y se detiene en el BreakPoint de la dirección de memoria 00840790. Ver Figura 16. 
 
Figura 16. Se detuvo en el BP.
 
Debemos realizar que el salto JE ya no depende del registro al, por lo tanto podemos usar JMP, para ello seleccionamos la línea a modificar y luego teclear la barra espaciadora para modificar el código. Ver Figura 17.
 
Figura 17. Modificamos el salto por JMP.
Como vera el salto se realizara siempre. Ver Figura 18.
 
Figura 18. Salta siempre.
Antes de presionar Play quite los BreakPoint, se observará que ya no nos muestra el mensaje de que tengamos limitación. Ver Figura 19.
 
Figura 19. No nos limita.

 

Después de este procedimiento vamos a generar nuestro parche. Ver Figura 20.

 

 

Figura 20. Pasos para generar el parche.

Vamos a generar el parche con el nombre MobaXtermpatch.exe, Ver Figura 21.

 

 

 

Figura 21. Se guarda el parche con el nombre que desea.
Ejecutemos nuestro parche y veamos si se guardo los cambios generados. Ver Figura 22.

 

 

 

Figura 22. Nuestro parche generado.

 

 

Logramos burlar una limitación del software. Ver Figura 23.

 

 

Figura 23. Se terminó no hay limitaciones.

 

Con esto no quiere decir que se terminó con el parche del software encontraremos más limitaciones del software de lo cual se publicará en la siguiente semana, si tiene alguna duda comentar que es gratis, y un saludos a Davicomrm un crack de pocos que encuentras, Sr. Apuromafo un gran apoyo de CTFs, a DjPuxo por sus buenos tutoriales y al gran maestro Ricardo Narvaja.

Hasta la próxima.

Atte. Lior CLS

 

¿Quieres aprender estas técnicas en profundidad?

Continúa tu ruta con Pentesting .

Rafael PeruCrackers

Escrito por

Rafael PeruCrackers

Estudiante de la ingenieria Inversa usando las herramientas de Ollydbg y el actual IDA PRO, actualmente me encuentro investigando sobre Creacion de Exploit, con animo de ayudar a las personas que les interesa el mundo del reversing, :)