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

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 puertoJDWP (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:

Here is a screen shot that proves RCE in the JDWP service when running Ghidra in debug mode. The issue is that the NSA left an asterisk * instead of something sane like “127.0.0.1” – exposing JDWP to all interfaces and allowing exploitation. It’s not default, but a bugdoor. pic.twitter.com/YYTU8Qdx8T

— Hacker Fantastic (@hackerfantastic) March 6, 2019

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:

The same capabilities with IDA Pro would cost you ~$13,000 (and it supports less architectures). As much as I love IDA, their monopoly is the bane of my existence.

— MalwareTech (@MalwareTechBlog) March 6, 2019

After playing with ghidra for an hour pic.twitter.com/EW5PEBLdDU

— Malware Unicorn (@malwareunicorn) March 6, 2019

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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *