
Расширение Burp для обхода TLS-фингерпринтинга. Обходит WAF, имитирует любой браузер.
Это расширение внедряется в HTTP и TLS стек Burp, позволяя подделывать TLS-отпечаток любого браузера (JA3). Оно усиливает возможности Burp Suite, снижая вероятность обнаружения по отпечатку различными WAF, такими как CloudFlare, PerimeterX, Akamai, DataDome и другими.
Это расширение работает без использования некрасивых хаков, рефлексии или форка кода Burp Suite Community.

Сопровождение этого проекта стало возможным благодаря всем замечательным контрибьюторам и спонсорам. Если вы хотите спонсировать этот проект и разместить свой аватар или логотип компании в этом разделе, нажмите здесь. 💖

Это лишь один пример. Если вы тестировали с другим специализированным сайтом по обнаружению ботов, сообщите мне о своих результатах!
К сожалению, API Burp очень ограничено для таких продвинутых сценариев использования, поэтому мне пришлось с ним поэкспериментировать, чтобы заставить это работать.
Когда поступает запрос, расширение перехватывает его и перенаправляет на локальный HTTPS-сервер, который запускается в фоновом режиме (после загрузки расширения). Этот сервер работает как прокси: он пересылает запрос к месту назначения, сохраняя исходный порядок заголовков и применяя настраиваемую конфигурацию TLS. Затем локальный сервер возвращает ответ обратно в Burp.
Параметры конфигурации и другая необходимая информация, такая как адрес и протокол целевого сервера, отправляются на локальный сервер для каждого запроса через magic-заголовок. Этот magic-заголовок удаляется из запроса перед его пересылкой на целевой сервер.

ℹ️ Другим вариантом было бы написать вышестоящий прокси-сервер и подключить к нему Burp, но лично мне нужно было расширение для настройки и переносимости.
Java в качестве типа
расширения и укажите путь к только что загруженному jar-файлу. Нажмите 'Next' внизу — расширение должно загрузиться
без ошибок.Это расширение работает по принципу 'plug and play' и говорит само за себя. Вы можете навести курсор мыши на каждое поле на вкладке 'Awesome TLS', чтобы получить дополнительную информацию о нём.
Чтобы загрузить свой кастомный Client Hello из WireShark, скопируйте запись client hello в виде hex-потока и вставьте её
в поле "Hex Client Hello".

На вкладке 'advanced' вы можете включить дополнительный прокси-слушатель, который будет автоматически применять текущий отпечаток из запроса:

При включении схема меняется на следующую:

Это расширение разрабатывалось в IDE JetBrains IntelliJ (и GoLand). Приведённые ниже инструкции по сборке предполагают, что вы используете те же инструменты для сборки. Смотрите workflows для получения информации о целевых версиях языков программирования.
./src-go/. Выполните
cd ./src-go/server && go build -o ../../src/main/resources/{OS}-{ARCH}/server.{EXT} -buildmode=c-shared ./cmd/main.go,
заменив {OS}-{ARCH} на вашу операционную систему и архитектуру CPU, а {EXT} — на предпочтительное расширение вашей платформы для
динамических C-библиотек. Например: linux-x86-64/server.so. Дополнительную информацию о
поддерживаемых платформах смотрите в документации JNA.SettingsTab.form в Java-код через Build > Build project.gradle buildJar.Теперь у вас должен быть один jar-файл (обычно находящийся в ./build/libs), который работает с Burp в вашей операционной системе.
Особая благодарность сопровождающим следующих репозиториев:
А также создателям следующих веб-сайтов: