Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
gimphash — Imphash-ähnliche Berechnung für Golang-Binaries | Kitploit
Tools/GitHubGitHub/nextronsystems/gimphash
Hash-AnalyseReverse EngineeringMalware-AnalyseBinäranalyse
GitHubnextronsystems/gimphash

gimphash

Imphash-ähnliche Berechnung für Golang-Binaries

Repository anzeigen
50113vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

gimphash

gimphash ist eine vorgeschlagene Methode, um ein imphash-Äquivalent für Go-Binaries zu berechnen. Der Name steht für Go-import-hash.

Golang-Binaries enthalten ihre Abhängigkeiten als Teil der ausführbaren Datei. Diese Abhängigkeiten umfassen sowohl Pakete der Standardbibliothek als auch Drittanbieter-Abhängigkeiten und können analog zu einem klassischen Imphash verwendet werden, um ein Golang-Projekt zu identifizieren.

Die Abhängigkeiten können mithilfe der pclntab aufgelistet werden, die Teil jedes Golang-Binaries ist (siehe auch diesen Blogbeitrag von Mandiant). Die pclntab enthält eine Reihe interessanter Elemente für das Reverse Engineering; für den gimphash verwenden wir die darin enthaltenen Funktionsnamen.

Berechnung

  1. Lokalisiere die pclntab in einem Golang-Binary
  2. Liste Golang-Funktionen mithilfe der functab in der pclntab auf und iteriere über ihre Namen:
    1. Ignoriere Funktionsnamen, die mit go. oder type. beginnen (Kompilierungsartefakte, Laufzeitinterna)
    2. Wenn ein Funktionsname vendor/ enthält, verwerfe diesen Teilstring und alles davor (z.B. transformiere vendor/golang.org/x/text zu golang.org/x/text)
    3. Ignoriere Funktionsnamen, die internal/ enthalten
    4. Ignoriere Funktionsnamen, die mit einem der folgenden Pakete der Standardbibliothek beginnen:
      • runtime
      • sync
      • syscall
      • type
      • time
      • unicode
      • reflect
      • strconv
    5. Ignoriere Funktionsnamen, die nicht öffentlich sind oder deren Empfänger nicht öffentlich sind. Gehe dazu wie folgt vor:
      1. Finde das letzte / im Funktionsnamen. Wenn kein / gefunden wird, verwende stattdessen den Anfang. Beginnend an dieser Position, finde den nächsten ..
      2. Extrahiere den Basis-Funktionsnamen als alles nach diesem .. Wenn kein . gefunden wurde, verwende alles nach dem im vorherigen Schritt berechneten /-Index.
      3. Ignoriere die Funktion, wenn das erste alphanumerische Zeichen im Basis-Funktionsnamen ein Kleinbuchstabe ist.
      4. Wenn ein weiteres . im Basis-Funktionsnamen vorhanden ist, ignoriere die Funktion, wenn das erste alphanumerische Zeichen nach diesem . ein Kleinbuchstabe ist.
    6. Speichere den resultierenden Namen, sofern er bisher nicht ignoriert wurde, in einer geordneten Liste
  3. Berechne den SHA-256-Hash über die konkatenierten Namen (ohne Trennzeichen)

Proof-of-Concept-Implementierungen

Dieses Repository enthält Proof-of-Concept-Code in den folgenden Sprachen:

  • C
  • Go

Der Release-Abschnitt enthält vorkompilierte Binaries für Windows und Linux.

Verwendungsbeispiele

Führe den Gimphash-Rechner auf einer einzelnen Datei aus

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

Führe den Gimphash-Rechner auf einem Malware-Repository aus

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

Clustering-Beispiel

Screenshot 2022-07-02 at 10 11 38

Tool herunterladen