introducción al cracking en linux 05 – ida.index-of.co.uk/reversing-exploiting/introduccion...

19
Introducción al Cracking en Linux 05 – IDA. Programa: Linux Crackme 3 by g30rg3_x (Retos de Yashira.org ) Descarga: http://www.yashira.org/ReTos/All/linux_crackme3_251.gz Descripción: Programa para comenzar a utilizar IDA sobre wine en Linux y para resolverlo profundizaremos en GDB. Dificultad: Bajísima. Herramientas: IDA sobre wine, herramientas del sistema y GDB. Objetivos: Solucionar el crackme, encontrando el serial correcto de diferentes maneras. Cracker: [Juan Jose] Fecha: 29/10/2011 Introducción: Después de varios años de vagancia, el gusanillo del cracking ha vuelto a renacer (jeje) y me he decidido a continuar con esta introducción al Cracking en Linux. Mis motivos son dos; primero, GNU/Linux es mi sistema operativo, y aunque , el cracking en este sistema no sea muy utilizado, su estudio me ayuda a profundizar en la shell del sistema y en las grandes herramientas que nos proporciona; y segundo, estos retos me sirven para encontrar objetivos prácticos a mis últimas aficiones, como son la programación en C y la programación en BASH, de lo contrario me acabo cansando de programas sin útilidad y lo dejo :-(. Respecto a este tutorial, lo voy a dividir en dos partes, en la primera introduciré la última gran herramienta que me faltaba por explicar, IDA , sin duda el mejor desensamblador actual y que ha mejorado mucho como debugger incluso en Linux. Por cierto, aunque hay un IDA para Linux en este caso vamos a utilizar el IDA 6.1 para windows ejecutándolo con wine, que como todos sabéis es un programa de linux que permite la ejecución de ejecutables de windows. Solo daré unas ligeras nociones de instalación y manejo del debugger; de esta manera el que este interesado pueda comenzar a descubrir la potencia que tiene esta gran herramienta incluso en linux.

Upload: others

Post on 02-May-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Introducción al Cracking en Linux 05 – IDA.

Programa: Linux Crackme 3 by g30rg3_x (Retos de Yashira.org)Descarga: http://www.yashira.org/ReTos/All/linux_crackme3_251.gz

Descripción:Programa para comenzar a utilizar IDA sobre wine en Linux y para resolverlo profundizaremos en GDB.

Dificultad: Bajísima.Herramientas: IDA sobre wine, herramientas del sistema y GDB.

Objetivos:Solucionar el crackme, encontrando el serial correcto de diferentes maneras.

Cracker: [Juan Jose] Fecha: 29/10/2011

Introducción:

