Docs
Личный кабинетЛК

Handshake


Описание

Модуль handshake предназначен для выполнения частичного TLS-рукопожатия с сервером. В рамках работы модуля отправляется сообщение TLS ClientHello, чтобы протестировать доступные версии протокола и наличие сертификатов. Модуль принимает данные, полученные от сервера в ответе ServerHello.

Модуль handshake проверяет:

  • Доступные версии протокола.
  • Наличие и детали сертификатов сервера.

Основные возможности:

  • Выполняет частичное TLS-рукопожатие, не завершая полный процесс.
  • Собирает данные из ответа сервера ServerHello.
  • Избегает установления защищённого канала и обмена ключами шифрования.

Автоматически запускает (если это возможно) модуль certificate (см. Certificate)

Запуск сканирования

Для данного модуля свойство runPolicy может быть как always так и triggered

Поля для default секции

port

number

Номер порта (от 0 до 65535).

sni

string

Строка (SNI, Server Name Indication).


Поля для mutate секции

port

number

Номер порта (от 0 до 65535).

sni

string

Строка (SNI, Server Name Indication).


Результаты сканирования

ip

string

IP-адрес целевого хоста.

port

number

Номер порта.

sni

string

Server Name Indication (SNI) — имя сервера, переданное клиентом в процессе TLS-рукопожатия.

version

string

Версия протокола TLS или SSL, используемая в рукопожатии.

versionName

string

Версия протокола в формате строки.

cipherSuite

CipherSuite[]

Шифровальный набор, используемый в процессе рукопожатия (см. структура CipherSuite).

ja3s

string

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

ja3sDigest

string

Хэш отпечатка JA3S.


Структура CipherSuite

id

string

Уникальный идентификатор.

name

string

Название набора шифров.

security

number

Уровень безопасности.

securityName

string

Название уровня безопасности (secure, recommended, weak, insecure).

order

number

Порядок, с которым сервер выдал данный шифр при запросе (0,1,2...).

Пример использования


tasks:
- uses: handshake@v1
default:
port: 443
runPolicy: always

tasks:
- uses: handshake@v1
events:
- event: tcp/probe@v1
mutate:
port: ${{ value.port }}
condition: value.isTls
- event: certificate@v1
mutate:
port: ${{ value.port }}
condition: value.port > 0
default:
port: 443
runPolicy: triggered
Назад
mDNS
Вперед
Certificate