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
gimphash — Cálculo tipo imphash en binarios Golang | Kitploit
Herramientas/GitHubGitHub/nextronsystems/gimphash
Análisis de HashIngeniería InversaAnálisis de MalwareAnálisis de Binarios
GitHubnextronsystems/gimphash

gimphash

Cálculo tipo imphash en binarios Golang

Ver Repositorio
50113hace 4 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

gimphash

gimphash es un método propuesto para calcular un equivalente de imphash para binarios de Go. Su nombre proviene de Go-import-hash.

Los binarios de Golang contienen sus dependencias como parte del ejecutable. Estas dependencias incluyen tanto paquetes de la biblioteca estándar como dependencias de terceros, y pueden utilizarse, de forma análoga a un imphash clásico, para identificar un proyecto Golang.

Las dependencias se pueden enumerar mediante la pclntab que forma parte de cada binario Golang (consulte también esta entrada de blog de Mandiant). La pclntab contiene varios elementos interesantes para la ingeniería inversa; para el gimphash usaremos los nombres de función que contiene.

Cálculo

  1. Localizar la pclntab dentro de un binario Golang
  2. Enumerar las funciones de Golang mediante la functab dentro de la pclntab e iterar sobre sus nombres:
    1. Ignorar los nombres de función que empiecen por go. o type. (artefactos de compilación, elementos internos del runtime)
    2. Si un nombre de función contiene vendor/, descartar esa subcadena y todo lo anterior (p. ej., transformar vendor/golang.org/x/text en golang.org/x/text)
    3. Ignorar los nombres de función que contengan internal/
    4. Ignorar los nombres de función que comiencen con uno de los siguientes paquetes de la biblioteca estándar:
      • runtime
      • sync
      • syscall
      • type
      • time
      • unicode
      • reflect
      • strconv
    5. Ignorar los nombres de función que no sean públicos o cuyos receptores no sean públicos. Para ello:
      1. Encontrar la última / en el nombre de función. Si no se encuentra ninguna /, usar el inicio en su lugar. A partir de esa posición, encontrar el siguiente ..
      2. Extraer el nombre base de la función como todo lo que hay después de ese .. Si no se encontró ningún ., usar todo lo que haya después del índice de / calculado en el paso anterior.
      3. Ignorar la función si el primer carácter alfanumérico del nombre base de la función es una letra minúscula.
      4. Si existe otro . dentro del nombre base de la función, ignorar la función si el primer carácter alfanumérico después de ese . es una letra minúscula.
    6. Almacenar el nombre resultante, si no se ha ignorado hasta ahora, en una lista ordenada
  3. Calcular el hash SHA-256 de los nombres concatenados (sin delimitador)

Implementaciones de Prueba de Concepto

Este repositorio contiene código de prueba de concepto en los siguientes lenguajes:

  • C
  • Go

La sección de lanzamientos contiene binarios precompilados para Windows y Linux.

Ejemplos de Uso

Ejecutar la calculadora Gimphash en un solo archivo

root@kitploit:~
./c_gimphash_linux /mnt/malware-repo/Godoh/godoh-windows64.exe
8200e76e42c4e9cf2bb308d76c017cbdcde5cbbf95e99e02b14d05e7b21505f3 /mnt/mal/Godoh/godoh-windows64.exe

Ejecutar la calculadora Gimphash en un repositorio de malware

root@kitploit:~
find /mnt/malware-repo/ -type f -exec ./go_gimphash_linux {} \; 2>/dev/null
...

Ejemplo de Agrupamiento

Screenshot 2022-07-02 at 10 11 38

Descargar herramienta