Después de varios años de vagancia, el gusanillo del cracking ha vuelto a renacer (jeje) y me he decidido a continuar con esta introducción al Cracking en Linux. Mis motivos son dos; primero, GNU/Linux es mi sistema operativo, y aunque , el cracking en este sistema no sea muy utilizado, su estudio me ayuda a profundizar en la shell del sistema y en las grandes herramientas que nos proporciona; y segundo, estos retos me sirven para encontrar objetivos prácticos a mis últimas aficiones, como son la programación en C y la programación en BASH, de lo contrario me acabo cansando de programas sin útilidad y lo dejo :-(.

Respecto a este tutorial, lo voy a dividir en dos partes, en la primera introduciré la última gran herramienta que me faltaba por explicar, IDA, sin duda el mejor desensamblador actual y que ha mejorado mucho como debugger incluso en Linux. Por cierto, aunque hay un IDA para Linux en este caso vamos a utilizar el IDA 6.1 para windows ejecutándolo con wine, que como todos sabéis es un programa de linux que permite la ejecución de ejecutables de windows. Solo daré unas ligeras nociones de instalación y manejo del debugger; de esta manera el que este interesado pueda comenzar a descubrir la potencia que tiene esta gran herramienta incluso en linux.

Page 2: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

En la segunda parte, vamos a resolver el linux crackme 3 de g30rg3_x, forma parte de los retos de Yashira ( espero que nadie se ofenda al dar la solución , pero este crackme me ha dado mucho juego para lo que yo quería mostrar), también os puedo comentar que tanto el linux crackme 1 como el 2 de Yashira los resolví con IDA (os lo dejo como prácticas para el que quiera empezar a usar IDA en linux y su debugger); pero el 3º me propuse resolverlo solo con GDB y las herramientas del sistema. Ya se,¡¡ soy masoquista!!, pero mi idea de hacerlo con las herramientas que nos da el terminal de linux al final me ha dado mucha satisfacción y ese ha sido el motivo de escribir estos tutoriales, espero que al final estos escritos sean útiles para alguien y sea una ayuda para los que quieran comenzar con el cracking en linux.

Por cierto, yo lo primero que tuve que hacer es repasar mis anteriores tutoriales; para los que no los tengan pueden obtenerlos de aquí:

Introducción al Cracking en Linux 01

http://www.4shared.com/document/MdDtVpY3/Introduccion_al_Cracking_en_Li.html

Introducción al Cracking en Linux 02

http://www.4shared.com/document/AjNlQnGw/Introduccion_al_Cracking_en_Li.html

Introduccion al Cracking en Linux 03

http://www.4shared.com/document/gjZErfvq/Introduccin_al_Cracking_en_Lin.html

Introduccion al Cracking en Lnux 04

http://www.4shared.com/document/xmTpWtb4/Introduccin_al_Cracking_en_Lin.html

1. IDA 6.1 con Wine.

Primero como es lógico debemos tener instalado en nuestro sistema el programa wine, yo tengo Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get es así de sencillo:

juanjo@tukan{~}$ su Contraseña: root@tukan{/home/juanjo}# apt-get install wine

Eso si, se necesitan privilegios de root, por lo que primero con la orden “su” obtenemos esos privilegios pidiéndonos la contraseña de root . En sistemas que utilicen el comando sudo la orden seria “sudo apt-get install wine” e igualmente nos pedirán nuestra contraseña como administrador.

***Por sistema a lo largo de todo este tutorial veréis el símbolo # antes de la orden si se necesita ser root para ejecutarla y el símbolo $ para todas las demás. ***

Para los que no les guste la consola (lo siento pero en este tute os vais a cansar de verla) también se puede utilizar el programa Synaptic, que lo podéis encontrar en el menú Sistema > Administración, os pedirá la contraseña de root y desde él podemos instalar wine.

Particularmente, me gusta configurar varias cosas en wine para mejorar el manejo de IDA; para ello

Page 3: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

con la combinación de teclas Alt+F2 nos sale la ventana para ejecutar una aplicación y ponemos “winecfg”,que nos mostrará la configuración de wine:

Como vemos vamos a emular Windows XP, de momento no es necesario cambiarlo; lo que si cambiaremos es algunas opciones en la pestaña “Gráficos”:

Page 4: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Aquí podéis ver como lo tengo yo, normalmente solo hay que marcar la opción “Emular escritorio virtual” que no viene marcada por defecto. El problema es que cuando utilizamos wine para ejecutar juegos, lo ideal es que se ejecuten a pantalla completa y no tendríamos que marcar esa opción; pero muchas veces hay problemas y se nos queda toda la pantalla bloqueada y a la vez todo el sistema ( ni Alt+F4 nos sirve); por tanto al emular un escritorio virtual, wine sale dentro de una ventana según las dimensiones que le demos; por tanto si se bloquea, con cerrar la ventana no tendremos mas problemas. Por contra, los juegos se ejecutan normalmente en resoluciones de 800x600 y se ven muy pequeños; pero vamos a mi me da el apaño.

Respecto a los valores que debemos poner en “Dimensiones”, en nuestro caso al ser IDA una ventana que al maximizarla se adapta a las dimensiones mayores que le demos ( no así los juegos) yo suelo poner una configuración menor de la que tengo en la pantalla del ordenador, para que se vea el IDA tan grande como se pueda y siga siendo manejable. Por tanto las dimensiones tenéis que adaptarla a vuestro monitor Ej, En Gnome, que es mi escritorio en Debian, si miramos las “Preferencias de monitor” veo que mi monitor su resolución es 1440x900; después venían 1360x768 (que no me gusto) y la siguiente 1152x864 fue la que puse en winecfg.

Ahora ya estamos preparados para instalar IDA; si tenemos un instalador con ejecutarlo normalmente se procederá a su instalación, pues por defecto los archivos exe sera wine el responsable de ejecutarlo; si no fuera así, desde una consola en la carpeta donde este el instalador

Page 5: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

solo tenemos que ejecutar “ wine instalador.exe” para que se ejecute. A veces este último método es el mejor, pues vemos los errores que nos pueda dar y además me he encontrado juegos que de esta manera funcionan y ejecutándolos desde el explorador No. Curioso¿?.

Si el instalador ha funcionado sin problemas ( he probado para el tute la versión free de IDA y no he podido instalarla ) nos dejara unos accesos directo en el menú Aplicaciones > Wine desde donde podemos ejecutar IDA.

En mi caso, he probado la versión 6.1 de Ida Pro que venia en un archivo comprimido (;-)), por lo que solo descomprimiéndolo en una carpeta es suficiente. Lo bueno de IDA es que es un programa que no necesita ningún framework ni archivos especiales del sistema, por eso funciona tan bien con wine, todo lo que necesita esta en la carpeta del programa. Normalmente IDA se instala en Linux en la carpeta que crea wine en nuestra home, en mi caso moví la carpeta a esa zona para que fuera mas estandar:

