Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Uchihash — Un petit utilitaire pour traiter les hachages intégrés aux logiciels malveillants. | Kitploit
Outils/GitHubGitHub/n1ght-w0lf/uchihash
Analyse de HachageRétro-ingénierieScripting et AutomatisationAnalyse de MalwareAnalyse de Binaires
GitHubn1ght-w0lf/uchihash

Uchihash

Un petit utilitaire pour traiter les hachages intégrés aux logiciels malveillants.

Voir le dépôt
52750il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Uchihash

Uchihash est un petit outil qui permet aux analystes de malwares de gagner du temps lorsqu'ils doivent traiter des valeurs de hachage intégrées utilisées pour diverses choses telles que :

  • Importer dynamiquement des API (en particulier dans le shellcode)
  • Vérifier les processus en cours d'exécution utilisés par les analystes (Anti-Analyse)
  • Vérifier les artefacts de machine virtuelle ou d'antivirus (Anti-Analyse)

Fonctionnalités

  • Générer des hachages à l'aide d'un algorithme standard ou de votre propre algorithme de hachage personnalisé.
  • Générer des scripts (IDC, IDAPython, Ghidra) pour annoter les valeurs de hachage dans votre base de données d'analyse.
  • Générer une table de correspondance des hachages et rechercher des valeurs de hachage.

Installation

root@kitploit:~
$ git clone https://github.com/N1ght-W0lf/Uchihash.git
$ pip install -r requirements.txt

Utilisation

root@kitploit:~
usage: uchihash.py [-h] [--algo ALGO] [--apis] [--keywords] [--list LIST] [--script SCRIPT] [--search SEARCH]
                   [--hashes HASHES] [--idaidc] [--idapython]

options:
  -h, --help       show this help message and exit
  --algo ALGO      Hashing algorithm
  --apis           Calculate hashes of APIs
  --keywords       Calculate hashes of keywords
  --list LIST      Calculate hashes of your own word list
  --script SCRIPT  Script file containing your custom hashing algorithm
  --search SEARCH  Search a JSON File containing hashes mapped to words
  --hashes HASHES  File containing list of hashes to search for
  --idaidc         Generate an IDC script to annotate hash values in IDA Pro
  --idapython      Generate an IDAPython script to annotate hash values in IDA Pro
  --ghidra         Generate a python script to annotate hash values in Ghidra

Examples:
    * python uchihash.py --algo crc32 --apis
    * python uchihash.py --algo murmur3 --list mywords.txt
    * python uchihash.py --script myalgo.py --apis --idapython
    * python uchihash.py --search hashmap.txt --hashes myhashes.txt

Remarques

  • --algo : Un des algorithmes de hachage disponibles

  • --apis : Hache une énorme liste d'API Windows (voir data/apis_list.txt)

  • --keywords : Hache une liste de mots-clés courants utilisés par les familles de malwares tels que les outils d'analyse et les artefacts de VM/Antivirus/EDR (voir data/keywords_list.txt)

  • --list : Les mots sont séparés par une nouvelle ligne (voir examples/mywords.txt)

  • --script : La fonction de hachage doit s'appeler hashme et prend un argument qui est une chaîne d'octets représentant la valeur pour laquelle nous voulons calculer le hachage, et la valeur de retour doit être au format hexadécimal (voir examples/custom_algo.txt)

  • --search : Le fichier à rechercher doit être au format JSON (voir examples/searchme.txt)

  • : Les valeurs de hachage sont séparées par une nouvelle ligne et doivent être au format hexadécimal (voir )

voir le dossier examples pour plus de clarification

Algorithmes de hachage disponibles

  • md4
  • md5
  • sha1
  • sha224
  • sha256
  • sha384
  • sha512
  • ripemd160
  • whirlpool
  • crc8
  • crc16
  • crc32
  • crc64
  • djb2
  • sdbm
  • loselose
  • fnv1_32
  • fnv1a_32
  • fnv1_64
  • fnv1a_64
  • murmur3

Exemple

Prenons un exemple avec une famille de malwares réelle, dans ce cas nous avons BuerLoader qui utilise des valeurs de hachage pour importer dynamiquement des API et qui utilise un algorithme de hachage personnalisé.

D'abord, nous devons implémenter l'algorithme de hachage en python :

root@kitploit:~
def ROR4(val, bits, bit_size=32):
    return ((val & (2 ** bit_size - 1)) >> bits % bit_size) | \
           (val << (bit_size - (bits % bit_size)) & (2 ** bit_size - 1))
    
def hashme(s):
    res = 0
    for c in s:
        v3 = ROR4(res, 13)
        v4 = c - 32
        if c < 97:
            v4 = c
        res = v4 + v3
    return hex(res)

Ensuite, nous calculons les hachages de toutes les API en utilisant la commande suivante :

root@kitploit:~
$ python uchihash.py --script custom_algo.py --apis --idapython

Cette commande générera deux fichiers. Le premier est "output/search_hashmap.txt" qui fait correspondre les valeurs de hachage à leurs noms d'API correspondants comme suit :

root@kitploit:~
{
  "0x8a8b468c": "LoadLibraryW",
  "0x302ebe1c": "VirtualAlloc",
  "0x1803b7e3": "VirtualProtect",
  "0xe183277b": "VirtualFree",
  "0x24e2968d": "GetComputerNameW",
  "0xab489125": "GetNativeSystemInfo",
  .......
}

Le deuxième fichier est "output/idapython_script.py" que vous pouvez exécuter dans IDA Pro et le script ajoutera les commentaires de hachage à votre IDB comme illustré ci-dessous :

Télécharger l’outil
--hashes
examples/myhashes.txt