⏺️Быстрое и полностью настраиваемое TLS-соединение;
⏺️Несколько режимов для TLS-подключения;
⏺️Несколько TLS-зондов для проверки;
⏺️Автоматический откат (fallback) на более старые версии TLS;
⏺️TLS-подключение до завершения рукопожатия;
⏺️Настраиваемые параметры: шифры, SNI, версии TLS;
⏺️Обнаружение неверных конфигураций TLS;
⏺️Поддерживает ввод ASN, CIDR, IP, HOST, и URL;
⏺️STD ввод/вывод и TXT/JSON.
Для успешной установки tlsx требуется Go версии 1.21 и команду
go install github.com/projectdiscovery/tlsx/cmd/tlsx@latest. Скачать уже скомпилированный двоичный файл можно со страницы релизов. Также можно использовать инструмент в качестве библиотеки, примеры использования приведены в директории examples.✔️ Использование
tlsx требует ip-адрес для установки TLS-соединения и поддерживает несколько форматов, перечисленных ниже.
AS1449 # ввод ASN
173.0.84.0/24 # ввод CIDR
93.184.216.34 # ввод IP
example.com # ввод DNS
example.com:443 # ввод DNS с портом
https://example.com:443 # ввод URL с портом
tlsx по умолчанию подключается к порту 443, который можно изменить с помощью флага -port / -p.
tlsx -u hackerone.com -p 443,8443
Если входной хост содержит порт, например 8.8.8.8:443 или hackerone.com:8443, для подключения по TLS будет использоваться порт, указанный для хоста
Поддомены, полученные из TLS-сертификатов, можно передавать другим инструментам для дальнейшей проверки. Ниже приведена команда для передачи поддоменов tls в dnsx для их фильтрации и дальнейшая передача в httpx для получения списка хостов, на которых работают активные веб-сервисы.
echo 173.0.84.0/24 | tlsx -san -cn -silent -resp-only | dnsx -silent | httpx
В tlsx можно указать список хостов для обнаружения истекших / самоподписанных / несоответствующих / отозванных / ненадежных сертификатов
tlsx -l hosts.txt -expired -self-signed -mismatched -revoked -untrusted
tlsx предоставляет несколько режимов для создания TLS-подключения: default, crypto/tls, zcrypto/tls, openssl. Режим default поддерживается для обеспечения максимального охвата и сканирования хостов, использующих более старую версию TLS, с повторной попыткой подключения в режимах ztls и openssl при любой ошибке подключения.
Пример использования режима ztls для сканирования веб-сайта с помощью старой / устаревшей версии TLS.
echo tls-v1-0.badssl.com | tlsx -port 1010 -sm ztls
Минимальную и максимальную версии TLS можно указать с помощью флагов -min-version и -max-version, поскольку по умолчанию эти значения устанавливаются используемой библиотекой.