Como veis la carpeta es .wine, por lo que al comenzar por un punto es una carpeta oculta, para verla en el navegador por defecto de gnome, Nautilus, debemos dar a Ctrl+H. Ahora ya podemos entrar en la carpeta y vemos que wine emula un sistema windows con su disco C ( una carpeta llamada drive_c) y en su interior un sistema básico con las carpetas windows, users y Archivos de programa, siendo esta última donde pone el instalador la carpeta que nos interesa.En mi caso , la puse yo y como no tenia accesos directos, ejecute el archivo idag64.exe para

Page 6: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

comenzar a trabajar con IDA. Pensé que era el necesario porque mi sistema era de 64, pero al usarlo vi que no depende del sistema sino del archivo que vamos a analizar, siendo posible con el idag64.exe abrir tanto archivos de 32 como de 64, pero no se puede abrir un archivo de 64 bits con el idag.exe pues nos da este error:

La única diferencia es el archivo DataBase que se guardan al final, los de idag64.exe su extensión es .i64 y los de idag.exe son el clásico .idb.

Por tanto en este caso, el ideal seria utilizar idag.exe, así que lo ejecuto directamente desde el explorador y nos salta un error:

Este error ya lo comento Ricardo Narvaja en sus grandes tutoriales sobre IDA, para solucionarlo tenemos que tocar uno de los archivos de configuración de IDA, que como nos dice el error está en la carpeta cfg y se llama idagui.cfg, para ello solo tenemos que editarlo ( en Gnome se utiliza gedit) e ir a la linea 254 y ponerle delante dos barras // para que no de mas problemas. Además, ya que estamos en este archivo buscamos la opción “DISPLAY_PATCH_SUBMENU = NO “ ( linea 50), por defecto en IDA no aparece en el menú las opciones para parchear nuestro ejecutable; pero como a nosotros lo de parchear ejecutables lo llevamos en la sangre, debemos cambiarlo de esta forma: “DISPLAY_PATCH_SUBMENU = YES”, guardamos el archivo y volvemos a iniciar idag.exe.

Ahora ya no aparece el error, sale la pantalla de bienvenida, y en seguida sale la pantalla para poder continuar con un trabajo anterior o comenzar el análisis de un nuevo ejecutable:

Page 7: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Le damos a “New” y nos aparece la pantalla de selección del tipo de ejecutable que vamos a estudiar:

En este caso nos interesa la pestaña “Unix”, donde seleccionamos la primera opción de un ejecutable normal elf y le damos OK. De esta forma sale el explorador para buscar el archivo con el que vamos a trabajar:

Seleccionamos el archivo linux_crackme3 y le damos a “Abrir”.

Page 8: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Marcamos “Analisis options” y damos a “Siguiente>”

En este caso dejamos las opciones por defecto, si quisiéramos después cambiar algo se podría hacer en el menú Options > General, pestaña Analysis. Continuamos con “Siguiente>”

Page 9: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Marcamos “Start analysis now” y terminamos. Ahora ya solo hay que esperar a que termine el análisis, lo comprobaremos por encontrarnos la luz de la derecha del menú en verde:

Page 10: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Ahora ha llegado el momento de ver el desensamblado y estudiar como funciona el crackme. Como ya he comentado esto lo haremos en la segunda parte con otras herramientas, ahora vamos a ver como podemos ejecutar el debugger remoto en linux. Para ello vamos al menú Debugger > Select debugger... o F9 y nos sale las opciones que nos ofrece:

Vamos a ver las dos opciones Remotas, yo la que mas he utilizado es Remote Linux debugger y funciona bastante bien, pero actualmente al profundizar en GDB también he podido ver que el Remote GDB debugger parece una buena opción, aunque tengo que empezar a utilizarlo para valorarlo a fondo.

Remote Linux debugger:

Para ambos debugger remotos su funcionamiento es similar, hace falta un servidor que sirve el programa y un debugger cliente que nos lo presenta a nosotros. Para IDA (y también para GDB, ya lo veremos en la segunda parte) el programa a estudiar debe localizarse tanto en el servidor como en el cliente.

