Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Ghidrathon — La extensión de código abierto del equipo FLARE para añadir scripting en Python 3 a Ghidra. | Kitploit
Herramientas/GitHubGitHub/mandiant/ghidrathon
Ingeniería InversaScripting y AutomatizaciónAnálisis de MalwareAnálisis de BinariosArchived
GitHubmandiant/ghidrathon

Ghidrathon

La extensión de código abierto del equipo FLARE para añadir scripting en Python 3 a Ghidra.

Ver Repositorio
78865hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Ghidrathon

GitHub Release GitHub Downloads (all assets, latest release) CI License

Ghidrathon es una extensión de Ghidra que añade capacidades de scripting en Python 3 a Ghidra. ¿Por qué? Ghidra admite scripting de forma nativa en Java y Jython. Desafortunadamente, muchas herramientas de análisis de código abierto, como capa, Unicorn Engine, angr, etc., están escritas en Python 3, lo que dificulta y, en algunos casos, imposibilita el uso de estas herramientas en Ghidra. Además, la comunidad de seguridad ha publicado varios plugins excelentes para otros frameworks de SRE como IDA Pro y Binary Ninja, pero nuevamente, debido a que muchos de estos plugins usan Python 3, es difícil portarlos a Ghidra. Ghidrathon te ayuda a usar herramientas existentes y desarrollar nuevas herramientas Python 3 en Ghidra, y a scriptear Ghidra usando Python moderno de una manera que se integra estrechamente con la interfaz de usuario de Ghidra. Reemplaza la extensión Python 2.7 existente implementada mediante Jython. Esto incluye la ventana del intérprete interactivo, la integración con el Ghidra Script Manager y la ejecución de scripts en modo headless de Ghidra.

example

Consulta nuestro ejemplo de script Python 3 para Ghidra aquí para ver más de cerca cómo escribir scripts Python 3 para Ghidra.

Consulta:

  • La descripción general en nuestra primera publicación de blog sobre Ghidrathon

Instalando Ghidrathon

Requisitos

Sigue los siguientes pasos para instalar Ghidrathon en tu entorno de Ghidra:

  1. Descarga y descomprime la última versión de Ghidrathon
  2. Ejecuta los siguientes comandos usando el intérprete de Python que deseas usar con Ghidrathon (requirements.txt y ghidrathon_configure.py están incluidos en la versión):
root@kitploit:~
$ python -m pip install -r requirements.txt
$ python ghidrathon_configure.py <absolute_path_to_ghidra_install_dir>

Nota: ghidrathon_configure.py por defecto intenta escribir un archivo llamado ghidrathon.save en <absolute_path_to_ghidra_install_dir>. Puedes especificar la ruta donde se escribe este archivo estableciendo la variable de entorno GHIDRATHON_SAVE_PATH antes de ejecutar ghidrathon_configure.py y Ghidra:

root@kitploit:~
$ export GHIDRATHON_SAVE_PATH="/path/to/custom/dir" # Linux/MacOS
$ set GHIDRATHON_SAVE_PATH="C:\path\to\custom\dir"  # Windows

Nota: es posible que se te solicite establecer una variable de entorno llamada JAVA_HOME. Esta debe hacer referencia a la ruta absoluta del JDK que has configurado para tu instalación de Ghidra.

  1. Instala la extensión de Ghidrathon (.zip) en Ghidra:
    • Usando la interfaz de Ghidra:
      • Navega a File > Install Extensions...
      • Haz clic en el botón verde +
      • Navega hasta la extensión de Ghidrathon (.zip)
      • Haz clic en Ok
      • Opcional
        • Selecciona Install Anyway si aparece la ventana Extension Version Mismatch
    • Usando un entorno limitado:
      • Extrae la extensión de Ghidrathon (.zip) a <absolute_path_to_ghidra_install_dir>\Ghidra\Extensions

Cambiando de intérpretes de Python

Puedes cambiar Ghidrathon para que use un intérprete de Python diferente ejecutando el paso 2 con el nuevo intérprete de Python.

Usando entornos virtuales de Python

Puedes usar un entorno virtual de Python con Ghidrathon ejecutando el paso 2 desde el entorno virtual. Para cambiar a un entorno virtual diferente, simplemente ejecuta el paso 2 desde el nuevo entorno virtual.

Usando Ghidrathon

Ventana del intérprete de Python 3

La ventana del intérprete proporciona acceso interactivo a tu intérprete de Python 3. Haz clic en "Window" y selecciona "Ghidrathon" para abrir la ventana del intérprete.

example

Integración con el Ghidra Script Manager

Ghidrathon se integra directamente con el Ghidra Script Manager, lo que te permite crear, editar y ejecutar scripts de Python 3 dentro de Ghidra. Haz clic en "Create New Script" y selecciona "Python 3" para crear un nuevo script de Python 3. Haz clic en "Run Script" o "Run Editors's Script" para ejecutar tu script de Python 3 y revisa la ventana de la consola de Ghidra para ver la salida del script.

