
Быстрый сканер SSL/TLS, который обнаруживает поддерживаемые наборы шифров, протоколы и уязвимости (Heartbleed, POODLE, CRIME) с анализом цепочки сертификатов и перечислением обмена ключами.
Вышла версия 2 sslscan. Она включает в себя серьёзную переработку внутреннего кода сканирования, благодаря чему многие проверки больше не зависят от версии OpenSSL. Это позволяет поддерживать устаревшие протоколы (SSLv2 и SSLv3), а также TLSv1.3 — независимо от версии OpenSSL, с которой был собран sslscan.
Это стало возможным в значительной степени благодаря работе jtesta, который отвечал за большую часть переработки внутреннего кода.
Другие ключевые изменения включают:
--http, так как она была сломана и почти не использовалась.Потенциально критическое изменение было внесено в XML-вывод версии 2.0.0-beta4. Ранее могло возвращаться несколько элементов <certificate> (один по умолчанию и второй при использовании --show-certificate).
Основные изменения:
<certificates>, который будет содержать элементы <certificate>.<certificate> появился новый атрибут type, который может быть:
short для вывода по умолчанию.full при использовании --show-certificate.<signature-algorithm> в <certificate> больше не содержит префикса «Signature Algorithm:» и пробелов с переводом строки.Если вы используете XML-вывод, возможно, вам потребуется внести изменения в свой парсер.
Это форк версии sslscan от ioerror (исходный readme приведён ниже), поддерживаемый rbsec ([email protected]).
Основные изменения:
--show-certificate).--failed).--ipv6).--no-compression).--no-ciphersuites.--no-colour.-p.--no-heartbleed).--rdp (спасибо skettler).Рекомендуется игнорировать системную установку OpenSSL и статически собрать со своей версией. Хотя это приводит к более тяжёлому бинарнику sslscan (размер файла, потребление памяти и т.д.), это позволяет выполнять некоторые дополнительные проверки, такие как сжатие TLS. Обратите внимание: начиная с версии sslscan 2.2.0, минимальная требуемая версия OpenSSL — 3.5.0 (LTS). Если в вашем дистрибутиве установлена более старая версия, сборка с ней не сработает, и вам придётся выполнить статическую сборку.
Чтобы скомпилировать собственную версию OpenSSL, скорее всего, потребуется установить зависимости сборки OpenSSL. Приведённые ниже команды можно использовать для этого в Debian.
apt install git zlib1g-dev make gcc
Затем выполните
make static
Это клонирует репозиторий OpenSSL, сконфигурирует/скомпилирует/протестирует OpenSSL, после чего скомпилирует sslscan.
Обратите внимание: по умолчанию OpenSSL компилируется с помощью gcc без дополнительных настроек. Для компиляции с clang установите зависимости сборки, используя команды ниже.
apt install git zlib1g-dev make clang
Затем выполните
make static CC=clang
Вы можете проверить, статически ли слинкована ваша версия OpenSSL, посмотрев, содержит ли версия, выводимая sslscan --version, суффикс -static.
Убедитесь, что ваша локальная установка Docker работает, и соберите контейнер с помощью:
make docker
Или вручную:
docker build -t sslscan:sslscan .
Затем вы можете запустить sslscan с помощью:
docker run --rm -ti sslscan:sslscan --help
Благодаря патчу от jtesta, sslscan теперь можно скомпилировать в Windows. Это можно сделать как нативно, так и путём кросскомпиляции из Linux. Смотрите INSTALL для инструкций.
Обратите внимание, что sslscan изначально написан для Linux и не был тщательно протестирован в Windows. Поэтому версию для Windows следует считать экспериментальной.
Предварительно собранные кросс-компилированные бинарники для Windows доступны на странице релизов GitHub.
Существует экспериментальная поддержка статической сборки на macOS (ранее называлась OS X), однако её следует считать неподдерживаемой. Возможно, вам потребуется установить любые зависимости, необходимые для компиляции OpenSSL из исходников на macOS (ранее называлась OS X). После этого просто выполните:
make static
Это форк sslscan.c для лучшей поддержки STARTTLS.
Оригинальная домашняя страница sslscan:
http://www.titania.co.uk
sslscan изначально написан:
Ian Ventura-Whiting
Текущая домашняя страница этого форка (до тех пор, пока upstream не примет готовый патч):
http://www.github.com/ioerror/sslscan
Большая часть настройки протоколов до TLS была вдохновлена программой OpenSSL s_client.c. Цель этого форка — в конечном итоге слиться с оригинальным проектом после того, как настройка STARTTLS будет доработана.
Некоторая часть кода настройки OpenSSL была позаимствована из программы Tor проекта Tor. Поэтому, вероятно, правильно соблюдать лицензию BSD, указав: Copyright (c) 2007-2010, The Tor Project, Inc.
--sleep для паузы между запросами.--no-preferred.--show-client-cas.--no-cipher-details.--cipher-details.--starttls-ldap.--sni-name (спасибо Ken).--iana-names.--show-certificates.