De esta manera podemos debuggear un programa que este en otro ordenador, tanto en la red local como en otro maquina en internet; aunque para esto último habría que abrir los puertos necesarios en los router y en las maquinas que se vean involucradasEn nuestro caso vamos a realizarlo en la misma maquina, usando localhost como Hostname de modo que tanto el servidor como el cliente se ejecutan en el mismo SO.

1º Ejecutamos el servidor.

Dejamos de momento el programa en IDA pendiente de seleccionar el tipo de Debugger ( imagen anterior) y nos vamos a la carpeta de instalación de IDA, que en mi caso es:

/home/juanjo/.wine/drive_c/Archivos de programa/ida61/

Allí encontramos los servidores linux ( marcados en verde):

Hay que tener en cuenta que para programas de 32 bits utilizaremos el linux_server y para

Page 11: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

programas de 64 bits utilizaremos linux_server64. En nuestro caso debemos utilizar linux_server, y para saber sus opciones podemos utilizar la opción -?

juanjo@tukan{~/.wine/drive_c/Archivos de programa/ida61}$ ./linux_server -? IDA Linux 32-bit remote debug server(ST) v1.14. Hex-Rays (c) 2004-2011 Error: usage: ida_remote [switches] -p... port number -P... password -v verbose

Como vemos hay pocas opciones, la mas interesante para darle un poco de seguridad en un caso real, sería ejecutarlo con la opción -Pcontraseña (si os fijais no hay espacio entre la P y la contraseña para que sea correcto) y después en la ventana de conexión de IDA debemos poner la misma contraseña.

Por tanto en nuestro caso hay que ejecutarlo sin ninguna opción, vemos la imagen de la primera vez que lo ejecute:

Lo pongo, por si a alguien le da el mismo error que a mi, “Permiso denegado”, que sepa que es debido a que el archivo no tiene permiso de ejecución. Por tanto con darle ese permiso con la orden “chmod +x linux_server” lo tenemos listo para ejecutarlo. Los programas que están fuera del PATH en linux se ejecutan de esta manera: “./linux_image”, eso si estando en su misma carpeta.

Como vemos el programa tiene como puerto por defecto 23946 y en ese puerto se queda esperando (“Listening”) las peticiones del cliente, ahora es cuando hay que ejecutar el cliente desde IDA.Lo que vemos debajo de ================= se producirá cuando acepte la conexión del cliente ( en este caso desde localhost) y la petición del “Serial:” es parte de la ejecución del crackme y como vemos en estos casos remotos de programas que se ejecutan en el terminal, los datos que nos pida el programa se observan en la consola donde se ejecuta el servidor, no nos lo pedirá el debugger cliente (IDA).

2. Ejecutamos el cliente.

Cuando nos pide seleccionar un debugger, marcamos “Remote Linux debugger” y damos a OK:

Page 12: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Nos sale un aviso, que nos explica los peligros que puede tener ejecutar un programa, ya sabéis cuidado con la viruta :-)

Le decimos “Yes” y ahora nos salen las opciones del debugger:

Es interesante marcar las dos primeras, para que el debugger pare al empezar y en el entry point del programa. Le damos a OK y ya nos sale la pantalla para conectarse al servidor:

Page 13: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Como veis en Hostname hay que poner Localhost y el puerto se deja el que sale por defecto, 23946; le damos a OK y se intentara conectar.

En este punto puede saltar un error si como yo, estaba intentando utilizar el linux_server64 para un programa de 32 bits:

Como ahora, utilizo el correcto, pues continuamos:

Como ya he comentado, hay que tener una copia del ejecutable en la maquina remota; en este caso IDA te avisa y lo soluciona moviendo el ejecutable a la carpeta donde se ejecuta el servidor:

/home/juanjo/.wine/drive_c/Archivos de programa/ida61/linux_crackme3

Le damos a “Yes” y ahora si que sale el IDA transformado en debugger:

Page 14: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Ahora si que podemos comenzar a poner breakpoint y ver como se ejecuta el proceso; solo tened en cuenta que si le damos para que corra el proceso con F9, nos pueden saltar excepciones que habrá que valorar:

Al principio suelen ser excepciones que no tienen importancia, y por tanto debemos conseguir que el IDA no pare y el programa continúe su ejecución. En este caso, IDA nos da la solución:

Page 15: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

En esta ventana vamos a aprovechar para evitar que nos de mas problemas, para eso le damos a “Change exception definition”:

Esta es la forma que esta definida, pero a nosotros no nos interesa que pare el programa, así que debemos demarcar la opción de “Stop program” y si queremos, le decimos que cuando pase sea la aplicación la que se encargue de la excepción, marcando “Pass to aplication”. De todos modos, si queremos volver a analizarla, se pueden ver en Debugger Options > Edit exceptiones.Ahora ya podemos continuar dándole a “Yes” en la primera ventana.

