Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
hashdb — Assortimento di algoritmi di hashing utilizzati nel malware | Kitploit
Strumenti/GitHubGitHub/oalabs/hashdb
Analisi StaticaAnalisi HashReverse EngineeringAnalisi MalwareAnalisi di Binari
GitHuboalabs/hashdb

hashdb

Assortimento di algoritmi di hashing utilizzati nel malware

Vedi Repository
405742719 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
overview_hashdb

AWS Deploy Chat Support

HashDB

HashDB è una libreria di algoritmi di hashing usati nei malware, alimentata dalla community.

Come Usare HashDB

HashDB può essere usato come libreria di hashing autonoma, ma alimenta anche il servizio di lookup HashDB gestito da OALabs. Questo servizio consente agli analisti di invertire gli hash e recuperare nomi di API e valori di stringhe sottoposti a hashing.

Modulo Stand Alone

HashDB può essere clonato e usato nei tuoi script di reverse engineering come qualsiasi modulo Python standard. Di seguito un esempio di codice.

>>> import hashdb
>>> hashdb.list_algorithms()
['crc32']
>>> hashdb.algorithms.crc32.hash(b'test')
3632233996

Servizio di Lookup HashDB

OALabs gestisce un servizio di lookup HashDB gratuito che può essere usato per interrogare una tabella di hash per qualsiasi hash elencato nella libreria HashDB. Nelle tabelle sono inclusi l'insieme completo delle API Windows e molte stringhe comuni usate nei malware. Puoi persino aggiungere le tue stringhe!

Plugin HashDB per IDA

Il servizio di lookup HashDB dispone di un plugin per IDA Pro che consente di automatizzare le ricerche di hash direttamente da IDA! Il client può essere scaricato da GitHub qui.

Come Aggiungere Nuovi Hash

HashDB si basa sul supporto della community per mantenere aggiornata la nostra libreria di hash! Il nostro obiettivo è che i contributori impieghino non più di cinque minuti per aggiungere un nuovo hash, dal primo commit alla PR. Per raggiungere questo obiettivo offriamo il seguente processo semplificato.

  1. Assicurati che l'algoritmo di hash non esista già… sappiamo che sembra banale, ma ricontrolla.

  2. Crea un branch con un nome descrittivo.

  3. Aggiungi un nuovo file Python alla directory /algorithms con il nome del tuo algoritmo di hash. Cerca di usare il nome ufficiale dell'algoritmo o, se è unico, usa il nome del malware a cui è associato.

  4. Usa il seguente template per configurare il tuo nuovo algoritmo di hash. Tutti i campi sono obbligatori e fanno distinzione tra maiuscole e minuscole.

    #!/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. Ricontrolla il tuo stile Python: usiamo Flake8 su Python 3.9. Puoi provare i seguenti comandi di lint localmente dalla root del repository git.

    pip install flake8
    flake8 ./algorithms --count --select=E9,F63,F7,F82 --show-source --statistics
    
  6. Testa il tuo codice localmente usando la nostra suite di test. Esegui i seguenti comandi localmente dalla root del repository git. Nota che devi eseguire pytest come modulo e non direttamente, altrimenti non rileverà la nostra directory di test.

    pip install pytest
    python -m pytest
    
  7. Apri una pull request: il tuo nuovo algoritmo verrà automaticamente messo in coda per i test e, in caso di successo, sarà unito.

Tutto qui! Il tuo nuovo hash non sarà solo disponibile nella libreria HashDB, ma verrà generata una nuova tabella per il servizio di lookup HashDB e potrai iniziare subito a invertire gli hash!

❗Regole per i Nuovi Hash

Le PR con modifiche al di fuori della directory /algorithms non fanno parte della nostra CI automatizzata e saranno soggette a un controllo aggiuntivo.

Tutti gli hash devono avere una descrizione valida nel campo DESCRIPTION.

Tutti gli hash devono avere un tipo unsigned_int o unsigned_long nel campo TYPE. HashDB attualmente accetta solo hash unsigned a 32 o 64 bit.

Tutti gli hash devono avere l'hash della stringa ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 nel campo TEST_1.

Tutti gli hash devono includere una funzione hash(data) che accetta una stringa di byte e restituisce un hash della stringa.

Aggiungere Hash API Personalizzati

Alcuni algoritmi di hash calcolano l'hash del nome del modulo e dell'API separatamente e combinano gli hash per creare un unico hash modulo+API. Un esempio è il classico hash ROR13 di Metasploit. Questi algoritmi non funzionano con la wordlist standard e richiedono una wordlist personalizzata che includa sia il nome del modulo che l'API. Per gestirli, consentiamo algoritmi personalizzati che restituiscono un hash valido solo per alcune parole.

L'aggiunta di un hash API personalizzato richiede i seguenti componenti aggiuntivi.

  1. Il campo TEST_1 deve essere impostato a 4294967294 (-1).

  2. L'algoritmo di hash deve restituire il valore 4294967294 per tutti gli hash non validi.

  3. Deve essere aggiunto un campo aggiuntivo TEST_API_DATA_1 con una parola di esempio valida per l'algoritmo.

  4. Deve essere aggiunto un campo aggiuntivo TEST_API_1 con l'hash del campo TEST_API_DATA_1.

Sulle Spalle dei Giganti

Un grande ringraziamento al team FLARE per il loro lavoro con shellcode_hashes. Molti anni fa questo progetto ha alzato l'asticella per l'inversione rapida e semplice degli hash nei malware ed è ancora uno strumento estremamente utile. Quindi perché duplicarlo?

Francamente, si tratta soprattutto di wordlist e accessibilità. Abbiamo assistito a un cambiamento radicale verso l'uso degli hash per qualsiasi tipo di stringa nei malware, e il vecchio metodo di hash di tutti gli export delle DLL di Windows non è più sufficiente. Volevamo una soluzione in grado di elaborare continuamente milioni di chiavi e valori di registro, nomi di file e nomi di processo. E volevamo che quei dati fossero disponibili tramite una REST API, così da poterli usare nei nostri flussi di automazione e non solo nei nostri strumenti di analisi statica. Detto questo, senza shellcode_hashes non esisteremmo, quindi il merito va a chi è dovuto 🙌


Scarica lo strumento