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
hashdb — Conjunto de algoritmos de hash utilizados en malware | Kitploit
Herramientas/GitHubGitHub/oalabs/hashdb
Análisis EstáticoAnálisis de HashIngeniería InversaAnálisis de MalwareAnálisis de Binarios
GitHuboalabs/hashdb

hashdb

Conjunto de algoritmos de hash utilizados en malware

Ver Repositorio
40574hace 6 mesesRevisado 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
overview_hashdb

AWS Deploy Chat Support

HashDB

HashDB es una biblioteca de algoritmos de hash creada por la comunidad y utilizada en malware.

Cómo usar HashDB

HashDB puede utilizarse como una biblioteca de hash independiente, pero también alimenta el Servicio de búsqueda de HashDB gestionado por OALabs. Este servicio permite a los analistas invertir hashes y recuperar nombres de API y valores de cadena hasheados.

Módulo independiente

HashDB se puede clonar y usar en tus scripts de ingeniería inversa como cualquier módulo estándar de Python. A continuación se muestra un ejemplo de código.

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

Servicio de búsqueda de HashDB

OALabs ofrece un servicio de búsqueda de HashDB gratuito que puede utilizarse para consultar una tabla hash para cualquier hash incluido en la biblioteca de HashDb. Las tablas hash incluyen el conjunto completo de API de Windows, así como muchas cadenas comunes utilizadas en malware. ¡Incluso puedes añadir tus propias cadenas!

Plugin HashDB para IDA

El servicio de búsqueda de HashDB tiene un plugin para IDA Pro que puede utilizarse para automatizar las búsquedas de hash directamente desde IDA. El cliente se puede descargar desde GitHub aquí.

Cómo añadir nuevos hashes

¡HashDB depende del apoyo de la comunidad para mantener nuestra biblioteca de hash actualizada! Nuestro objetivo es que los colaboradores dediquen no más de cinco minutos a añadir un nuevo hash, desde el primer commit hasta el PR. Para lograr este objetivo ofrecemos el siguiente proceso optimizado.

  1. Asegúrate de que el algoritmo de hash no exista ya… sabemos que parece una tontería, pero solo vuelve a comprobarlo.

  2. Crea una rama con un nombre descriptivo.

  3. Añade un nuevo archivo Python al directorio /algorithms con el nombre de tu algoritmo de hash. Intenta usar el nombre oficial del algoritmo o, si es único, usa el nombre del malware para el que es único.

  4. Utiliza la siguiente plantilla para configurar tu nuevo algoritmo de hash. Todos los campos son obligatorios y distinguen entre mayúsculas y minúsculas.

    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. Vuelve a comprobar tu estilo de Python, usamos Flake8 en Python 3.9. Puedes probar los siguientes comandos de lint localmente desde la raíz del repositorio git.

    root@kitploit:~
    pip install flake8
    flake8 ./algorithms --count --select=E9,F63,F7,F82 --show-source --statistics
    
  6. Prueba tu código localmente con nuestra suite de pruebas. Ejecuta los siguientes comandos localmente desde la raíz del repositorio git. Ten en cuenta que debes ejecutar pytest como módulo y no directamente, o no detectará nuestro directorio de pruebas.

    root@kitploit:~
    pip install pytest
    python -m pytest
    
  7. Envía un pull request: tu nuevo algoritmo se pondrá automáticamente en cola para las pruebas y, si tiene éxito, se fusionará.

¡Eso es todo! Tu nuevo hash no solo estará disponible en la biblioteca de HashDB, sino que también se generará una nueva tabla hash para el Servicio de búsqueda de HashDB y podrás empezar a invertir hashes de inmediato.

❗Reglas para nuevos hashes

Los PR con cambios fuera del directorio /algorithms no forman parte de nuestro CI automatizado y estarán sujetos a un escrutinio adicional.

Todos los hashes deben tener una descripción válida en el campo DESCRIPTION.

Todos los hashes deben tener un tipo unsigned_int o unsigned_long en el campo TYPE. HashDB actualmente solo acepta hashes sin signo de 32 o 64 bits.

Todos los hashes deben tener el hash de la cadena ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 en el campo TEST_1.

Todos los hashes deben incluir una función hash(data) que acepte una cadena de bytes y devuelva un hash de la cadena.

Añadir hashes de API personalizados

Algunos algoritmos de hash calculan el hash del nombre del módulo y de la API por separado y combinan los hashes para crear un único hash de módulo+API. Un ejemplo de esto es el hash ROR13 de Metasploit estándar. Estos algoritmos no funcionan con la lista de palabras estándar y requieren una lista de palabras personalizada que incluya tanto el nombre del módulo como la API. Para manejar estos casos, permitimos algoritmos personalizados que solo devuelvan un hash válido para algunas palabras.

Añadir un hash de API personalizado requiere los siguientes componentes adicionales.

  1. El campo TEST_1 debe establecerse en 4294967294 (-1).

  2. El algoritmo de hash debe devolver el valor 4294967294 para todos los hashes no válidos.

  3. Debe añadirse un campo adicional TEST_API_DATA_1 con una palabra de ejemplo que sea válida para el algoritmo.

  4. Debe añadirse un campo adicional TEST_API_1 con el hash del campo TEST_API_DATA_1.

A hombros de gigantes

Un gran agradecimiento al equipo de FLARE por su trabajo con shellcode_hashes. Hace muchos años, este proyecto estableció el estándar para la inversión rápida y sencilla de hashes de malware, y sigue siendo una herramienta extremadamente útil. Entonces, ¿por qué duplicarlo?

Francamente, todo se reduce a la lista de palabras y la accesibilidad. Hemos visto un cambio drástico hacia el uso de hashes para todo tipo de cadenas en el malware actual, y el antiguo método de aplicar hash a todas las exportaciones de las DLL de Windows ya no es suficiente. Queríamos una solución que pudiera procesar continuamente millones de claves y valores de registro, nombres de archivo y nombres de procesos. Y queríamos que esos datos estuvieran disponibles a través de una API REST para poder usarlos en nuestros flujos de trabajo de automatización, no solo en nuestras herramientas de análisis estático. Dicho esto, no existiríamos sin shellcode_hashes, así que crédito a quien corresponde 🙌


Descargar herramienta