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
Uchihash — Una piccola utility per gestire hash incorporati nel malware. | Kitploit
Strumenti/GitHubGitHub/n1ght-w0lf/uchihash
Analisi HashReverse EngineeringScripting e AutomazioneAnalisi MalwareAnalisi di Binari
GitHubn1ght-w0lf/uchihash

Uchihash

Una piccola utility per gestire hash incorporati nel malware.

Vedi Repository
527693 anni 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

Uchihash

Uchihash è un piccolo strumento che può far risparmiare tempo agli analisti malware nella gestione di valori hash incorporati utilizzati per varie cose come:

  • Importare dinamicamente API (specialmente in shellcode)
  • Verificare i processi in esecuzione utilizzati dagli analisti (Anti-Analisi)
  • Verificare artefatti di VM o Antivirus (Anti-Analisi)

Caratteristiche

  • Generare hash utilizzando un algoritmo standard o un proprio algoritmo di hash personalizzato.
  • Generare script (IDC, IDAPython, Ghidra) per annotare valori hash nel proprio database di analisi.
  • Generare una mappa hash e cercare valori hash.

Installazione

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

Utilizzo

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      Algoritmo di hash
  --apis           Calcola hash delle API
  --keywords       Calcola hash delle parole chiave
  --list LIST      Calcola hash della propria lista di parole
  --script SCRIPT  File script contenente il proprio algoritmo di hash personalizzato
  --search SEARCH  Cerca un file JSON contenente hash mappati a parole
  --hashes HASHES  File contenente una lista di hash da cercare
  --idaidc         Genera uno script IDC per annotare valori hash in IDA Pro
  --idapython      Genera uno script IDAPython per annotare valori hash in IDA Pro
  --ghidra         Genera uno script Python per annotare valori hash 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

Note

  • --algo: Uno degli algoritmi di hash disponibili

  • --apis: Genera hash di una vasta lista di API di Windows (vedi data/apis_list.txt)

  • --keywords: Genera hash di una lista di parole chiave comuni utilizzate da famiglie di malware come strumenti di analisi e artefatti di VM/Antivirus/EDR (vedi data/keywords_list.txt)

  • --list : Le parole sono separate da un newline (vedi examples/mywords.txt)

  • --script: La funzione di hash deve chiamarsi hashme e accetta un argomento che è una stringa di byte che rappresenta il valore di cui vogliamo calcolare l'hash, e il valore di ritorno deve essere in formato esadecimale (vedi examples/custom_algo.txt)

  • --search: Il file da cercare deve essere in formato JSON (vedi examples/searchme.txt)

  • --hashes: I valori hash sono separati da un newline e devono essere in formato esadecimale (vedi examples/myhashes.txt)

vedi la cartella examples per maggiori chiarimenti

Algoritmi di hash disponibili

  • 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

Esempio

Prendiamo un esempio con una famiglia di malware reale, in questo caso abbiamo BuerLoader che utilizza valori hash per importare dinamicamente API e utilizza un algoritmo di hash personalizzato.

Per prima cosa dobbiamo implementare l'algoritmo di hash in Python:

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)

Poi calcoliamo gli hash di tutte le API usando il seguente comando:

$ python uchihash.py --script custom_algo.py --apis --idapython

Questo comando genererà due file, il primo è "output/search_hashmap.txt" che mappa i valori hash ai nomi delle API corrispondenti come segue:

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

Il secondo file è "output/idapython_script.py" che puoi eseguire in IDA Pro e lo script aggiungerà i commenti hash al tuo IDB come visto sotto:

Scarica lo strumento