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

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

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

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

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

Категории

Все категории
Loading categories
hfinger — Генерирует уникальные отпечатки HTTP-запросов вредоносного ПО из файлов pcap с помощью Tshark, что позволяет идентифицировать и группировать семейства вредоносного ПО на основе анализа структуры запросов, заголовков и характеристик полезной нагрузки. | Kitploit
Инструменты/GitHubGitHub/cert-polska/hfinger
Сбор информацииАнализ вредоносных программРазведка угроз
GitHubcert-polska/hfinger

hfinger

Генерирует уникальные отпечатки HTTP-запросов вредоносного ПО из файлов pcap с помощью Tshark, что позволяет идентифицировать и группировать семейства вредоносного ПО на основе анализа структуры запросов, заголовков и характеристик полезной нагрузки.

Репозиторий
14710603 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Hfinger - фингерпринтинг HTTP-запросов вредоносного ПО

Инструмент для фингерпринтинга HTTP-запросов вредоносного ПО. Основан на Tshark и написан на Python3. Стадия рабочего прототипа :-)

Его основная цель — предоставлять уникальные представления (отпечатки) запросов вредоносного ПО, которые помогают в их идентификации. Уникальный означает здесь, что каждый отпечаток должен встречаться только в одном конкретном семействе вредоносных программ, но одно семейство может иметь несколько отпечатков. Hfinger представляет запрос в более короткой форме, чем вывод всего запроса, но при этом интерпретируемой человеком.

Hfinger может использоваться как при ручном анализе вредоносного ПО, так и в песочницах или SIEM. Сгенерированные отпечатки полезны для группировки запросов, привязки запросов к конкретным семействам вредоносных программ, идентификации различных операций одного семейства или обнаружения неизвестных вредоносных запросов, пропущенных другими системами безопасности, но имеющих общий отпечаток.

Научная статья сопровождает работу над этим инструментом, описывая, например, мотивацию выбора дизайна и оценку инструмента по сравнению с p0f, FATT и Mercury.

Содержание

  1. Идея
  2. Установка
  3. Использование
  4. Создание отпечатка
  5. Режимы отчета

Идея

Основное предположение этого проекта заключается в том, что HTTP-запросы разных семейств вредоносного ПО более или менее уникальны, поэтому их можно фингерпринтировать для обеспечения некоторой идентификации. Hfinger сохраняет информацию о структуре и значениях некоторых заголовков, чтобы предоставить средства для дальнейшего анализа. Например, группировка похожих запросов — на данный момент это еще находится в разработке.

После анализа HTTP-запросов и заголовков вредоносного ПО мы определили некоторые части запросов как наиболее отличительные. К ним относятся:

  • Метод запроса
  • Версия протокола
  • Порядок заголовков
  • Значения популярных заголовков
  • Длина полезной нагрузки, энтропия и наличие не-ASCII символов

Кроме того, были учтены некоторые стандартные особенности URL запроса.

Все эти части были преобразованы в набор признаков, подробно описанных здесь.

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

Установка

Минимальные требования, необходимые перед установкой:

  • Python >= 3.3,
  • Tshark >= 2.2.0.

Установка доступна из PyPI:

pip install hfinger

Hfinger был протестирован на Xubuntu 22.04 LTS с пакетом tshark версии 3.6.2, но должен работать с более старыми версиями, такими как 2.6.10 на Xubuntu 18.04 или 3.2.3 на Xubuntu 20.04.

Обратите внимание, что, как и в случае с любым PoC, запускать Hfinger следует в изолированной среде, по крайней мере, с виртуальным окружением Python. Его настройка здесь не рассматривается, но вы можете попробовать этот учебник.

Использование

После установки вы можете вызывать инструмент непосредственно из командной строки с помощью hfinger или как модуль Python с помощью python -m hfinger.

Например:

foo@bar:~$ hfinger -f /tmp/test.pcap
[{"epoch_time": "1614098832.205385000", "ip_src": "127.0.0.1", "ip_dst": "127.0.0.1", "port_src": "53664", "port_dst": "8080", "fingerprint": "2|3|1|php|0.6|PO|1|us-ag,ac,ac-en,ho,co,co-ty,co-le|us-ag:f452d7a9/ac:as-as/ac-en:id/co:Ke-Al/co-ty:te-pl|A|4|1.4"}]

Справку можно вывести с помощью короткого ключа -h или длинного --help:

usage: hfinger [-h] (-f FILE | -d DIR) [-o output_path] [-m {0,1,2,3,4}] [-v]
               [-l LOGFILE]

Hfinger - fingerprinting malware HTTP requests stored in pcap files

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Read a single pcap file
  -d DIR, --directory DIR
                        Read pcap files from the directory DIR
  -o output_path, --output-path output_path
                        Path to the output directory
  -m {0,1,2,3,4}, --mode {0,1,2,3,4}
                        Fingerprint report mode. 
                        0 - similar number of collisions and fingerprints as mode 2, but using fewer features, 
                        1 - representation of all designed features, but a little more collisions than modes 0, 2, and 4, 
                        2 - optimal (the default mode), 
                        3 - the lowest number of generated fingerprints, but the highest number of collisions, 
                        4 - the highest fingerprint entropy, but slightly more fingerprints than modes 0-2
  -v, --verbose         Report information about non-standard values in the request 
                        (e.g., non-ASCII characters, no CRLF tags, values not present in the configuration list). 
                        Without --logfile (-l) will print to the standard error.
  -l LOGFILE, --logfile LOGFILE
                        Output logfile in the verbose mode. Implies -v or --verbose switch.

Вы должны указать путь к файлу pcap (-f) или каталогу (-d) с файлами pcap. Вывод в формате JSON. Он будет выведен в стандартный вывод или в указанный каталог (-o) с использованием имени исходного файла. Например, вывод команды:

hfinger -f example.pcap -o /tmp/pcap

будет сохранен в:

/tmp/pcap/example.pcap.json

Режим отчета -m/--mode можно использовать для изменения режима отчета по умолчанию, указав целое число в диапазоне 0-4. Режимы различаются представленными признаками запроса или методами округления. Режим по умолчанию (2) был выбран нами для представления всех признаков, которые обычно используются при анализе запросов, но также обеспечивает низкое количество коллизий и сгенерированных отпечатков. С другими режимами можно добиться разных целей. Например, в режиме 3 вы получаете меньшее количество сгенерированных отпечатков, но более высокую вероятность коллизии между семействами вредоносного ПО. Если вы не уверены, можете ничего не менять. Дополнительная информация о режимах отчета здесь.

Начиная с версии 0.2.1 Hfinger стал менее подробным. Вам следует использовать -v/--verbose, если вы хотите получать информацию о нестандартных значениях заголовков, не-ASCII символах в части запроса, не являющейся полезной нагрузкой, отсутствии тегов CRLF (\r\n\r\n) и других проблемах с анализируемыми запросами, которые не являются ошибками приложения. При возникновении таких проблем в подробном режиме они будут выведены в стандартный поток ошибок. Вы также можете сохранить журнал в указанное место с помощью ключа -l/--log (он подразумевает -v/--verbose). Данные журнала будут добавлены в файл журнала.

Использование hfinger в приложении на Python

Начиная с версии 0.2.0, Hfinger поддерживает импорт в другие приложения на Python. Чтобы использовать его в своем приложении, просто импортируйте функцию hfinger_analyze из hfinger.analysis и вызовите ее с путем к файлу pcap и режимом отчета. Возвращаемый результат — список словарей с результатами фингерпринтинга.

Например:

from hfinger.analysis import hfinger_analyze

pcap_path = "SPECIFY_PCAP_PATH_HERE"
reporting_mode = 4
print(hfinger_analyze(pcap_path, reporting_mode))
Скачать инструмент