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
hashdb — Assortiment d'algorithmes de hachage utilisés dans les malwares | Kitploit
Outils/GitHubGitHub/oalabs/hashdb
Analyse StatiqueAnalyse de HachageRétro-ingénierieAnalyse de MalwareAnalyse de Binaires
GitHuboalabs/hashdb

hashdb

Assortiment d'algorithmes de hachage utilisés dans les malwares

Voir le dépôt
40574il y a 6 moisVé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
overview_hashdb

AWS Deploy Chat Support

HashDB

HashDB est une bibliothèque d'algorithmes de hachage utilisés dans les malwares, issue de la communauté.

Comment utiliser HashDB

HashDB peut être utilisé comme bibliothèque de hachage autonome, mais il alimente également le service de recherche HashDB géré par OALabs. Ce service permet aux analystes d'inverser des hash et de retrouver des noms d'API hachés ainsi que des valeurs de chaînes de caractères.

Module autonome

HashDB peut être cloné et utilisé dans vos scripts de rétro-ingénierie comme n'importe quel module Python standard. Voici un exemple de code.

root@kitploit:~
>>> import hashdb
>>> hashdb.list_algorithms()
['crc32']
>>> hashdb.algorithms.crc32.hash(b'test')
3632233996

Service de recherche HashDB

OALabs gère un service de recherche HashDB gratuit qui permet d'interroger une table de hachage pour n'importe quel hash répertorié dans la bibliothèque HashDb. Les tables de hachage incluent l'ensemble complet des API Windows ainsi que de nombreuses chaînes courantes utilisées dans les malwares. Vous pouvez même ajouter vos propres chaînes !

Plugin IDA HashDB

Le service de recherche HashDB dispose d'un plugin IDA Pro qui permet d'automatiser les recherches de hash directement depuis IDA ! Le client peut être téléchargé depuis GitHub ici.

Comment ajouter de nouveaux hash

HashDB repose sur le soutien de la communauté pour maintenir sa bibliothèque de hash à jour ! Notre objectif est que les contributeurs ne passent pas plus de cinq minutes à ajouter un nouveau hash, du premier commit à la PR. Pour atteindre cet objectif, nous proposons le processus simplifié suivant.

  1. Assurez-vous que l'algorithme de hachage n'existe pas déjà… nous savons que cela semble évident, mais vérifiez bien.

  2. Créez une branche avec un nom descriptif.

  3. Ajoutez un nouveau fichier Python dans le répertoire /algorithms avec le nom de votre algorithme de hachage. Essayez d'utiliser le nom officiel de l'algorithme ou, s'il est unique, utilisez le nom du malware auquel il est propre.

  4. Utilisez le modèle suivant pour configurer votre nouvel algorithme de hachage. Tous les champs sont obligatoires et sensibles à la casse.

    root@kitploit:~
    #!/usr/bin/env python
    
    DESCRIPTION = "your hash description here"
    # Type can be either 'unsigned_int' (32bit) or 'unsigned_long' (64bit)
    TYPE = 'unsigned_int'
    # Test must match the exact hash of the string 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
    TEST_1 = hash_of_string_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
    
    
    def hash(data):
        # your hash code here
    
  5. Vérifiez votre style Python, nous utilisons Flake8 sur Python 3.9. Vous pouvez essayer les commandes de lint suivantes localement depuis la racine du dépôt git.

    root@kitploit:~
    pip install flake8
    flake8 ./algorithms --count --select=E9,F63,F7,F82 --show-source --statistics
    
  6. Testez votre code localement à l'aide de notre suite de tests. Exécutez les commandes suivantes localement depuis la racine du dépôt git. Notez que vous devez exécuter pytest en tant que module plutôt que directement, sinon il ne détectera pas notre répertoire de tests.

    root@kitploit:~
    pip install pytest
    python -m pytest
    
  7. Soumettez une pull request — votre nouvel algorithme sera automatiquement mis en file d'attente pour les tests et, en cas de succès, il sera fusionné.

Et voilà ! Non seulement votre nouveau hash sera disponible dans la bibliothèque HashDB, mais une nouvelle table de hachage sera générée pour le service de recherche HashDB et vous pourrez commencer à inverser des hash immédiatement !

❗Règles pour les nouveaux hash

Les PR avec des modifications hors du répertoire /algorithms ne font pas partie de notre CI automatisée et seront soumises à un examen plus approfondi.

Tous les hash doivent avoir une description valide dans le champ DESCRIPTION.

Tous les hash doivent avoir un type unsigned_int ou unsigned_long dans le champ TYPE. HashDB n'accepte actuellement que les hash non signés de 32 bits ou 64 bits.

Tous les hash doivent avoir le hash de la chaîne ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 dans le champ TEST_1.

Tous les hash doivent inclure une fonction hash(data) qui accepte une chaîne d'octets et renvoie un hash de la chaîne.

Ajout de hash d'API personnalisés

Certains algorithmes de hachage hachent le nom du module et l'API séparément, puis combinent les hash pour créer un hash unique module+API. Un exemple est le hash Metasploit ROR13 standard. Ces algorithmes ne fonctionnent pas avec la liste de mots standard et nécessitent une liste de mots personnalisée incluant à la fois le nom du module et l'API. Pour gérer cela, nous autorisons des algorithmes personnalisés qui ne renverront un hash valide que pour certains mots.

L'ajout d'un hash d'API personnalisé nécessite les éléments supplémentaires suivants.

  1. Le champ TEST_1 doit être défini sur 4294967294 (-1).

  2. L'algorithme de hachage doit renvoyer la valeur 4294967294 pour tous les hash invalides.

  3. Un champ supplémentaire TEST_API_DATA_1 doit être ajouté avec un exemple de mot valide pour l'algorithme.

  4. Un champ supplémentaire TEST_API_1 doit être ajouté avec le hash du champ TEST_API_DATA_1.

Sur les épaules de géants

Un grand merci à l'équipe FLARE pour son travail sur shellcode_hashes. Il y a de nombreuses années, ce projet a établi la référence pour l'inversion rapide et facile des hash de malwares, et c'est toujours un outil extrêmement utile. Alors pourquoi le dupliquer ?

Franchement, tout est une question de liste de mots et d'accessibilité. Nous avons assisté à un changement radical vers l'utilisation de hash pour toutes sortes de chaînes dans les malwares, et l'ancienne méthode consistant à hacher tous les exports des DLL Windows ne suffit tout simplement plus. Nous voulions une solution capable de traiter en continu des millions de clés et de valeurs de registre, de noms de fichiers et de noms de processus. Et nous voulions que ces données soient disponibles via une API REST afin de pouvoir les utiliser dans nos workflows d'automatisation, et pas seulement dans nos outils d'analyse statique. Cela dit, nous n'existerions pas sans shellcode_hashes, alors rendons à César ce qui appartient à César 🙌


Télécharger l’outil