Repolode
salesforce

salesforce/jarm

JARM — инструмент активного снятия TLS-отпечатков серверов: он отправляет специально сформированные Client Hello и помогает выявлять конфигурации и вредоносную инфраструктуру.

Звёзды
1,326
Форки
156
Открытые issues
16
Последний коммит
2 месяца назад

Что это?

JARM — написанный на Python инструмент активного снятия TLS-отпечатков серверов. Он отправляет целевому серверу 10 специально сформированных пакетов TLS Client Hello, собирает атрибуты ответов Server Hello и объединяет их в 62-символьный отпечаток. Первые 30 символов кодируют выбранные для каждой пробы шифр и версию TLS, а оставшиеся 32 — это усечённый хеш SHA256 расширений.

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

JARM запускается из командной строки для одного домена или IP-адреса, а встроенный shell-скрипт позволяет сканировать большие списки целей пакетно. Проект служит активным аналогом JA3/S, который пассивно снимает отпечатки трафика.

Ключевые возможности

  • 01Отправляет каждой цели 10 специально сформированных проб TLS Client Hello и собирает ответы сервера.
  • 02Создаёт компактный 62-символьный отпечаток, которым удобно делиться и сравнивать.
  • 03Поддерживает сканирование одного домена или IP-адреса и работу через прокси.
  • 04Включает shell-скрипт для пакетного сканирования больших списков целей с сохранением результатов в CSV.
  • 05Требует Python 3 и распространяется по лицензии BSD-3-Clause.

Сценарии использования

  • Проверка согласованности TLS-конфигурации группы серверов.
  • Группировка серверов, доступных из интернета, по ПО или инфраструктуре поставщика, на которой они работают.
  • Поиск серверов управления и контроля при расследовании инцидентов или исследовании угроз.

Быстрый старт

  1. 1

    Установите зависимости из requirements.txt

    pip install -r requirements.txt
  2. 2

    Определите отпечаток домена или IP-адреса

    python3 jarm.py www.salesforce.com

Что важно знать

  • Программа активно отправляет пробные пакеты целевым серверам, поэтому не подходит для пассивного мониторинга трафика.

Темы

Частые вопросы

Что такое jarm?
JARM — инструмент активного снятия TLS-отпечатков серверов: он отправляет специально сформированные Client Hello и помогает выявлять конфигурации и вредоносную инфраструктуру. JARM — написанный на Python инструмент активного снятия TLS-отпечатков серверов. Он отправляет целевому серверу 10 специально сформированных пакетов TLS Client Hello, собирает атрибуты ответов Server Hello и объединяет их в 62-символьный отпечаток. Первые 30 символов кодируют выбранные для каждой пробы шифр и версию TLS, а оставшиеся 32 — это усечённый хеш SHA256 расширений.
jarm можно использовать бесплатно? Какая у него лицензия?
jarm распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
jarm всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в jarm — 13 авг. 2026 г..
Для чего можно использовать jarm?
Проверка согласованности TLS-конфигурации группы серверов. Группировка серверов, доступных из интернета, по ПО или инфраструктуре поставщика, на которой они работают. Поиск серверов управления и контроля при расследовании инцидентов или исследовании угроз.
Как установить jarm?
Установите зависимости из requirements.txt: pip install -r requirements.txt Определите отпечаток домена или IP-адреса: python3 jarm.py www.salesforce.com
Где скачать jarm?
Исходный код и инструкции по установке — на GitHub: https://github.com/salesforce/jarm

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Инструмент с открытым исходным кодом для автоматизации OSINT: собирает данные об IP-адресах, доменах, email и других целях из более чем 200 источников для анализа угроз и картирования поверхности атаки.

23,6 тыс.3,8 тыс.PythonMITОбновлён 6 месяцев назад

Самостоятельно размещаемый инструмент для сетевой разведки на Go: обнаруживает, распознаёт и отслеживает устройства в локальной сети через веб-консоль с обновлениями в реальном времени.

1,9 тыс.132GoOtherОбновлён 2 месяца назад