
Burp-Erweiterung zur Umgehung von TLS-Fingerprinting. WAF umgehen, beliebigen Browser vortäuschen.
Diese Erweiterung übernimmt Burps HTTP- und TLS-Stack und ermöglicht es dir, den TLS-Fingerprint eines beliebigen Browsers zu spoofen (JA3). Sie steigert die Leistungsfähigkeit von Burp Suite und verringert gleichzeitig die Wahrscheinlichkeit, von verschiedenen WAFs wie CloudFlare, PerimeterX, Akamai, DataDome usw. erkannt zu werden.
Diese Erweiterung kommt ohne hässliche Hacks, Reflection oder einen Fork des Burp-Suite-Community-Codes aus.

Die Pflege dieses Projekts wird durch all die wunderbaren Mitwirkenden und Sponsoren ermöglicht. Wenn du dieses Projekt sponsern möchtest und dein Avatar oder Firmenlogo in diesem Abschnitt erscheinen soll, klicke hier. 💖

Dies ist nur ein Beispiel. Wenn du es mit einer anderen speziellen Bot-Erkennungs-Website getestet hast, lass mich deine Ergebnisse wissen!
Leider ist die Burp-API für fortgeschrittenere Anwendungsfälle wie diesen sehr eingeschränkt, daher musste ich ein wenig damit herumspielen, um es zum Laufen zu bringen.
Wenn eine Anfrage eingeht, fängt die Erweiterung sie ab und leitet sie an einen lokalen HTTPS-Server weiter, der im Hintergrund gestartet wurde (sobald die Erweiterung geladen ist). Dieser Server funktioniert wie ein Proxy; er leitet die Anfrage an das Ziel weiter, wobei die ursprüngliche Header-Reihenfolge beibehalten und eine anpassbare TLS-Konfiguration angewendet wird. Dann leitet der lokale Server die Antwort an Burp zurück.
Konfigurationseinstellungen und andere notwendige Informationen wie die Adresse und das Protokoll des Zielservers werden pro Anfrage über einen Magic-Header an den lokalen Server gesendet. Dieser Magic-Header wird aus der Anfrage entfernt, bevor sie an den Zielserver weitergeleitet wird.

ℹ️ Eine andere Möglichkeit wäre gewesen, einen vorgelagerten Proxy-Server zu programmieren und Burp damit zu verbinden, aber ich persönlich brauchte eine Erweiterung für Anpassung und Portabilität.
Java als Erweiterungstyp und navigiere zu der soeben heruntergeladenen JAR-Datei. Klicke unten auf 'Weiter', und die Erweiterung sollte ohne Fehler geladen werden.Diese Erweiterung ist 'Plug-and-Play' und sollte für sich selbst sprechen. Du kannst mit der Maus über jedes Feld im Reiter 'Awesome TLS' fahren, um weitere Informationen zu jedem Feld zu erhalten.
Um deinen benutzerdefinierten Client Hello aus WireShark zu laden, kannst du den Client-Hello-Datensatz als Hex-Stream kopieren und in das Feld „Hex Client Hello" einfügen.

Im Reiter 'Erweitert' kannst du einen zusätzlichen Proxy-Listener aktivieren, der automatisch den aktuellen Fingerprint aus der Anfrage anwendet:

Wenn diese Option aktiviert ist, ändert sich das Diagramm zu folgendem:

Diese Erweiterung wurde mit der JetBrains IntelliJ-IDE (und GoLand) entwickelt. Die folgenden Build-Anweisungen setzen voraus, dass du dieselben Tools zum Erstellen verwendest. Siehe workflows für die Zielversionen der Programmiersprachen.
./src-go/. Führe cd ./src-go/server && go build -o ../../src/main/resources/{OS}-{ARCH}/server.{EXT} -buildmode=c-shared ./cmd/main.go aus und ersetze {OS}-{ARCH} durch dein Betriebssystem und deine CPU-Architektur sowie {EXT} durch die von deiner Plattform bevorzugte Erweiterung für dynamische C-Bibliotheken. Zum Beispiel: linux-x86-64/server.so. Siehe die JNA-Docs für weitere Informationen zu unterstützten Plattformen.SettingsTab.form über Build > Build project in Java-Code.gradle buildJar.Du solltest nun eine JAR-Datei (normalerweise unter ./build/libs) haben, die mit Burp auf deinem Betriebssystem funktioniert.
Besonderer Dank gilt den Maintainern der folgenden Repositories:
Und den Erstellern der folgenden Websites: