TLS fingerprinting клиентов: типы хешей, утилиты для показа TLS отпечатков клиентов
Оглавление
1. TLS fingerprinting: методы идентификации клиентского и серверного программного обеспечения
2. TLS fingerprinting клиентов: типы хешей, утилиты для показа TLS отпечатков клиентов
2.1 Типы хешей для TLS fingerprinting клиентов
2.2 Инструменты для снятия TLS отпечатков клиентов
2.2.5 Онлайн сервис для показа JA3 и JA4 отпечатков
2.3. Недостатки TLS отпечатков клиентов. Что нужно знать о TLS fingerprinting
2.4 Базы данных хешей JA3, JA3N и JA4
2.5 TLS отпечатки клиентов могут меняться в новых версиях программного обеспечения
2.6 TLS fingerprinting клиентов протокола QUIC
3. TLS fingerprinting серверов: типы хешей, утилиты для показа TLS отпечатков серверов
4. Как изменить и подделать TLS отпечатки. Как обойти фильтрацию на основе TLS fingerprinting
2.1 Типы хешей для TLS fingerprinting клиентов
JA3 — первоначальный вариант TLS отпечатка клиента. В настоящее время веб-браузер Google Chrome активно противостоит получению этого TLS отпечатка — в результате для веб-браузера Google Chrome это значение каждый раз разное.
JA3_FULL — сырые данные, используемые для получения хеша JA3.
JA3N — улучшенный вариант JA3 — в нём выполнена сортировка той части данных, порядок которых рандоминизируется в Google Chrome, благодаря этому хеш становится одинаковым для всех запросов Google Chrome (и других приложений, которые используют такой способ воспрепятствования сбору TLS отпечатков).
JA3N_FULL — сырые данные, используемые для получения хеша JA3N.
Примечание: если вам интересно, какая часть данных рандоминизируется в Google Chrome, то это третья часть составляющей хеша, то есть SSLExtension (Список расширений SSL) — перечень расширений в одной версии Google Chrome остаётся неизменным, но порядок их перечисления меняется при каждом запросе.
JA4 — следующая версия TLS отпечатка клиента. В настоящее время для веб-браузера Google Chrome даёт одинаковые результаты. TLS отпечаток JA4 входит в группу цифровых отпечатков JA4+, их особенностью является то, что отпечатки состоят из нескольких частей, разделённых символом нижнее подчёркивание, например:
t13d1516h2_8daaf6152771_02713d6af862
Первая часть кодирует информацию и не хешируется, вторая и третья часть являются усечёнными хешами.
Рассмотрим структуру первой части хеша (JA4_a): Первый символ («t») означает протокол TCP; также может быть символ «q» означающий протокол QUIC. Следующие два символа означают версию TLS: 1.2 = «12», 1.3 = «13». Следующая буква может может быть «d» или «i» - это определяется на основе TLS расширения Server Name Indication (SNI) — если расширение поддерживается, то есть в TLS рукопожатии имеется имя домена, для которого оно предназначено, то указывается буква «d» которая означает «domain», если SNI отсутствует, то указывается буква «i», которая в данном случае означает «IP». Затем идёт двухзначное число — количество наборов шифров, без учёта GREASE. Затем ещё одно двухзначное число — количество расширений, без учёта GREASE. Наконец, последние два символа берутся из значения TLS расширения Application-Layer Protocol Negotiation (ALPN). Если расширение ALPN отсутствует, то указывается «00».
Вторая часть хеша (JA4_b) является усечённым хешем SHA256: полученным в результате хеширования строки отсортированного Набора Шифров.
Третья часть хеша (JA4_c) является усечённым хешем SHA256: полученным в результате хеширования отсортированной строки Расширений + Алгоритмов Подписи в том порядке, как они появляются.
Больше технических деталей о JA4 здесь: https://github.com/FoxIO-LLC/ja4/blob/main/technical_details/JA4.md
JA4_R — сырые данные, используемые для получения хеша JA4.
JA4_o и соответствующая ему строка сырых данных JA4_ro: это модификация хеша JA4, в этом хеше буква «o» означает «original» – имеется ввиду исходный порядок шифров, без их сортировки (как это делается в JA4), но за вычетом GREASE. Это означает, что включены SNI (0000) и ALPN (0010).
TS1 — использует большее количество данных для TLS fingerprinting клиентов, но ещё недоработан. Домашняя страница: https://github.com/lwthiker/ts1.
2.2 Инструменты для снятия TLS отпечатков клиентов
2.2.1 Wireshark
В настоящее время в Wireshark реализован показ JA3 и JA4 хешей, соответствующие фильтры:
tls.handshake.ja3 tls.handshake.ja4
Подробности смотрите здесь: Фильтры Wireshark для идентификации типа программного обеспечения
2.2.2 TShark
TShark (в некоторых дистрибутивах Linux пакет называется wireshark-cli) это консольный интерфейс Wireshark. С помощью TShark вы можете делать всё то же самое, что и с Wireshark, а если речь идёт об автоматизации, то равных TShark нет.
Следующая команда будет захватывать трафик и выводить хеши JA4:
sudo tshark -Y "tls.handshake.ja3" -T fields -e ip.src -e ipv6.src -e ip.dst -e ipv6.dst -e tls.handshake.extensions_server_name -e tls.handshake.ja4
Примечание: вы можете обратить внимание, что в фильтре отображения указан ja3, а в выводимом поле указан ja4 — ошибки здесь нет, все пакеты, для которых вычислен ja3, также обязательно содержат и ja4, поскольку для их вычисления используются данные одного типа. То есть -Y "tls.handshake.ja3" можно заменить на -Y "tls.handshake.ja4" и совершенно ничего не изменится — можно выбрать любое из этих значений.
Среди выводимых полей будут следующий:
- IP или IPv6 адрес клиента
- IP или IPv6 адрес сервера
- Домен, к которому отправлен запрос
- Хеш JA4
Если вы не подключены к сети IPv6, то вы можете удалить следующие опции из команды:
-e ipv6.src -e ipv6.dst
Одна команда может выводить одновременно хеши JA3 и JA4:
sudo tshark -Y "tls.handshake.ja3" -T fields -e ip.src -e ipv6.src -e ip.dst -e ipv6.dst -e tls.handshake.extensions_server_name -e tls.handshake.ja3 -e tls.handshake.ja4
Следующая команда анализирует файл с захваченным сетевым трафиком (путь до файла указывается после опции -r):
tshark -Y "tls.handshake.ja3" -T fields -e ip.src -e ipv6.src -e ip.dst -e ipv6.dst -e tls.handshake.extensions_server_name -e tls.handshake.ja3 -e tls.handshake.ja4 -r /mnt/disk_d/Share/Captures/ssl_443.pcapng
Если вы хотите получить хеши JA3 и JA4 для определённой программы, сделавшей запрос, то нужно совмещать команду с одним или несколькими следующими фильтрами:
IP или IPv6 адрес источника запроса:
ip.src ipv6.src
IP или IPv6 адрес сервера, на который отправлен запрос:
ip.dst ipv6.dst
Причём, нужно понимать, что для всех приложений на вашем компьютере IP или IPv6 адрес одинаковы, поэтому для получения желаемого результата нужно выполнить следующие действия:
1) сделать запрос клиентом, для которого вы хотите получить JA3 и JA4 отпечатки на определённый веб-сервер в Интернете
2) отфильтровать в TShark значения, в которых в качестве IP назначения указан IP или IPv6 адрес сервера.
Например, следующая команда покажет JA3 и JA4 отпечатки для клиента, который отправил запрос на сервер с IPv6 2604:a880:800:c1::2ae:d001:
tshark -Y "tls.handshake.ja3 and ipv6.dst == 2604:a880:800:c1::2ae:d001" -T fields -e ip.src -e ipv6.src -e ip.dst -e ipv6.dst -e tls.handshake.extensions_server_name -e tls.handshake.ja3 -e tls.handshake.ja4 -r /mnt/disk_d/Share/Captures/just-test.pcapng
Для выводимой информации вы можете указать заголовки и выбрать другой разделитель для полей данных (по умолчанию это символ табуляции). Если выбрать в качестве разделителя запятую, то такие данные можно сохранить в файл .csv и открыть программой, поддерживающей этот формат (например, LibreOffice Calc или MS Excel).
tshark -E separator=',' -E header=y -Y "tls.handshake.ja3" -T fields -e ip.src -e ipv6.src -e ip.dst -e ipv6.dst -e tls.handshake.extensions_server_name -e tls.handshake.ja3 -e tls.handshake.ja4 -r /mnt/disk_d/Share/Captures/just-test.pcapng > test.csv
Если вы хотите увидеть полные строки, из которых вычислены JA3 и JA4 хеши, то добавьте в вашу команду следующие опции:
-e tls.handshake.ja3_full -e tls.handshake.ja4_r
Например:
tshark -Y "tls.handshake.ja3" -T fields -e ip.src -e ipv6.src -e ip.dst -e ipv6.dst -e tls.handshake.extensions_server_name -e tls.handshake.ja3 -e tls.handshake.ja3_full -e tls.handshake.ja4 -e tls.handshake.ja4_r -r /mnt/disk_d/Share/Captures/just-test.pcapng
Если вы предпочитаете формат JSON, то вместо -T fields укажите -T json, например:
sudo tshark -E header=y -Y "tls.handshake.ja3" -T json -e ip.src -e ipv6.src -e ip.dst -e ipv6.dst -e tls.handshake.extensions_server_name -e tls.handshake.ja3 -e tls.handshake.ja4
Аналогично вывод в формате JSON можно получить при анализе файлов захвата:
tshark -T json -e ip.src -e ipv6.src -e ip.dst -e ipv6.dst -e tls.handshake.extensions_server_name -e tls.handshake.ja3 -e tls.handshake.ja4 -r /mnt/disk_d/Share/Captures/ssl_443.pcapng
2.2.3 JA4+
Репозиторий JA4+ содержит различные файлы, среди которых имеется скрипт на Python, который извлекает JA4, JA4S, JA4H, JA4L, JA4LS, JA4X, JA4SSH, JA4T, JA4TS отпечатки из файлов PCAP.
О том, как установить этот скрипт из JA4+ смотрите здесь: https://kali.tools/?p=7356 (раздел «Установка JA4+»).
Рассмотрим несколько примеров использования ja4.py из репозитория JA4+.
Чтобы вывести только JA4 хеши, обнаруженные в файле /mnt/disk_d/Share/Captures/ssl_443.pcapng:
python ja4.py --ja4 /mnt/disk_d/Share/Captures/ssl_443.pcapng
Пример вывода:
Вывести все типы хешей TLS отпечатков, обнаруженные в файле /mnt/disk_d/Share/Captures/ssl_443.pcapng, использовать формат JSON:
python ja4.py --json /mnt/disk_d/Share/Captures/ssl_443.pcapng
Пример вывода:
Вывести все типы хешей TLS отпечатков, обнаруженные в файле /mnt/disk_d/Share/Captures/ssl_443.pcapng, а также вывести сырые строки, используемые для вычисления хешей (-r), результат показать на экране в формате JSON (--json):
python ja4.py -r --json /mnt/disk_d/Share/Captures/ssl_443.pcapng
Пример вывода:
Вывести все типы хешей TLS отпечатков, обнаруженные в файле /mnt/disk_d/Share/Captures/just-test.pcapng только для пакетов, в которых целевым доменом является suip.biz:
python ja4.py /mnt/disk_d/Share/Captures/just-test.pcapng | grep "'domain': 'suip.biz'"
Пример вывода:
2.2.4 JA3-JA4-scanner
Все предыдущие инструменты не имеют возможности фильтрации, например, по User Agent (и это нормально, поскольку User Agent передаётся в зашифрованном виде и мы не можем получить к нему доступ без расшифровки трафика). Поэтому чтобы определить JA3 и JA4 для конкретной программы нужно выполнять фильтрацию по IP куда направлялся пакет и надеяться, что никакие другие приложения в этот момент не делали запрос на этот сервер.
Сформулируем задачу: собрать отпечатки JA3 и JA4 для различных приложений.
Для решения этой задачи можно использовать следующий алгоритм:
- Запустить TShark на короткое время, причём настроить фильтры на вывод информации об одном единственном IP — причём выбрать тот, на который приложения не отправляют данные без ведома пользователя
- Сделать запрос на выбранный сервер той программой, для которой нужно получить JA3 и JA4
Наверное, вы подумали, было бы неплохо написать небольшой скриптик, который бы этот процесс автоматизировал. Вы только подумали, а я уже сделал!
JA3-JA4-scanner — это утилита, которая покажет JA3 и JA4 отпечатки для программы на вашем компьютере (веб-браузера, утилиты командной строки или любого другого приложения, умеющего делать запросы по HTTPS протоколу).
Для скрипта необходима только TShark — если в вашей системе нет этой программы, то установите её как это показано в разделе Установка JA3-JA4-scanner.
Затем скачиваем сам скрипт:
wget https://kali.tools/files/scripts/ja3-ja4-scanner.sh
И запускаем:
sudo bash ja3-ja4-scanner.sh
Теперь просто откройте показанный на экране адрес, для которого вы хотите узнать JA3 и JA4 хеши — как только данные будут получены, программа выведет результаты на экран и завершит работу. Проще некуда — причём вы можете определить JA3 и JA4 хеши для любых приложений — от веб-браузера до скрипта на PHP.
2.2.5 Онлайн сервис для показа JA3 и JA4 отпечатков
Наконец, самый простой вариант — онлайн сервисы для сканирования JA3 и JA4 отпечатков. Я загрузил скрипт ja3-ja4-scanner.sh на свои сервера (понадобилась небольшая модификация) и теперь JA3 и JA4 хеши вы можете проверить онлайн — достаточно просто открыть страницу той программой для которой вы хотите узнать JA3 и JA4 отпечатки:
- Бесплатный онлайн сервис сканирования TLS отпечатков клиентских приложений (сканер JA3 и JA4): https://suip.biz/ru/?act=client-tls-fingerprinting
- Онлайн сканер JA3 и JA4 (зеркало): https://w-e-b.site/?act=client-tls-fingerprinting
У этого онлайн сервиса имеется вариант для консольных утилит, его адрес https://suip.biz/?act=ja4, пример использования:
curl -A 'Chrome' 'https://suip.biz/?act=ja4'
2.3 Недостатки TLS отпечатков клиентов. Что нужно знать о TLS fingerprinting
1) Для некоторых приложений хеш при первоначальном подключении и при переподключении могут различаться. Это связано с использованием TLS session resumption. Эту технологию должно поддерживать и клиентское приложение и веб-сервер. Обычно это характерно для веб-браузеров.
При всех своих преимуществах, TLS при первом подключении имеет довольно много «накладных расходов» (overhead): до начала обмена значимыми данными клиент и сервер в несколько циклов взаимного обмена данными согласовывают версии протокола, наборы шифров, отправляют и проверяют сертификат сайта, отправляют ключ шифрования, перепроверяют, что всё дошло без подделки и искажений. TLS session resumption служит именно для того, чтобы сократить overhead при повторном и всех последующих соединений (обычно такая возможность сохраняется до закрытия веб-браузера).
Но при использовании TLS session resumption рукопожатие TLS при повторном и всех последующих подключениях начинает отличаться. Это приводит к тому, что одного клиента характеризуют два значения хешей:
- первоначальное подключение
- все последующие переподключения
Пример JA3N и JA4 хешей, а также полных строк используемых для вычислений хешей полученных для веб-браузера Google Chrome 130.0 при первом подключении:
JA3N: 4c9ce26028c11d7544da00d3f7e4f45c JA3N_FULL: 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,25497-29-23-24,0 JA4: t13d1516h2_8daaf6152771_02713d6af862 JA4_R: t13d1516h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601
Эти же самые данные для того же самого браузера при повторном подключении (а также все последующих переподключениях, вплоть до закрытия веб-браузера):
JA3N: 0a84b1bbbb8d2d6094a8d8218d6d69bc JA3N_FULL: 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-41-43-45-51-17513-65037-65281,25497-29-23-24,0 JA4: t13d1517h2_8daaf6152771_b0da82dd1658 JA4_R: t13d1517h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,0029,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601
Как можно увидеть, первые две части хеша JA4 остаются неизменными, но меняется последняя часть. Хеш JA3N меняется полностью. Если начать вникать в полные (сырые) строки, из которых вычисляются хеши, то можно обратить внимание, что они почти идентичны — различаются только некоторые значения.
Но (максимум) два значения это не так плохо — у серверных TLS хешей всё ещё хуже 😄
2) Разные группы приложений — вредоносные и безобидные — могут иметь одинаковые хеши. Например, клиентские приложения, использующие популярные библиотеки или сокеты операционных систем (такие как Python, PowerShell, PHP, Windows Socket) будут иметь одинаковые хеши.
То есть если вирус написан на Python, PowerShell, PHP то он будет иметь такие же TLS отпечатки, как и другие скрипты на этих языках программирования и его не получится отличить от полезных программ. Или получится?
Авторы JA3 показали примеры, что сочетание клиентских и серверных TLS отпечатков позволяет (в некоторых случаях) однозначно отличить вредоносное ПО и даже мгновенно отследить перемещение серверов контролирующих ботнеты — независимо от смены IP и доменных имён (подробности здесь: https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967/).
К тому же, сама по себе сетевая активность скриптов Python и PowerShell в корпоративной среде офисных сотрудников — это довольно странно и это может стать сигналом о том, что происходит что-то такое, что происходить не должно.
3) TLS отпечатки возможно подделать, хотя для этого требуется специализированное ПО.
2.4 Базы данных хешей JA3, JA3N и JA4
Краткий итог этого раздела — в открытых источниках чего-то всеобъемлющего я не нашёл. Но, безусловно, у компаний, использующих TLS отпечатки, имеются проприетарные базы данных JA3, JA3N и JA4. Давайте рассмотрим то, что есть у нас в свободном доступе.
1) База данных JA4 от создателей JA4+
Базу данных от авторов JA4+ вы можете найти на этой странице: https://ja4db.com/
Вы можете её даже скачать: https://ja4db.com/api/download/
Честно говоря, меня эта БД не впечатлила — нет ни PowerShell, ни последней версии cURL, много дублей. Такое ощущение, что это просто извлечённые данные из захваченного трафика — хотелось бы чего-то получше.
2) ja4plus-mapping.csv
По моим ощущениям, больше полезного чем из первого пункта я получил из небольшой таблицы, размещённой по этому адресу (эту таблицу составили также авторы JA4+): https://github.com/FoxIO-LLC/ja4/blob/main/ja4plus-mapping.csv
3) База данных хешей JA3, JA3N и JA4 для веб-браузеров, языков программирования и утилит
Поскольку меня совсем не впечатлило то, что удалось найти, я собрал собственную небольшую базу данных хешей JA3, JA3N и JA4 для самых ходовых (с моей точки зрения) приложений, утилит и языков программирования. Следующая таблица поможет нам оценить, насколько различаются или пересекаются значения хешей для разного рода приложений и языков программирования.
Имя приложения | JA3 | JA3_FULL | JA3N | JA3N_FULL | JA4 | JA4_R | User Agent |
---|---|---|---|---|---|---|---|
Chrome / Chromium (Windows & Linux) (первое подключение) | N/A | N/A | 4c9ce26028c11d7544da00d3f7e4f45c | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,25497-29-23-24,0 | t13d1516h2_8daaf6152771_02713d6af862 | t13d1516h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 |
Chrome / Chromium (Windows & Linux) (переподключение) | N/A | N/A | 0a84b1bbbb8d2d6094a8d8218d6d69bc | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-41-43-45-51-17513-65037-65281,25497-29-23-24,0 | t13d1517h2_8daaf6152771_b0da82dd1658 | t13d1517h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,0029,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 |
FireFox (Windows & Linux) (первое подключение) | 2d692a4485ca2f5f2b10ecb2d2909ad3 | 771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-34-51-43-13-45-28-27-65037,4588-29-23-24-25-256-257,0 | 90634f51dcf65fc506946108904d6913 | 771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-156-157-47-53,0-5-10-11-13-16-23-27-28-34-35-43-45-51-65037-65281,4588-29-23-24-25-256-257,0 | t13d1716h2_5b57614c22b0_eeeea6562960 | t13d1716h2_002f,0035,009c,009d,1301,1302,1303,c009,c00a,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0017,001b,001c,0022,0023,002b,002d,0033,fe0d,ff01_0403,0503,0603,0804,0805,0806,0401,0501,0601,0203,0201 | Mozilla/5.0 (X11; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0 |
FireFox (Windows & Linux) (переподключение) | 1bd037f4362e6fb24b2718009dd1049a | 771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-156-157-47-53,0-23-65281-10-11-16-5-34-51-43-13-45-28-27-65037-41,4588-29-23-24-25-256-257,0 | ae5a0020003003358112604746bcef16 | 771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-156-157-47-53,0-5-10-11-13-16-23-27-28-34-41-43-45-51-65037-65281,4588-29-23-24-25-256-257,0 | t13d1716h2_5b57614c22b0_bdfeeec9ffef | t13d1716h2_002f,0035,009c,009d,1301,1302,1303,c009,c00a,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0017,001b,001c,0022,0029,002b,002d,0033,fe0d,ff01_0403,0503,0603,0804,0805,0806,0401,0501,0601,0203,0201 | Mozilla/5.0 (X11; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0 |
Edge (Windows) (первое подключение) | N/A | N/A | 4c9ce26028c11d7544da00d3f7e4f45c | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,25497-29-23-24,0 | t13d1516h2_8daaf6152771_02713d6af862 | t13d1516h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 |
Edge (Windows) (переподключение) | N/A | N/A | 0a84b1bbbb8d2d6094a8d8218d6d69bc | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-41-43-45-51-17513-65037-65281,25497-29-23-24,0 | t13d1517h2_8daaf6152771_b0da82dd1658 | t13d1517h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,0029,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0 |
Opera (Windows) (первое подключение) | N/A | N/A | 4c9ce26028c11d7544da00d3f7e4f45c | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,25497-29-23-24,0 | t13d1516h2_8daaf6152771_02713d6af862 | t13d1516h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 OPR/114.0.0.0 |
Opera (Windows) (переподключение) | N/A | N/A | 0a84b1bbbb8d2d6094a8d8218d6d69bc | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-41-43-45-51-17513-65037-65281,25497-29-23-24,0 | t13d1517h2_8daaf6152771_b0da82dd1658 | t13d1517h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,0029,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 OPR/114.0.0.0 |
Safari | |||||||
Android (Chrome) (Первое подключение) | N/A | N/A | 4c9ce26028c11d7544da00d3f7e4f45c | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,25497-29-23-24,0 | t13d1516h2_8daaf6152771_02713d6af862 | t13d1516h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601 | Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36 |
Android (Chrome) (Переподключение) | N/A | N/A | 74bbdbde1033b2f56a57e7ccc97d13fe | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-41-43-45-51-17513-65037-65281,29-23-24,0 | t13d1517h2_8daaf6152771_b0da82dd1658 | t13d1517h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,0029,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601 | Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36 |
Android (Firefox) | 8bc88bfe0bd40b49be5cae8597feb9a2 | 771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-34-51-43-13-45-28-27-65037,29-23-24-25-256-257,0 | 54d3e8667a6b6db7fa9367de7ec127de | 771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-156-157-47-53,0-5-10-11-13-16-23-27-28-34-35-43-45-51-65037-65281,29-23-24-25-256-257,0 | t13d1716h2_5b57614c22b0_eeeea6562960 | t13d1716h2_002f,0035,009c,009d,1301,1302,1303,c009,c00a,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0017,001b,001c,0022,0023,002b,002d,0033,fe0d,ff01_0403,0503,0603,0804,0805,0806,0401,0501,0601,0203,0201 | Mozilla/5.0 (Android 14; Mobile; rv:132.0) Gecko/132.0 Firefox/132.0 |
iPhone | 773906b0efdefa24a7f2b8eb6985bf37 | 771,4865-4866-4867-49196-49195-52393-49200-49199-52392-49162-49161-49172-49171-157-156-53-47-49160-49170-10,0-23-65281-10-11-16-5-13-18-51-45-43-27-21,29-23-24-25,0 | 44f7ed5185d22c92b96da72dbe68d307 | 771,4865-4866-4867-49196-49195-52393-49200-49199-52392-49162-49161-49172-49171-157-156-53-47-49160-49170-10,0-5-10-11-13-16-18-21-23-27-43-45-51-65281,29-23-24-25,0 | t13d2014h1_a09f3c656075_14788d8d241b | t13d2014h1_000a,002f,0035,009c,009d,1301,1302,1303,c008,c009,c00a,c012,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0015,0017,001b,002b,002d,0033,ff01_0403,0804,0401,0503,0203,0805,0805,0501,0806,0601,0201 | Mozilla/5.0 (iPhone; CPU iPhone OS 18_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Mobile/15E148 Safari/604.1 |
Прокси-сервер Squid | Передаётся от приложения, использующего прокси | ||||||
Python (requests, Windows) | a48c0d5f95b1ef98f560f324fd275da1 | 771,4866-4867-4865-49196-49200-49195-49199-52393-52392-49188-49192-49187-49191-159-158-107-103-255,0-11-10-16-22-23-49-13-43-45-51-21,29-23-30-25-24-256-257-258-259-260,0-1-2 | 62fcc66dfa1611e219a93df2d1bb1b24 | 771,4866-4867-4865-49196-49200-49195-49199-52393-52392-49188-49192-49187-49191-159-158-107-103-255,0-10-11-13-16-21-22-23-43-45-49-51,29-23-30-25-24-256-257-258-259-260,0-1-2 | t13d1812h1_85036bcba153_b26ce05bbdd6 | t13d1812h1_0067,006b,009e,009f,00ff,1301,1302,1303,c023,c024,c027,c028,c02b,c02c,c02f,c030,cca8,cca9_000a,000b,000d,0015,0016,0017,002b,002d,0031,0033_0403,0503,0603,0807,0808,0809,080a,080b,0804,0805,0806,0401,0501,0601,0303,0301,0302,0402,0502,0602 | python-requests/2.32.3 |
Python (requests, Linux) | 47175ad2a36618e885e11d5dbe61a201 | 771,4866-4867-4865-49196-49200-49195-49199-52393-52392-159-158-52394-49325-49324-49188-49192-49187-49191-49162-49172-49161-49171-49311-49310-107-103-57-51-157-156-49309-49308-61-60-53-47,65281-0-11-10-16-22-23-49-13-43-45-51-21,29-23-30-25-24-256-257-258-259-260,0-1-2 | 3dad9b940b32a516735f72ca85f7bcac | 771,4866-4867-4865-49196-49200-49195-49199-52393-52392-159-158-52394-49325-49324-49188-49192-49187-49191-49162-49172-49161-49171-49311-49310-107-103-57-51-157-156-49309-49308-61-60-53-47,0-10-11-13-16-21-22-23-43-45-49-51-65281,29-23-30-25-24-256-257-258-259-260,0-1-2 | t13d3613h1_bcee18a5b459_e10b9050f4c9 |
t13d3613h1_002f,0033,0035,0039,003c,003d,0067,006b,009c,009d,009e,009f,1301,1302,1303,c009,c00a,c013,c014,c023,c024,c027,c028,c02b,c02c,c02f,c030,c09c,c09d,c09e,c09f,c0ac,c0ad,cca8,cca9,ccaa_000a,000b,000d,0015,0016,0017,002b,002d,0031,0033,ff01_0403,0503,0603,0807,0808,081a,081b,081c,0809,080a,080b,0804,0805,0806,0401,0501,0601,0303,0301,0302,0402,0502,0602 |
python-requests/2.32.3 |
PowerShell (Invoke-WebRequest, Windows) (первое подключение) | 68b3ecfaf0034bb9fcbecd518b5ab8d4 | 771,4866-4865-49196-49195-49200-49199-49188-49187-49192-49191-49162-49161-49172-49171-157-156-61-60-53-47,0-43-13-35-10-11-51-49-23-65281-45,29-23-24,0 | fcc54fa6dc5ae1f61346221b10bc8680 | 771,4866-4865-49196-49195-49200-49199-49188-49187-49192-49191-49162-49161-49172-49171-157-156-61-60-53-47,0-10-11-13-23-35-43-45-49-51-65281,29-23-24,0 | t13d201100_2b729b4bf6f3_36bf25f296df | t13d201100_002f,0035,003c,003d,009c,009d,1301,1302,c009,c00a,c013,c014,c023,c024,c027,c028,c02b,c02c,c02f,c030_000a,000b,000d,0017,0023,002b,002d,0031,0033,ff01_0804,0805,0806,0401,0501,0201,0403,0503,0203,0202,0601,0603 | Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.22631; en-US) PowerShell/7.4.6 |
PowerShell (Invoke-WebRequest, Windows) (переподключение) | 6ad69cecca55b3321a3261b1ae4aaab1 | 771,4866-4865-49196-49195-49200-49199-49188-49187-49192-49191-49162-49161-49172-49171-157-156-61-60-53-47,0-43-13-35-10-11-51-49-23-65281-45-41,29-23-24,0 | 9174d0d3b2705371807708013561fd0b | 771,4866-4865-49196-49195-49200-49199-49188-49187-49192-49191-49162-49161-49172-49171-157-156-61-60-53-47,0-10-11-13-23-35-41-43-45-49-51-65281,29-23-24,0 | t13d201200_2b729b4bf6f3_89322cc15493 | t13d201200_002f,0035,003c,003d,009c,009d,1301,1302,c009,c00a,c013,c014,c023,c024,c027,c028,c02b,c02c,c02f,c030_000a,000b,000d,0017,0023,0029,002b,002d,0031,0033,ff01_0804,0805,0806,0401,0501,0201,0403,0503,0203,0202,0601,0603 | Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.22631; en-US) PowerShell/7.4.6 |
PowerShell (Invoke-WebRequest, Linux) (первое подключение) | fa6f215f4de3751f6cb7cac85602ab67 | 771,4866-4867-4865-49196-49195-49200-49199-49188-49187-49192-49191,65281-0-11-10-35-5-22-23-13-43-45-51,29-23-30-25-24-256-257-258-259-260,0-1-2 | eb1003f00e5d28ee81d9ee24d357e5d5 | 771,4866-4867-4865-49196-49195-49200-49199-49188-49187-49192-49191,0-5-10-11-13-22-23-35-43-45-51-65281,29-23-30-25-24-256-257-258-259-260,0-1-2 | t13d111200_c5d436628c5c_a6f532063c55 | t13d111200_1301,1302,1303,c023,c024,c027,c028,c02b,c02c,c02f,c030_0005,000a,000b,000d,0016,0017,0023,002b,002d,0033,ff01_0403,0503,0603,0807,0808,081a,081b,081c,0809,080a,080b,0804,0805,0806,0401,0501,0601,0303,0301,0302,0402,0502,0602 | Mozilla/5.0 (Linux; Arch Linux; en-US) PowerShell/7.4.6 |
PowerShell (Invoke-WebRequest, Linux) (переподключение) | 12c6febee80767b58544b96f2a309026 | 771,4866-4867-4865-49196-49195-49200-49199-49188-49187-49192-49191,65281-0-11-10-35-5-22-23-13-43-45-51-41,29-23-30-25-24-256-257-258-259-260,0-1-2 | 31ee3d9feeab3716116b2468d3fc2244 | 771,4866-4867-4865-49196-49195-49200-49199-49188-49187-49192-49191,0-5-10-11-13-22-23-35-41-43-45-51-65281,29-23-30-25-24-256-257-258-259-260,0-1-2 | t13d111300_c5d436628c5c_580f1b29fba7 | t13d111300_1301,1302,1303,c023,c024,c027,c028,c02b,c02c,c02f,c030_0005,000a,000b,000d,0016,0017,0023,0029,002b,002d,0033,ff01_0403,0503,0603,0807,0808,081a,081b,081c,0809,080a,080b,0804,0805,0806,0401,0501,0601,0303,0301,0302,0402,0502,0602 | Mozilla/5.0 (Linux; Arch Linux; en-US) PowerShell/7.4.6 |
PHP (file_get_contents, Windows) | a468eae2a82cd86fea9fd0c541ed8ff0 | 771,4866-4867-4865-49199-49195-49200-49196-158-162-163-159-49191-49187-49171-49161-49192-49188-49172-49162-103-51-64-107-56-57-156-157-49326-49324-49314-49310-50-49312-49308-60-47-49327-49325-49315-49311-106-49313-49309-61-53-52393-52392-52394-49245-49249-49239-49235-49244-49248-49238-49234-49267-49271-196-195-49266-49270-190-189-136-135-69-68-49233-49232-192-186-132-65-255,0-11-10-35-22-23-13-43-45-51-21,29-23-30-25-24-256-257-258-259-260,0-1-2 | 0bae95ba86cab1d4e0fe0db9339f1519 | 771,4866-4867-4865-49199-49195-49200-49196-158-162-163-159-49191-49187-49171-49161-49192-49188-49172-49162-103-51-64-107-56-57-156-157-49326-49324-49314-49310-50-49312-49308-60-47-49327-49325-49315-49311-106-49313-49309-61-53-52393-52392-52394-49245-49249-49239-49235-49244-49248-49238-49234-49267-49271-196-195-49266-49270-190-189-136-135-69-68-49233-49232-192-186-132-65-255,0-10-11-13-21-22-23-35-43-45-51,29-23-30-25-24-256-257-258-259-260,0-1-2 | t13d751100_479067518aa3_d41ae481755e | t13d751100_002f,0032,0033,0035,0038,0039,003c,003d,0040,0041,0044,0045,0067,006a,006b,0084,0087,0088,009c,009d,009e,009f,00a2,00a3,00ba,00bd,00be,00c0,00c3,00c4,00ff,1301,1302,1303,c009,c00a,c013,c014,c023,c024,c027,c028,c02b,c02c,c02f,c030,c050,c051,c052,c053,c056,c057,c05c,c05d,c060,c061,c072,c073,c076,c077,c09c,c09d,c09e,c09f,c0a0,c0a1,c0a2,c0a3,c0ac,c0ad,c0ae,c0af,cca8,cca9,ccaa_000a,000b,000d,0015,0016,0017,0023,002b,002d,0033_0403,0503,0603,0807,0808,0809,080a,080b,0804,0805,0806,0401,0501,0601,0303,0301,0302,0402,0502,0602 | |
PHP (file_get_contents, Linux) | fc1b1608487e90882a99f985570f3398 | 771,4866-4867-4865-49199-49195-49200-49196-158-162-163-159-49191-49187-49171-49161-49192-49188-49172-49162-103-51-64-107-56-57-156-157-49324-49310-50-49308-60-47-49325-49311-106-49309-61-53-52393-52392-52394-49245-49249-49239-49235-49244-49248-49238-49234-49267-49271-196-195-49266-49270-190-189-136-135-69-68-49233-49232-192-186-132-65,65281-0-11-10-35-22-23-13-43-45-51-21,29-23-30-25-24-256-257-258-259-260,0-1-2 | d05baa862687f2cb8f8a74248b3d4ebe | 771,4866-4867-4865-49199-49195-49200-49196-158-162-163-159-49191-49187-49171-49161-49192-49188-49172-49162-103-51-64-107-56-57-156-157-49324-49310-50-49308-60-47-49325-49311-106-49309-61-53-52393-52392-52394-49245-49249-49239-49235-49244-49248-49238-49234-49267-49271-196-195-49266-49270-190-189-136-135-69-68-49233-49232-192-186-132-65,0-10-11-13-21-22-23-35-43-45-51-65281,29-23-30-25-24-256-257-258-259-260,0-1-2 | t13d681200_13e0e9e1c501_0b298858d6c1 | t13d681200_002f,0032,0033,0035,0038,0039,003c,003d,0040,0041,0044,0045,0067,006a,006b,0084,0087,0088,009c,009d,009e,009f,00a2,00a3,00ba,00bd,00be,00c0,00c3,00c4,1301,1302,1303,c009,c00a,c013,c014,c023,c024,c027,c028,c02b,c02c,c02f,c030,c050,c051,c052,c053,c056,c057,c05c,c05d,c060,c061,c072,c073,c076,c077,c09c,c09d,c09e,c09f,c0ac,c0ad,cca8,cca9,ccaa_000a,000b,000d,0015,0016,0017,0023,002b,002d,0033,ff01_0403,0503,0603,0807,0808,081a,081b,081c,0809,080a,080b,0804,0805,0806,0401,0501,0601,0303,0301,0302,0402,0502,0602 | |
PHP (cURL, Windows) | |||||||
PHP (cURL, Linux) | |||||||
Tor | c79653a3a53172c2304e6da72cd7aa2a | 771,4865-4867-4866-49195-49199-52393-52392-49196-49200-156-157,0-23-65281-10-11-16-5-34-51-43-13-28-21,29-23-24-25-256-257,0 | 0d918d348f893db516ba41ef6a22f5bf | 771,4865-4867-4866-49195-49199-52393-52392-49196-49200-156-157,0-5-10-11-13-16-21-23-28-34-43-51-65281,29-23-24-25-256-257,0 | t13d1113h2_47af8f603342_f81080dfc557 | t13d1113h2_009c,009d,1301,1302,1303,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0015,0017,001c,0022,002b,0033,ff01_0403,0503,0603,0804,0805,0806,0401,0501,0601,0203,0201 | Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0 |
sqlmap | |||||||
WhatWeb | |||||||
WPScan | |||||||
cURL | 5ba6f86deff79afc9902f9927d1c1697 | 771,4866-4867-4865-49196-49200-159-52393-52392-52394-49195-49199-158-49188-49192-107-49187-49191-103-49162-49172-57-49161-49171-51-157-156-61-60-53-47,65281-0-11-10-16-22-23-49-13-43-45-51-21,29-23-30-25-24-256-257-258-259-260,0-1-2 | 36c45da3fc87b9fa46fae4e199884130 | 771,4866-4867-4865-49196-49200-159-52393-52392-52394-49195-49199-158-49188-49192-107-49187-49191-103-49162-49172-57-49161-49171-51-157-156-61-60-53-47,0-10-11-13-16-21-22-23-43-45-49-51-65281,29-23-30-25-24-256-257-258-259-260,0-1-2 | t13d3013h2_1d37bd780c83_e10b9050f4c9 | t13d3013h2_002f,0033,0035,0039,003c,003d,0067,006b,009c,009d,009e,009f,1301,1302,1303,c009,c00a,c013,c014,c023,c024,c027,c028,c02b,c02c,c02f,c030,cca8,cca9,ccaa_000a,000b,000d,0015,0016,0017,002b,002d,0031,0033,ff01_0403,0503,0603,0807,0808,081a,081b,081c,0809,080a,080b,0804,0805,0806,0401,0501,0601,0303,0301,0302,0402,0502,0602 | curl/8.10.1 |
wget | ac9e51091379e0dddbfbb33edd96398f | 771,4866-4867-4865-4868-49196-52393-49325-49162-49195-49324-49161-49200-52392-49172-49199-49171-157-49309-53-156-49308-47-159-52394-49311-57-158-49310-51,11-28-51-10-35-5-45-0-49-13-65281-43-21,23-24-25-29-30-256-257-258-259-260,0 | aeaf2f865911f886e3f721156a5f552e | 771,4866-4867-4865-4868-49196-52393-49325-49162-49195-49324-49161-49200-52392-49172-49199-49171-157-49309-53-156-49308-47-159-52394-49311-57-158-49310-51,0-5-10-11-13-21-28-35-43-45-49-51-65281,23-24-25-29-30-256-257-258-259-260,0 | t13d291300_723694b0fccc_899037bd0b8c | t13d291300_002f,0033,0035,0039,009c,009d,009e,009f,1301,1302,1303,1304,c009,c00a,c013,c014,c02b,c02c,c02f,c030,c09c,c09d,c09e,c09f,c0ac,c0ad,cca8,cca9,ccaa_0005,000a,000b,000d,0015,001c,0023,002b,002d,0031,0033,ff01_0401,0809,0804,0403,0807,0501,080a,0805,0503,0808,0601,080b,0806,0603,0201,0203 | Wget/1.24.5 |
GoLang | |||||||
ngrok (Win/Lin) | |||||||
openssl (s_client) | caf4ec11cce2d9dba8e2575080fc4dfb | 771,4866-4867-4865-49196-49200-159-52393-52392-52394-49195-49199-158-49188-49192-107-49187-49191-103-49162-49172-57-49161-49171-51-157-156-61-60-53-47,65281-0-11-10-35-22-23-13-43-45-51,29-23-30-25-24-256-257-258-259-260,0-1-2 | b993a03dac6e9e9770c5c542315b64f2 | 771,4866-4867-4865-49196-49200-159-52393-52392-52394-49195-49199-158-49188-49192-107-49187-49191-103-49162-49172-57-49161-49171-51-157-156-61-60-53-47,0-10-11-13-22-23-35-43-45-51-65281,29-23-30-25-24-256-257-258-259-260,0-1-2 | t13d301100_1d37bd780c83_ef4b9b248d72 | t13d301100_002f,0033,0035,0039,003c,003d,0067,006b,009c,009d,009e,009f,1301,1302,1303,c009,c00a,c013,c014,c023,c024,c027,c028,c02b,c02c,c02f,c030,cca8,cca9,ccaa_000a,000b,000d,0016,0017,0023,002b,002d,0033,ff01_0403,0503,0603,0807,0808,081a,081b,081c,0809,080a,080b,0804,0805,0806,0401,0501,0601,0303,0301,0302,0402,0502,0602 | |
testssl.sh | |||||||
SSLyze | |||||||
WSL Ubuntu | |||||||
Puppeteer | |||||||
curl_chrome116 | ddf2256b916f994a5f4412d3caa096f0 | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,23-18-27-45-43-0-65281-51-11-17513-13-16-35-10-5-21,29-23-24,0 | aa56c057ad164ec4fdcb7a5a283be9fc | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-21-23-27-35-43-45-51-17513-65281,29-23-24,0 | t13d1516h2_8daaf6152771_e5627efa2ab1 | t13d1516h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0015,0017,001b,0023,002b,002d,0033,4469,ff01_0403,0804,0401,0503,0805,0501,0806,0601 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 |
Nmap | |||||||
HTTrack (WinHTTrack / WebHTTrack) | |||||||
Telegram | Притворяется HTTP трафиком, хотя передаёт зашифрованные данные: ja4.ja4h == "po11nn07enus_99eca2ca61a8_000000000000_000000000000" | ||||||
Viber | 57fbe0aefee44901190849b0e877a5e1 | 771,4866-4867-4865-49196-49200-159-52393-52392-52394-49195-49199-158-49188-49192-107-49187-49191-103-49162-49172-57-49161-49171-51-173-171-52398-52397-52396-157-169-52395-172-170-156-168-61-60-49208-49206-183-179-149-145-53-175-141-49207-49205-182-178-148-144-47-174-140-255,0-11-10-35-22-23-13-43-45-51-21,29-23-30-25-24,0-1-2 | 2d384510d2e6e07594ac35e5188e66c9 | 771,4866-4867-4865-49196-49200-159-52393-52392-52394-49195-49199-158-49188-49192-107-49187-49191-103-49162-49172-57-49161-49171-51-173-171-52398-52397-52396-157-169-52395-172-170-156-168-61-60-49208-49206-183-179-149-145-53-175-141-49207-49205-182-178-148-144-47-174-140-255,0-10-11-13-21-22-23-35-43-45-51,29-23-30-25-24,0-1-2 | t13d571100_131602cb7446_d41ae481755e | t13d571100_002f,0033,0035,0039,003c,003d,0067,006b,008c,008d,0090,0091,0094,0095,009c,009d,009e,009f,00a8,00a9,00aa,00ab,00ac,00ad,00ae,00af,00b2,00b3,00b6,00b7,00ff,1301,1302,1303,c009,c00a,c013,c014,c023,c024,c027,c028,c02b,c02c,c02f,c030,c035,c036,c037,c038,cca8,cca9,ccaa,ccab,ccac,ccad,ccae_000a,000b,000d,0015,0016,0017,0023,002b,002d,0033_0403,0503,0603,0807,0808,0809,080a,080b,0804,0805,0806,0401,0501,0601,0303,0301,0302,0402,0502,0602 | |
MySQL | |||||||
Heritrix | |||||||
Evilginx | |||||||
Google Chrome → DevTools → Эмуляция мобильного устройства (Toggle device toolbar) | N/A | N/A | dee19b855b658c6aa0f575eda2525e19 | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-5-10-11-13-16-18-23-27-35-43-45-51-17513-65037-65281,4588-29-23-24,0 | t13d1516h2_8daaf6152771_02713d6af862 | t13d1516h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b,000d,0012,0017,001b,0023,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601 | Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36 |
ПРИМЕЧАНИЕ: Я постепенно заполняю таблицу — если пропустил какое-то интересное приложение с поддержкой HTTPS, то напишите в комментарии.
Можно обратить внимание, что веб-браузеры, использующие в своей основе Google Chrome / Chromium, имеют одинаковые TLS отпечатки. Для других приложений, языков программирования и библиотек характерны уникальные TLS отпечатки.
2.5 TLS отпечатки клиентов могут меняться в новых версиях программного обеспечения
Обратите внимание, TLS отпечаток клиента не является чем-то совершенно неизменным.
Мы уже упомянули TLS session resumption и тот факт, что для клиента могут быть характерны 2 постоянных TLS отпечатка.
Также важно отметить, что TLS отпечатки не являются чем-то предопределённым для всех версий программного обеспечения. Если клиент обновил библиотеку TLS, то высока вероятность изменения его TLS отпечатков.
При этом TLS, а особенно его расширения, в настоящее время бурно развиваются и меняются довольно часто.
К примеру, для веб-браузеров TLS отпечаток может меняться с каждым выходом новой версии. Для Google Chrome TLS отпечатки менялись в следующих мажорных версиях:
- 99
- 100
- 101
- 104
- 107
- 110
- 116
Для Firefox TLS отпечатки менялись в следующих мажорных версиях:
- 91esr
- 95
- 98
- 100
- 102
- 109
- 117
То есть TLS отпечатки меняются довольно часто, практически через каждую мажорную версию веб-браузера.
С языками программирования и другими программами и утилитами ситуация обстоит похожим образом — новые мажорные версии нередко несут в себе изменение TLS отпечатков и всех хешей.
С одной стороны, это открывает возможности для увеличения точности определения не только типа, но и версии клиента. С другой стороны, это требует постоянной актуализации базы данных JA3, JA3N и JA4 хешей.
2.6 TLS fingerprinting клиентов протокола QUIC
QUIC (сокр. от англ. Quick UDP Internet Connections; произносится quick) — интернет-протокол, разработанный Google в конце 2012 года.
QUIC позволяет мультиплексировать несколько потоков данных между двумя компьютерами, работая поверх протокола UDP, и содержит возможности шифрования, эквивалентные TLS и SSL. Имеет более низкую задержку соединения и передачи, чем TCP. Хорошо переносит потерю части пакетов путём выравнивания границ криптографических блоков по границам пакетов. В протокол заложена возможность прямой (упреждающей) коррекции ошибок на уровне пакетов, но на практике она отключена.
Смотрите также:
TLS fingerprinting клиентов (хеши JA3 и JA4 для протокола QUIC):
tls.handshake.ja3 && quic tls.handshake.ja4 && quic
Хеши JA3 и JA4 протокола TLS без QUIC:
tls.handshake.ja3 && ! quic tls.handshake.ja4 && ! quic
Продолжение смотрите в следующей части: TLS fingerprinting серверов: типы хешей, утилиты для показа TLS отпечатков серверов
Связанные статьи:
- TLS fingerprinting: методы идентификации клиентского и серверного программного обеспечения (80.4%)
- TLS fingerprinting серверов: типы хешей, утилиты для показа TLS отпечатков серверов (80.4%)
- Поиск и брут-форс служб на нестандартных портах (51.7%)
- Исследование периметра партнёрки по установке Adware (КЕЙС) (51.6%)
- Трассировка сетевого маршрута (51.2%)
- Супер IP (suip.biz): Инструменты Kali Linux онлайн (RANDOM - 50%)