Tutoriales

Ghidra – herramienta de ingeniería inversa de la NSA

Kali Linux está incluido en la última actualización 2021.2 de Kali Linux Conducta en Kali Linux imagen grande y repositorio significa que ahora es más fácil Instale y use Ghidra en nuestro Kali Linux Sistema. Pero que es Conducta? ¿Un dragón?

Conducta es un marco de ingeniería inversa de software de código abierto (SRE) desarrollado por la Agencia de Seguridad Nacional (NSA) Dirección de Investigación de los Estados Unidos para la Misión de Ciberseguridad de la NSA.

Los binarios se lanzaron en la conferencia RSA en marzo de 2019; las fuentes se publicaron en GitHub un mes después. Muchos investigadores de seguridad ven a Ghidra como un competidor de IDA Pro. El software está escrito en Java utilizando el marco Swing para la GUI. El componente descompilador está escrito en C ++. Los complementos de Ghidra se pueden desarrollar en Java o en Python (proporcionado por Jython).

Es un marco de ingeniería inversa GUI basado en Java que puede descompilar una aplicación del binario y comprender la lógica del código. La NSA lo usa para encontrar malware en una aplicación, también es muy útil para encontrar errores en aplicaciones.

Si escribimos este artículo antes de que Ghidra venga con Kali (junio de 2021, el proceso de instalación será más grande y complejo.

Pero ahora solo necesitamos un comando para instalarlo en nuestro sistema Kali Linux. Necesitamos usar el siguiente comando:

sudo apt install -y ghidra

El comando anterior instala Ghidra en nuestro sistema Kali Linux. Descarga más de 250 MB y ocupa casi 750 MB de espacio en nuestro sistema. Por lo tanto, la instalación llevará algún tiempo, dependiendo de la velocidad de la red y la configuración del sistema. Descanso para tomar café .

Instalación de Ghidra en Kali Linux

After installing Ghidra on our Kali Linux system we can open this GUI based tool by using following command to open it up:

ghidra

El comando anterior abrirá Ghidra en nuestro sistema Kali Linux, o podemos buscarlo en el menú de la aplicación. Como podemos ver en la siguiente captura de pantalla:

Acuerdo de usuario de Ghidra

Aquí Ghidra nos muestra el "Acuerdo de usuario" para usar esta herramienta. Tenemos que leerlo con atención y luego hacer clic en "Exactamente"por primera vez cuando uso Ghidra.

Después de hacer clic en "Acepto", Ghidra abrirá dos ventanas, una de ayuda, otra es la pantalla principal del marco de Ghidra. Podemos revisar la ayuda si queremos, pero aquí la cerramos y nos centramos en Ghidra. Se parece a la siguiente captura de pantalla:

Pantalla principal de Ghidra

Aquí vemos que no tenemos un proyecto activo en nuestro Ghidra. Entonces tenemos que importar un proyecto. Tenemos un archivo exe aquí para probar. Primero tenemos que ir al menú Archivo> Nuevo proyectocomo se muestra en la siguiente captura de pantalla.

Nuevo proyecto Ghidra

Luego tenemos que elegir nuestro nuevo tipo de proyecto, aquí elegimos proyecto no compartido.

Tipo de proyecto en ghidra

Hacemos clic en "Siguiente", ahora tenemos que seleccionar la ubicación y el nombre del proyecto. Hemos elegido la ruta de inicio estándar y hemos nombrado el proyecto como deseamos, vea la siguiente captura de pantalla a continuación.

Nombre y ubicación del proyecto ghidra

Luego hacemos clic en "Finalizar" para completar la creación de un nuevo proyecto.

Nuevo proyecto creado en ghidra

En la captura de pantalla de arriba podemos ver que se ha creado un nuevo proyecto en Ghidra.

Aquí ahora podemos importar un archivo de aplicación. Como ejemplo tenemos un archivo exe. Podemos arrastrar y soltar el archivo de la aplicación directamente sobre el proyecto o simplemente abrirlo. para presionar I para importar el archivo de la aplicación para probarlo también podemos elegir del menú Archivo> Importar archivo.

Luego, debemos seleccionar el archivo de la aplicación que se probará como se muestra en la siguiente captura de pantalla:

archivo de aplicación de importación ghidra

Aquí hemos seleccionado un archivo Shell.exe para probarlo. Lo seleccionamos para importar.

Resumen de archivo sobre ghidra.  importar

Podemos ver algunos detalles sobre la importación del archivo, hacemos clic en "OK".

Resumen de archivo sobre ghidra.  importar

Aquí, en esta ventana, podemos ver el resumen del archivo de importación en Ghidra. Presionamos 'IngresarBotón '↩ aquí.

Ahora Ghidra importará el archivo y le pedirá que analice el archivo de la aplicación en CodeBrowser.

Solicitud de análisis de Ghidra

Hacemos clic en "Luego debemos seleccionar Analizadores en una nueva ventana. Hay muchas opciones de configuración de análisis. Podemos ver una descripción de cada opción haciendo clic en ella, la descripción se mostrará en la esquina superior derecha descripción Sección.

Opciones de análisis en Ghidra

Hagamos clic en Analizar para analizar el archivo. Luego podemos ver la ventana de Ghidra CodeBrowser. No debemos preocuparnos si nos olvidamos de analizar algo, podemos volver a analizar el programa más tarde (yendo a la análisis Tab y luego Analizar 'shell.exe' automáticamente).

Análisis de nuevo en ghidra

Aquí estamos en Ghidra CodeBrowser. Desde aquí podemos analizar la lógica y los datos de la aplicación. Ghidra CodeBrowser tiene una interfaz de usuario buena y bien elegida. Háganos saber brevemente.

Detalles sobre el navegador de código Ghidra

Veamos cómo se distribuye CodeBrowser por defecto:

  1. Por lo general, en los marcos de ingeniería inversa, Ghidra muestra una vista de desmontaje del archivo de la aplicación en el medio de la pantalla de forma predeterminada.
  2. Dado que el nivel de desmantelamiento es a veces una perspectiva demasiado baja, Ghidra integra su propio descompilador, que se encuentra a la derecha de la ventana de desmantelamiento. La función principal del programa fue reconocida por una firma Ghidra, y luego los parámetros se generaron automáticamente. Ghidra también nos permite manipular código descompilado de muchas formas. Por supuesto, una vista hexadecimal del archivo también está disponible en la pestaña correspondiente. Estas tres ventanas (desmontaje, descompilador y la ventana hexadecimal) están sincronizadas y ofrecen diferentes perspectivas sobre lo mismo.
  3. Ghidra también nos permite navegar fácilmente por el programa. Por ejemplo, para ir a otra sección del programa, podemos hacer clic en el Árboles de programa Ventana en la parte superior izquierda de CodeBrowser.
  4. Si preferimos navegar a un icono (por ejemplo, una función de programa), debemos ir directamente debajo de donde Árbol de símbolos Se encuentra el disco.
  5. Si queremos trabajar con tipos de datos, tenemos que pasar de nuevo a Administrador de tipos de datos.
  6. Dado que Ghidra permite la creación de secuencias de comandos de tareas de ingeniería inversa, los resultados de la secuencia de comandos se muestran en la ventana correspondiente a continuación. Por supuesto que es marcador La pestaña está disponible en la misma ubicación, por lo que podemos crear marcadores bastante bien documentados y organizados para cada ubicación para un acceso rápido.
  7. Ghidra también tiene una barra de acceso rápido en la parte superior.
  8. En la parte superior de CodeBrowser está la barra principal. Ahora conocemos la perspectiva estándar de Ghidra.
  9. La función actual se muestra después de la dirección actual.
  10. Además de la dirección actual y la función actual, se muestra la línea de desmantelamiento actual para completar la información de contexto.
  11. Finalmente, en la parte inferior derecha, el primer campo muestra la dirección actual.

Conducta es un marco altamente personalizable. Tiene toneladas de funciones y también podemos ejecutar nuestros propios scripts. No es posible cubrir todos los detalles de Ghidra en un artículo. Ghidra es un gran tema que necesitamos un libro entero para aprenderlo claramente.

Que acabamos de decir ¿UN LIBRO? Lo tenemos. Tenemos un libro muy bueno sobre Ghidra que cubre Ghidra en su totalidad. Consulte nuestro grupo de Telegram para obtener el libro. Aquí está la hoja de trucos oficial de Ghidra.

¿Te encantan nuestros artículos? Asegúrate de eso Síganos para recibir todos nuestros artículos directamente después de la notificación. También estamos disponibles en Gorjeo y GitHub publicamos actualizaciones de artículos allí. A unirse a nosotros KaliLinuxIn Familia ven a nosotros Grupo de telegramas. Estamos tratando de construir una comunidad para Linux y ciberseguridad. Siempre estamos felices de ayudar a todos en el para todo. como sección. Como sabemos, nuestra sección de comentarios siempre está abierta a todos. Leemos cada comentario y siempre respondemos.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba