Noticia Hopper: Debugger para ingeniería inversa en OS X & Linux

Hoy domingo, por si estás con algo de tiempo libre y quieres dedicarlo a aprender algo nuevo, o comenzar con un camino distinto, como por ejemplo el reversing de binarios que es tan útil en los CTF de las conferencias de hacking, vamos a a hablaros de una herramienta que seguro que os viene bien tener en vuestro OS X. Hopper es una herramienta que nos permite realizar un análisis estático de los ficheros ejecutables. Es decir, nos va a permitir realizar debugging sobre los binarios, con lo que podremos jugar y saber como funciona. Se debe poder conocer qué instrucciones está ejecutando un binario para poder saber que está haciendo realmente en el sistema.

La interfaz de Hopper es bastante intuitiva si estás metido en el mundo de la ingeniería inversa. Principalmente consta de tres áreas:
  • El panel izquierdo contiene una lista de todos los símbolos definidos en el archivo y cadenas de la lista. La lista se puede filtrar utilizando etiquetas y texto.
  • El panel derecho, denominado Inspector, contiene información contextual sobre el área que está siendo explorada.
  • La parte central de la aplicación es dónde se muestra el lenguaje ensamblador.



Figura 1: Interfaz de Hooper para la visualización de código debuggeado

Hopper permite asignar nombres o símbolos a las direcciones, para tener un recordatorio más sencillo y eficaz de partes de código interesantes. Otra característica interesante es que permite la navegación por el stack de manera sencilla e intuitiva. La barra de navegación permite al usuario disponer gráficamente mediante el uso de una línea de las diferentes partes de la aplicación. El índice de colores utilizado es el siguiente:
  • Color azul para representar las partes de código.
  • Color amarillo para representar procedimientos.
  • Color verde para representar los ASCII strings.
  • Color púrpura para representar zona de datos.
  • Color gris para representar una zona indefinida.


Figura 2: Índice de colores para conocer cantidades de tipos de datos en el binario analizado

Otra de las cosas que nos han gustado es la exportación de los gráficos a PDF y como la información es presentada mediante el CFG, Control Flow Graph. Se puede mover los bloques de la gráfica, y haciendo doble click en un bloque se navega hasta las instrucciones correspondientes, las cuales se presentan en la parte central de la herramienta.


Figura 3: Gráfico de Flujo de Control en Hooper sobre un binario analizado

Se recomienda que si eres un inquieto del mundo Apple y te gusta la ingeniería inversa pruebes la herramienta. No es gratuita, pero proporciona un período de prueba con el que podrás ver las características interesantes que proporciona antes de decidir si merece la pena hacer la inversión. A nosotros nos ha gustado.

Publicado en Seguridad Apple - Google+ - RSS - Eleven Paths



Continúar leyendo...