Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
hashdb — Ассортимент алгоритмов хеширования, используемых в вредоносном ПО | Kitploit
Инструменты/GitHubGitHub/oalabs/hashdb
Статический анализАнализ хэшейОбратная инженерияАнализ вредоносных программАнализ Бинарных Файлов
GitHuboalabs/hashdb

hashdb

Ассортимент алгоритмов хеширования, используемых в вредоносном ПО

Репозиторий
405746 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
overview_hashdb

AWS Deploy Chat Support

HashDB

HashDB — это библиотека алгоритмов хэширования, используемых в вредоносном ПО, созданная силами сообщества.

Как использовать HashDB

HashDB можно использовать как самостоятельную библиотеку хэширования, а также он питает сервис поиска HashDB, поддерживаемый OALabs. Этот сервис позволяет аналитикам восстанавливать хэши и получать хэшированные имена API и строковые значения.

Автономный модуль

HashDB можно клонировать и использовать в своих скриптах для реверс-инжиниринга как любой стандартный Python-модуль. Ниже приведён пример кода.

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

Сервис поиска HashDB

OALabs предоставляют бесплатный сервис поиска HashDB, с помощью которого можно запросить хэш-таблицу для любого хэша из библиотеки HashDB. В хэш-таблицы включён полный набор Windows API, а также множество распространённых строк, используемых в вредоносном ПО. Вы даже можете добавить собственные строки!

Плагин HashDB для IDA

Сервис поиска HashDB имеет плагин для IDA Pro, который позволяет автоматизировать поиск хэшей прямо из IDA! Клиент можно скачать с GitHub здесь.

Как добавить новые хэши

HashDB полагается на поддержку сообщества, чтобы наша библиотека хэшей оставалась актуальной! Наша цель — чтобы контрибьюторы тратили не более пяти минут на добавление нового хэша — от первого коммита до PR. Для достижения этой цели мы предлагаем следующий оптимизированный процесс.

  1. Убедитесь, что такого алгоритма хэширования ещё не существует… знаем, это звучит глупо, но просто перепроверьте.

  2. Создайте ветку с описательным названием.

  3. Добавьте новый Python-файл в каталог /algorithms с названием вашего алгоритма хэширования. Старайтесь использовать официальное название алгоритма, а если он уникален — название вредоносного ПО, для которого он характерен.

  4. Используйте следующий шаблон для настройки вашего нового алгоритма хэширования. Все поля обязательны и чувствительны к регистру.

    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. Перепроверьте свой стиль Python: мы используем Flake8 на Python 3.9. Вы можете запустить следующие команды линтера локально из корня git-репозитория.

    root@kitploit:~
    pip install flake8
    flake8 ./algorithms --count --select=E9,F63,F7,F82 --show-source --statistics
    
  6. Протестируйте свой код локально с помощью нашего набора тестов. Выполните следующие команды локально из корня git-репозитория. Обратите внимание, что pytest нужно запускать как модуль, а не напрямую, иначе он не подхватит наш каталог тестов.

    root@kitploit:~
    pip install pytest
    python -m pytest
    
  7. Отправьте pull request — ваш новый алгоритм будет автоматически поставлен в очередь на тестирование, и в случае успеха будет объединён.

Вот и всё! Ваш новый хэш будет доступен не только в библиотеке HashDB, но и для него будет создана новая хэш-таблица для сервиса поиска HashDB, так что вы сможете начать восстанавливать хэши немедленно!

❗Правила для новых хэшей

PR с изменениями вне каталога /algorithms не являются частью нашего автоматизированного CI и будут подвергнуты дополнительной проверке.

Все хэши должны иметь корректное описание в поле DESCRIPTION.

Все хэши должны иметь тип либо unsigned_int, либо unsigned_long в поле TYPE. HashDB в настоящее время принимает только беззнаковые 32-битные и 64-битные хэши.

Все хэши должны содержать хэш строки ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 в поле TEST_1.

Все хэши должны включать функцию hash(data), которая принимает байтовую строку и возвращает хэш этой строки.

Добавление пользовательских API-хэшей

Некоторые алгоритмы хэширования хэшируют имя модуля и API по отдельности, а затем объединяют результаты в единый хэш модуль+API. Примером такого подхода является стандартный хэш Metasploit ROR13. Эти алгоритмы не будут работать со стандартным списком слов и требуют пользовательского списка, включающего как имя модуля, так и API. Чтобы обработать такие случаи, мы разрешаем пользовательские алгоритмы, которые будут возвращать корректный хэш только для некоторых слов.

Добавление пользовательского API-хэша требует следующих дополнительных компонентов.

  1. Поле TEST_1 должно быть установлено в 4294967294 (-1).

  2. Алгоритм хэширования должен возвращать значение 4294967294 для всех недопустимых хэшей.

  3. Должно быть добавлено дополнительное поле TEST_API_DATA_1 с примером слова, допустимого для данного алгоритма.

  4. Должно быть добавлено дополнительное поле TEST_API_1 с хэшем значения поля TEST_API_DATA_1.

Стоя на плечах гигантов

Огромная благодарность команде FLARE за их работу над shellcode_hashes. Много лет назад этот проект задал высокую планку для быстрого и простого восстановления хэшей вредоносного ПО, и он до сих пор остаётся чрезвычайно полезным инструментом. Так зачем его дублировать?

Честно говоря, дело в списке слов и доступности. Мы наблюдаем резкий сдвиг в сторону использования хэшей для самых разных строк в вредоносном ПО, и старый метод хэширования всех экспортов Windows DLL уже недостаточно хорош. Мы хотели получить решение, способное непрерывно обрабатывать миллионы ключей и значений реестра, имён файлов и процессов. И мы хотели, чтобы эти данные были доступны через REST API, чтобы использовать их в наших автоматизированных рабочих процессах, а не только в инструментах статического анализа. При этом без shellcode_hashes нас бы не существовало, так что почёт тому, кто его заслужил 🙌


Скачать инструмент