example

Modo headless de Ghidra

Ghidrathon te ayuda a ejecutar scripts de Python 3 en modo headless de Ghidra. Ejecuta el script analyzeHeadless ubicado en tu carpeta de instalación de Ghidra, especifica tu script de Python 3 y revisa la ventana de la consola para ver la salida del script.

root@kitploit:~
$ analyzeHeadless C:\Users\wampus example -process example.o -postScript ghidrathon_example.py
[...]
INFO  SCRIPT: C:\Users\wampus\.ghidra\.ghidra_10.0.3_PUBLIC\Extensions\Ghidrathon-master\ghidra_scripts\ghidrathon_example.py (HeadlessAnalyzer)
Function _init @ 0x101000: 3 blocks, 8 instructions
Function FUN_00101020 @ 0x101020: 1 blocks, 2 instructions
Function __cxa_finalize @ 0x101040: 1 blocks, 2 instructions
Function printf @ 0x101050: 1 blocks, 2 instructions
Function _start @ 0x101060: 1 blocks, 13 instructions
Function deregister_tm_clones @ 0x101090: 4 blocks, 9 instructions
Function register_tm_clones @ 0x1010c0: 4 blocks, 14 instructions
Function __do_global_dtors_aux @ 0x101100: 5 blocks, 14 instructions
[...]
INFO  REPORT: Post-analysis succeeded for file: /example.o (HeadlessAnalyzer)
INFO  REPORT: Save succeeded for processed file: /example.o (HeadlessAnalyzer)

Para obtener más información sobre cómo ejecutar Ghidra en modo headless, consulta <absolute_path_to_ghidra_install_dir>/support/analyzeHeadlessREADME.html.

Módulos de Python de terceros

Una de nuestras mayores motivaciones al desarrollar Ghidrathon fue permitir el uso de módulos de Python 3 de terceros en Ghidra. Puedes instalar un módulo y comenzar a usarlo dentro de Ghidra igual que en una configuración típica de Python. Esto también aplica a módulos que hayas instalado previamente. Por ejemplo, podemos instalar y usar Unicorn para emular código ARM dentro de Ghidra.

example

Escribiendo scripts de Python 3 para Ghidra

Ghidrathon proporciona una experiencia de scripting que refleja fielmente las extensiones Java y Jython de Ghidra, lo que incluye poner a disposición, en el ámbito builtins de Python, las variables de instancia de estado de GhidraScript, p. ej. currentProgram, y los métodos de FlatProgramAPI, p. ej. findBytes. Esto significa que todos los módulos de Python importados por tu código tienen acceso a estas variables y métodos. Ghidrathon difiere ligeramente de las extensiones Java y Jython de Ghidra al exponer las variables de estado de GhidraScript como llamadas a funciones de Python en lugar de accesos directos; por ejemplo, tu código Python 3 debe acceder a currentProgram mediante la llamada a función currentProgram(). Este pequeño cambio garantiza que tu código Python 3 reciba las variables de estado correctas de GhidraScript durante la ejecución. Consulta nuestro ejemplo de script Python 3 para Ghidra aquí para ver más de cerca cómo escribir scripts Python 3 para Ghidra.

¿Cómo funciona?

Ghidrathon vincula tu instalación local de Python con Ghidra utilizando el proyecto de código abierto Jep. Esencialmente, tu intérprete local de Python se ejecuta dentro de Ghidra con acceso a todos tus paquetes de Python y a la API estándar de scripting de Ghidra. Ghidrathon también funciona con entornos virtuales de Python, ayudándote a crear, aislar y gestionar paquetes que quizás solo desees tener instalados para usar en Ghidra. Debido a que Ghidrathon usa tu instalación local de Python, tienes control sobre la versión de Python y el entorno que se ejecuta dentro de Ghidra.

Para obtener más información sobre cómo Jep funciona para incrustar Python en Java, consulta su documentación aquí.

Consideraciones

Ghidrathon utiliza la librería de código abierto Jep, que usa la Interfaz Nativa de Java (JNI) para incrustar Python en la JVM. Los desarrolladores de Ghidra desaconsejan el uso de JNI en Ghidra por las razones discutidas aquí.

Descargar herramienta
HerramientaVersiónFuente
Ghidrathon>= 4.0.0https://github.com/mandiant/Ghidrathon/releases
Python>= 3.8.0https://www.python.org/downloads
Jep== 4.2.0https://pypi.org/project/jep
Ghidra>= 10.3.2https://github.com/NationalSecurityAgency/ghidra/releases
Java>= 17.0.0https://adoptium.net/temurin/releases