Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Uchihash — Una pequeña utilidad para tratar con hashes incrustados en malware. | Kitploit
Herramientas/GitHubGitHub/n1ght-w0lf/uchihash
Análisis de HashIngeniería InversaScripting y AutomatizaciónAnálisis de MalwareAnálisis de Binarios
GitHubn1ght-w0lf/uchihash

Uchihash

Una pequeña utilidad para tratar con hashes incrustados en malware.

Ver Repositorio
52750hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Uchihash

Uchihash es una pequeña herramienta que puede ahorrar tiempo a los analistas de malware al manejar valores hash incrustados utilizados para diversas cosas, como:

  • Importación dinámica de APIs (especialmente en shellcode)
  • Verificación de procesos en ejecución utilizados por analistas (Anti-Análisis)
  • Comprobación de artefactos de VM o Antivirus (Anti-Análisis)

Características

  • Generar hashes utilizando un algoritmo estándar o tu propio algoritmo hash personalizado.
  • Generar scripts (IDC, IDAPython, Ghidra) para anotar valores hash en tu base de datos de análisis.
  • Generar un mapa hash y buscar valores hash.

Instalación

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

Uso

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

Notas

  • --algo: Uno de los algoritmos hash disponibles

  • --apis: Hashea una enorme lista de APIs de Windows (consulta data/apis_list.txt)

  • --keywords: Hashea una lista de palabras clave comunes utilizadas por familias de malware, como herramientas de análisis y artefactos de VM/Antivirus/EDR (consulta data/keywords_list.txt)

  • --list : Las palabras están separadas por un salto de línea (consulta examples/mywords.txt)

  • --script: La función hash debe llamarse hashme y toma un argumento que es una cadena de bytes que representa el valor para el que queremos calcular el hash, y el valor de retorno debe estar en formato hexadecimal (consulta examples/custom_algo.txt)

  • --search: El archivo a buscar debe estar en formato JSON (consulta examples/searchme.txt)

  • : Los valores hash están separados por un salto de línea y deben estar en formato hexadecimal (consulta )

Consulta la carpeta de ejemplos para más aclaraciones.

Algoritmos Hash 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

Ejemplo

Tomemos un ejemplo con una familia de malware real; en este caso tenemos BuerLoader, que utiliza valores hash para importar dinámicamente APIs y emplea un algoritmo hash personalizado.

Primero necesitamos implementar el algoritmo hash 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)

Luego calculamos los hashes de todas las APIs usando el siguiente comando:

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

Este comando generará dos archivos: el primero es "output/search_hashmap.txt" que mapea los valores hash con los nombres de sus API correspondientes de la siguiente manera:

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

El segundo archivo es "output/idapython_script.py", que puedes ejecutar en IDA Pro y el script agregará los comentarios hash a tu IDB como se muestra a continuación:

Descargar herramienta
--hashes
examples/myhashes.txt