
TLS 핑거프린팅을 우회하는 Burp 확장 프로그램. WAF를 우회하고 모든 브라우저를 스푸핑합니다.
이 확장 프로그램은 Burp의 HTTP 및 TLS 스택을 가로채어 모든 브라우저 TLS 핑거프린트(JA3)를 스푸핑할 수 있게 해 줍니다. CloudFlare, PerimeterX, Akamai, DataDome 등 다양한 WAF에 의한 핑거프린팅 가능성을 줄이면서 Burp Suite의 성능을 향상시킵니다.
이 확장 프로그램은 지저분한 해킹, 리플렉션 또는 포크된 Burp Suite Community 코드에 의존하지 않고 작동합니다.

이 프로젝트의 유지보수는 모든 멋진 기여자와 스폰서 덕분에 가능합니다. 이 프로젝트를 후원하고 이 섹션에 아바타나 회사 로고를 게재하고 싶다면 여기를 클릭하세요. 💖

이것은 단지 하나의 예시일 뿐입니다. 다른 전용 봇 탐지 사이트로 테스트해 보셨다면 결과를 알려주세요!
안타깝게도 Burp의 API는 이와 같은 고급 사용 사례에는 매우 제한적이어서, 작동시키기 위해 이것저것 시도해야 했습니다.
요청이 들어오면 확장 프로그램이 이를 가로채서 (확장 프로그램이 로드될 때) 백그라운드에서 시작된 로컬 HTTPS 서버로 전달합니다. 이 서버는 프록시처럼 작동합니다. 원래 헤더 순서를 유지하고 사용자 지정 가능한 TLS 구성을 적용하면서 요청을 대상 서버로 전달합니다. 그런 다음 로컬 서버는 응답을 다시 Burp으로 전달합니다.
구성 설정 및 대상 서버 주소, 프로토콜과 같은 기타 필요한 정보는 매직 헤더를 통해 요청별로 로컬 서버에 전송됩니다. 이 매직 헤더는 대상 서버로 전달되기 전에 요청에서 제거됩니다.

ℹ️ 또 다른 옵션은 업스트림 프록시 서버를 코딩하고 Burp을 연결하는 것이었겠지만, 저는 개인적으로 사용자 지정과 이식성을 위해 확장 프로그램이 필요했습니다.
Java를 선택하고 방금 다운로드한 jar 파일을 찾아 선택하세요. 하단의 'Next'를 클릭하면 오류 없이 확장 프로그램이
로드됩니다.이 확장 프로그램은 '플러그 앤 플레이(plug and play)' 방식이며 별도의 설명이 필요 없습니다. 'Awesome TLS' 탭에서 마우스를 각 필드 위에 올리면 각 필드에 대한 자세한 정보를 확인할 수 있습니다.
WireShark에서 사용자 지정 Client Hello를 로드하려면 client hello 레코드를 hex 스트림으로 복사하여
"Hex Client Hello" 필드에 붙여넣으면 됩니다.

'advanced' 탭에서는 요청의 현재 핑거프린트를 자동으로 적용하는 추가 프록시 리스너를 활성화할 수 있습니다:

활성화하면 다이어그램이 다음과 같이 변경됩니다:

이 확장 프로그램은 JetBrains IntelliJ(및 GoLand) IDE로 개발되었습니다. 아래 빌드 지침은 동일한 도구를 사용하여 빌드한다고 가정합니다. 대상 프로그래밍 언어 버전은 workflows를 참조하세요.
./src-go/ 내에서 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 docs를 참조하세요.Build > Build project를 통해 GUI 폼 SettingsTab.form을 Java 코드로 컴파일합니다.gradle buildJar.이제 운영 체제의 Burp에서 작동하는 jar 파일 하나(보통 ./build/libs에 위치)가 생성됩니다.
다음 저장소의 유지보수자에게 특별히 감사드립니다:
그리고 다음 웹사이트의 제작자에게도 감사드립니다: