
Отпечатки HASSH для идентификации серверов OpenSSH, потенциально уязвимых к CVE-2024-6387 (regreSSHion).
Отпечатки HASSH для идентификации серверов OpenSSH, потенциально уязвимых к CVE-2024-6387 (regreSSHion).
Основная цель этого репозитория — предоставить сгенерированную базу данных отпечатков HASSH. Скрипты используют API Shodan для составления списка отпечатков HASSH для уязвимых версий OpenSSH. Сгенерированную базу данных можно использовать для запросов к Shodan или Censys с целью выявления потенциально уязвимых серверов OpenSSH. База данных hasshdb.txt также может быть использована с моим Nmap NSE скриптом, доступным на hassh-utils.
Строка идентификации SSH-сервера (также известная как version string) не является надёжным способом идентификации реализаций и версий SSH-серверов, так как её можно легко подделать, как это видно в honeypot'ах, например Cowrie. HASSH, разработанный Беном Рирдоном (с моим участием и участием Джона Алтхауса), представляет собой технику создания отпечатков, которая объединяет алгоритмы KEX, Encryption, MAC и Compression из сообщения SSH_MSG_KEXINIT для получения отпечатка для конкретных реализаций SSH. Дополнительную информацию о HASSH можно найти в блоге Salesforce Engineering и в репозитории HASSH.
Учитывая недавнюю уязвимость удалённого выполнения кода в OpenSSH (пост в блоге Qualys), я решил, что стоит создать базу данных отпечатков, поскольку HASSH поддерживается как в Shodan, так и в Censys и предоставляет более надёжный метод идентификации конкретных реализаций и версий SSH-серверов.
Отпечаток HASSH можно искать в Shodan с помощью запроса ssh.hassh и в Censys с помощью запроса services.ssh.hassh_fingerprint.
Скрипты Shodan создают следующие файлы данных:
hasshdb.txt: Текстовый файл, содержащий отформатированные отпечатки HASSH и связанные с ними версии OpenSSH, включая проценты достоверности.hasshdb.json: JSON-файл с базой данных HASSH, сопоставляющий каждый отпечаток HASSH с его версиями OpenSSH и количеством.potentially-vulnerable.json: JSON-файл, содержащий отпечатки HASSH потенциально уязвимых серверов, общее количество и топ-100 строк версий/идентификаций.Примечание: Скрипты используют фасеты Shodan и метод count(), который не возвращает подробных результатов и не требует платного тарифного плана. Этот метод также намного быстрее, чем метод search().