Por cierto, si alguna vez veis que el programa se esta ejecutando sin ver ningún cambio, hay que fijarse en esta zona:

Como veis el programa esta corriendo y seguramente, como me paso en este caso, debemos de mirar el terminal donde se ejecuta el servidor porque nos esta pidiendo el serial:

Ponemos el serial y continuamos en IDA. En este caso se cierra el proceso y acabamos con el debugger.

Remote GDB debugger

En este caso también tenemos un servidor y un cliente, para servidor se utiliza el gdbserver, programa que se suele instalar con gdb ( #apt-get install gdb ) y nos va a servir para presentar el programa, de modo que se queda escuchando en un puerto a la espera que un cliente, en este caso es IDA pero también puede ser GDB (lo veremos en la siguiente parte) se conecte por ese mismo puerto y comencemos el proceso de depuración.

1º Ejecutamos el servidor.

Vamos a ejecutar gdbserver con las opciones necesarias para después conectarnos con IDA; por tanto vamos a ver cuales son su opciones básicas:

Page 16: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

juanjo@tukan{~}$ gdbserver --help Usage: gdbserver [OPTIONS] COMM PROG [ARGS ...]

gdbserver [OPTIONS] --attach COMM PID gdbserver [OPTIONS] --multi COMM

COMM may either be a tty device (for serial debugging), or HOST:PORT to listen for a TCP connection.

Options: --debug Enable general debugging output. --remote-debug Enable remote protocol debugging output. --version Display version information and exit. --wrapper WRAPPER -- Run WRAPPER to start new programs. Report bugs to "<http://www.gnu.org/software/gdb/bugs/>".

Como vemos en nuestro caso la opción es - - remote-debug y debemos dar un HOST:PORT que deberán coincidir con las que pongamos en el cliente.También hay que mover la aplicación que vamos a estudiar a donde se ejecute el servidor, como el terminal por defecto siempre comienza en mi Home (~), es allí donde pongo una copia de linux_crackme3; /home/juanjo/linux_crackme3

Ahora ya podemos ejecutar el servidor de esta manera:

Como vemos localhost sera la dirección del host, si fuera una dirección ip nos llevaría a la maquina correspondiente, y el puerto 2345 es el puerto que gdbserver utiliza por defecto y que no vamos a cambiar.

2º Ejecutamos el cliente.

Volvemos a IDA con el crackme cargado y como hemos utilizado ya el debugger remoto de linux, debemos cambiarlo, para ello vamos al menú Debugger > Switch debugger... donde nos aparece la ventana para selecionar el debugger y marcamos la opció de Remote GDB debugger:

Page 17: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Le damos a OK y nos aparece la ventana de conexión, donde solo tenemos que rellenar el hostname y el puerto con los valores que ya conocemos:

Con estos valores, le damos OK y se carga el debugger de IDA, que nos avisa que el programa ya esta en ejecución y por tanto para depurarlo tenemos que engancharnos (attach) a él:

Seguimos con “Yes” y ya estamos preparados, como nos dice IDA:

De esta manera tenemos el IDA unido de forma remota (aunque en este caso no hemos salido de la misma maquina) a gdbserver.

Page 18: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

Si continuamos el proceso con F9, en este caso si nos avisa que esta Running y que por tanto en la ventana donde esta el gdbserver nos esta pidiendo el “Serial:”

Si miramos el terminal donde corre gdbserver vemos que nos da mucha información de la comunicación y al final nos esta pidiendo el serial, le ponemos un valor cualquiera y vemos que el programa de esta manera termina de forma correcta:

En este momento IDA vuelve a aparecer como desensamblador y gdbserver vuelve a estar a la

Page 19: Introducción al Cracking en Linux 05 – IDA.index-of.co.uk/Reversing-Exploiting/Introduccion al... · Debian Squeeze de 64 bits y con el manejador de paquetes de Debian apt-get

escucha esperando una nueva conexión:

Con esto acabo con IDA, mi idea era explicar lo mas detallado posible el manejo de IDA como debugger, para empezar a utilizarlo en Linux y poder poco a poco sacarle todo el partido a esta gran herramienta.

En la siguiente parte, que al alargarse tanto este comienzo con IDA, sera la Introducción al Cracking 06, vamos a resolver el crackme con el debugger por defecto de GNU/linux, GDB y todas las posibilidades que nos da la shell de Linux, Bash.

Cualquier comentario a cvtukan(arroba)gmail.com o en la lista de Crackslatinos.

http://groups.google.com/group/CrackSLatinoS