GHIDRA 9.0: Disponible la herramienta de ingeniería inversa de la NSA
Hace un mes os hablábamos de que la Agencia Nacional de Seguridad de los Estados Unidos (NSA) presentaría en la conferencia de la RSA su framework de ingeniería inversa Ghidra. GHIDRA es un marco de ingeniería inversa basado en Java que cuenta con una interfaz gráfica de usuario (GUI) y se ha diseñado para ejecutarse en una variedad de plataformas que incluyen Windows, macOS y Linux.
Hoy finalmente en la conferencia de seguridad de RSA la NSA lanzó oficialmente de forma completamente gratuita GHIDRA 9.0 que es una herramienta de ingeniería inversa de software propia de la agencia que los expertos de la agencia han estado utilizando internamente durante más de una década para detectar errores de seguridad en software y aplicaciones.
La idea de liberar este software es para que los investigadores de seguridad puedan acostumbrarse a trabajar con él antes de solicitar puestos en la NSA u otras agencias de inteligencia gubernamentales con las que la NSA ha compartido previamente Ghidra de forma privada.
GHIDRA es una excelente alternativa a las costosas herramientas comerciales de ingeniería inversa como IDA-Pro, Radare, Capstone o Hopper.
Hablando en la Conferencia RSA, el Asesor Principal de la NSA, Robert Joyce, asegura que GHIDRA no tiene puertas traseras, y dice: "Esta es la última comunidad a la que desea lanzar algo con una puerta trasera instalada, a las personas que buscan estas cosas para romperlas".
Joyce también dijo que GHIDRA incluye todas las características esperadas en las herramientas comerciales de gama alta, con una funcionalidad nueva y ampliada desarrollada de forma única por NSA, y es compatible con una variedad de conjuntos de instrucciones de procesador, formato ejecutable y puede ejecutarse tanto en modo interactivo como automático.
Los primeros reportes de bugs empiezan a llegar en Github
Ghidra solo lleva unas 8 horas disponible para descargar y las personas que lo están empezando a usar están empezando a reportar en Gihub los primeros bugs hasta el momento podemos ver unos 13 reportes. La mayoría de ellos tiene que ver con que no se ajusta bien a algunos formatos de pantalla, que falta alguna función o que algo no termina de funcionar como debería.
Estos reportes son normales cuando existen multitud de usuarios con distintos equipos y configuraciones en el mercado, esperemos que pronto se solucionen estos pequeños detalles para que todos los investigadores de ciberseguridad puedan disfrutar de esta herramienta.
Importante ⚠: Fallo de Ghidra
El usuario de Twitter Hacker Fabtastic dijo hoy por Twitter que cuando ejecutó esta herramienta en el modo de depuración, abre el puerto 18001 de nuestra red local que acepta y ejecuta comandos remotos desde cualquier máquina que pueda conectarse.
Ghidra opens up JDWP in debug mode listening on port 18001, you can use it to execute code remotely 🤦 ♂️.. to fix change line 150 of support/launch.sh from * to 127.0.0.1 https://t.co/J3E8q5edC7
— Hacker Fantastic (@hackerfantastic) 6 de marzo de 2019
Incluso si la Depuración no está activada de manera predeterminada. Esto es más una puerta trasera es un fallo a nivel de diseño de la herramienta en GitHub esta clasificado como un bug.
✅ Tiene una fácil solución:
Abrir el archivo launch.sh
y cambiar la línea 150 escribiendo la dirección 127.0.0.1
Descargar y instalar GHIDRA
Instalar Ghidra es tan simple como descomprimir el archivo ZIP en cualquier parte de nuestro equipo y ejecutarlo. El único requisito es tener instalado en nuestro equipo la versión 11 del Java Development Kit o posterior.
- Descargar GHIDRA 9.0
- Código fuente GHIDRA en Github (Próximamente)
- Guía de instalación y documentación básica
- "Chuleta" de atajos de teclado
- Issue Tracker (Para reportar bugs)