Seguridad

Análisis preliminar de Ghidra, el framework de reversing de la NSA.

En la noche de ayer (del 5 al 6 de marzo) fue liberado el nuevo framework de ingeniería inversa de la NSA denominado “Ghidra”. Hoy os contamos nuestras primeras impresiones tras haber realizado algunas pruebas.

URL de descarga: https://www.ghidra-sre.org/

Instalación:

Ghidra funciona sobre Windows, Mac y Linux. Instalar este framework es tan simple como descomprimir el archivo ZIP de la descarga en nuestro equipo. El único requisito para el correcto funcionamiento del software es tener instalada la versión 11 de Java Development Kit o superior.

Si aún así tenéis alguna duda, en la web proporcionada hay un pequeño vídeo explicativo.

Primeras impresiones:

Lo primero que podemos ver al abrirla es que se trata de la versión 9.0 del programa, por lo que puede inferirse que lleva muchos años siendo utilizada y que ha pasado por numerosas etapas para la mejora de su código, lo que, en principio, nos lleva a pensar que estamos ante una herramienta madura y a prueba de errores.

Al crear un nuevo proyecto, nos muestra un baúl de herramientas con dos opciones: “CodeBrowser” y “Version Tracking”. Analizaremos en esta ocasión la herramienta “CodeBrowser”.

Si abrimos un binario, la herramienta nos lo analiza y nos muestra el desensamblaje del código en una interfaz que nos parece bastante amigable, en comparación con otros frameworks similares.

Aunque los tiempos de carga son casi mínimos, la optimización del consumo de recursos no es su punto fuerte, ya que consume bastante más que otras herramientas que tienen el mismo objetivo.

Como punto a favor de su usabilidad, existe una cheatsheet oficial con los shortcuts más importantes del programa. Puede accederse a la plantilla a través de este enlace.

Fallos reconocidos en las primeras 12 horas:

Apenas unas horas después de la salida del producto, varios expertos en ciberseguridad se han hecho eco de un fallo en la apertura del puerto JDWP (18001) en el modo debugque se pone a la escucha en todas las interfaces y permite ejecución de código remoto. A continuación vemos un ejemplo del fallo que describimos:

Usando un motor de búsqueda de dispositivos conectados a internet como shodan.io podemos ver ya algunos equipos que ahora mismo podrían ser vulnerados.

La solución más simple sería modificar el código que hace referencia a la interfaz y ponerlo solo a la escucha en localhost.

El issue se encuentra abierto en Github ahora mismo. URL: https://github.com/NationalSecurityAgency/ghidra/issues/6.

Opiniones publicadas:

Varios expertos en reversing ya se han pronunciado sobre la herramienta, manteniendo diferentes opiniones sobre la utilidad del producto:

Para estar al tanto de la opinión de la comunidad acerca de Ghidra, existe un post anclado en Reddit: https://www.reddit.com/r/ReverseEngineering/comments/ax2gma/ghidra_stickied_thread/

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.