0Pricing
Cyber Security Academy · Lección

Ghidra: navegación y anotación de binarios

Importe un binario, navegue por el código desensamblado y descompilado, cambie el nombre de variables y añada comentarios.

Ghidra: navegación y anotación de binarios es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.

¿Qué es Ghidra?

Ghidra es una herramienta gratuita y de código abierto de ingeniería inversa desarrollada por la NSA y publicada en 2019. Admite desensamblado, descompilación, scripting y análisis colaborativo en Linux, macOS y Windows.

Cargar un binario

Para abrir un binario en Ghidra:

  1. Crear un proyecto nuevo
  2. Importar el archivo (Archivo → Importar archivo)
  3. Se ejecuta el autoanálisis; deje que termine (reconoce funciones, cadenas y tipos de datos)
  4. Se abre CodeBrowser, que muestra las vistas de desensamblado y del decompilador

La interfaz de Ghidra

Ventanas principales de Ghidra:

  • Árboles de programas — secciones (.text, .data, .plt)
  • Árbol de símbolos — funciones, etiquetas, importaciones y exportaciones
  • Listado — vista de desensamblado
  • Decompilador — reconstrucción en pseudo-C
  • Funciones — lista de todas las funciones identificadas

Navegar al punto de entrada

Inicie el análisis en el punto de entrada del programa o en main():

  • Presione G para usar Ir a y acceder a una dirección o un símbolo
  • Busque «main» en el árbol de símbolos
  • Haga doble clic en cualquier función para navegar hasta ella

Leer la salida del decompilador

El decompilador de Ghidra produce pseudo-C, que es más fácil de leer que el ensamblador. No será perfecto: los nombres de las variables son genéricos (param_1, local_10) y el flujo de control puede parecer extraño, pero revela la lógica con suficiente claridad para comprender qué hace el código.

Renombrar variables y funciones

Las anotaciones mejoran la legibilidad:

  • Haga clic con el botón derecho en una variable → Renombrar (o presione L)
  • Haga clic con el botón derecho en una función → Renombrar función
  • Añada comentarios con ; (al final de línea) o con el estilo /*...*/

Renombrar elementos ayuda a construir el contexto a medida que comprende mejor el binario.

Identificar cadenas

Las cadenas son invaluables para comprender el propósito del programa:

  • Ventana → Cadenas definidas muestra todas las constantes de cadena
  • Haga clic en una cadena para saltar a su uso en el código
  • Los mensajes de error, las rutas de archivos, las URL y las claves del registro revelan la funcionalidad

Referencias cruzadas (XREFs)

Las XREFs muestran dónde se llama a una función o dónde se utiliza una variable. Presione X sobre cualquier símbolo para ver todas sus referencias. Esto es fundamental para encontrar dónde entra la entrada del usuario en una función o dónde se realizan comprobaciones de seguridad.

Crear scripts con Ghidra

Ghidra dispone de una API de scripting para Python y Java:

# Python script to find all calls to strcpy:
from ghidra.program.model.symbol import RefType
for ref in currentProgram.getReferenceManager().getReferencesTo(toAddr(0x401234)):
    print(ref.getFromAddress())

Analizar malware con Ghidra

Para analizar malware:

  • Identifique técnicas antianálisis (antidepuración y ofuscación del código)
  • Busque funciones de comunicación de red (socket, connect, WinInet)
  • Localice funciones criptográficas (busque las constantes de la S-box de AES: 0x63, 0x7c...)
  • Extraiga las URL de C2 de las cadenas descifradas

Ghidra frente a IDA Pro

Ghidra frente a IDA Pro:

  • Ghidra: gratuito, de código abierto, admite scripts y tiene un buen decompilador
  • IDA Pro: estándar del sector, análisis más rápido, mejor ecosistema de plugins y caro ($$$)
  • Para la mayoría de las tareas, Ghidra es totalmente capaz; IDA se utiliza en laboratorios profesionales de análisis de malware

Comprobación rápida: Ghidra

¿Qué función de Ghidra muestra todas las ubicaciones del binario que llaman a una función específica o hacen referencia a una variable específica?

Resumen de la lección

Ghidra es una herramienta gratuita de ingeniería inversa desarrollada por la NSA, con capacidades de desensamblado, decompilación y scripting. Flujos de trabajo clave: cargar el binario, ejecutar el autoanálisis, navegar hasta main(), usar el decompilador para comprender la lógica, renombrar variables, usar XREFs para rastrear el flujo de datos y buscar cadenas para obtener contexto. Las anotaciones ayudan a construir la comprensión de forma iterativa. El scripting automatiza las tareas de análisis repetitivas.

Preguntas frecuentes

¿La lección «Ghidra: navegación y anotación de binarios» es gratis?

Sí — el texto completo de «Ghidra: navegación y anotación de binarios» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Ghidra: navegación y anotación de binarios»?

Importe un binario, navegue por el código desensamblado y descompilado, cambie el nombre de variables y añada comentarios. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cyber Security Academy?

No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Ghidra: navegación y anotación de binarios»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?

Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Ghidra: navegación y anotación de binarios
  2. Fundamentos de ensamblador x86/x64 para reversing
  3. Análisis dinámico con GDB y pwndbg
  4. Desofuscación y técnicas anti análisis
← Volver a Cyber Security Academy