Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
impersonate-proxy — Ein lokaler MITM-Proxy, mit dem du TLS-Fingerprints (JA3/JA4), HTTP/2-Fingerprints, die HTTP-Header-Reihenfolge und den User-Agent steuern kannst — alles aus einer einzigen YAML-Konfigurationsdatei. | Kitploit
Tools/GitHubGitHub/ytkoka/impersonate-proxy
Web-Proxys & AbfangenImpersonations-ToolsWAF-UmgehungPenetrationstestsRed TeamingFingerabdruck-Spoofing
GitHubytkoka/impersonate-proxy

impersonate-proxy

Ein lokaler MITM-Proxy, mit dem du TLS-Fingerprints (JA3/JA4), HTTP/2-Fingerprints, die HTTP-Header-Reihenfolge und den User-Agent steuern kannst — alles aus einer einzigen YAML-Konfigurationsdatei.

Repository anzeigen
41271vor 8 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Webseite
Teilen

impersonate-proxy

Chrome Web Store

Englisch | 日本語 | 简体中文

Ein lokaler MITM-Proxy, mit dem du TLS-Fingerabdrücke (JA3/JA4), HTTP/2-Fingerabdrücke, die Reihenfolge der HTTP-Header, den User-Agent und Source-IP-Header steuern kannst – alles über eine einzige YAML-Konfigurationsdatei.

Eine Chrome-Erweiterung ist enthalten, mit der du den Proxy ein- und ausschalten und Fingerprint-Profile direkt über die Browser-Symbolleiste wechseln kannst, ohne den Proxy neu zu starten.

Gedacht für autorisierte Sicherheitstests von WAF-Bot-Erkennungssystemen. Leite curl, Browser oder Playwright durch den Proxy, um zu beobachten, wie verschiedene Fingerprint-Kombinationen klassifiziert werden.

Funktionsweise

curl / browser / Playwright
        │  HTTP CONNECT (to proxy)
        ▼
┌─────────────────────────────────────────┐
│            impersonate-proxy            │
│                                         │
│  MITM TLS ◄──────────────► uTLS         │
│  (our CA cert)          (custom JA3/4)  │
│                                         │
│  Header rewriter (UA, order, add/del)   │
│  HTTP/2 framer  (SETTINGS, WINDOW_UPDATE│
│                  pseudo-header order)   │
└─────────────────────────────────────────┘
        │  Custom TLS ClientHello + HTTP/2
        ▼
   Target server / WAF
EbeneWas Sie steuern können
TLSCipher-Suites, Erweiterungen, deren Reihenfolge (JA3 / JA4) über uTLS-Presets oder eine vollständig benutzerdefinierte custom_hello-Spezifikation
HTTP/1.1Header-Reihenfolge, User-Agent, beliebige Header hinzufügen/entfernen, IP-Spoofing (X-Forwarded-For / True-Client-IP)
HTTP/2SETTINGS-Werte & -Reihenfolge, WINDOW_UPDATE, Pseudo-Header-Reihenfolge (HTTP/2-Fingerabdruck)

Voraussetzungen

  • macOS oder Linux (amd64 / arm64)
  • Go 1.22+

macOS

brew install go

Linux

Das von der Distribution mitgelieferte Go ist oft veraltet. Installiere die offizielle Binärdatei direkt:

# Download and extract (replace 1.22.5 with the latest from https://go.dev/dl/)
curl -OL https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz

# Add to PATH (add this line to ~/.bashrc or ~/.zshrc to make it permanent)
export PATH=$PATH:/usr/local/go/bin

Überprüfen:

go version
# go version go1.22.5 linux/amd64

ARM64 (Raspberry Pi, AWS Graviton usw.): ersetzen Sie linux-amd64 durch linux-arm64 in der Download-URL.

Docker (keine Go-Toolchain erforderlich)

Bevorzugen Sie eine Wegwerf-Umgebung, anstatt Go zu installieren? Springen Sie direkt zu Docker.

Einrichtung

1. Klonen und Bauen

git clone https://github.com/ytkoka/impersonate-proxy.git
cd impersonate-proxy
make build

2. Das MITM-CA-Zertifikat generieren

Die CA wird beim ersten Start automatisch generiert. Starten Sie den Proxy einmal, um ca.crt und ca.key zu erstellen:

make run
# 2026/04/22 12:00:00 generated CA certificate → ca.crt
# 2026/04/22 12:00:00 listening on 127.0.0.1:8080  preset=chrome

Mit Ctrl-C beenden.

3. Dem CA-Zertifikat vertrauen

Clients müssen Ihrer MITM-CA vertrauen, damit sie die vom Proxy generierten Endzertifikate nicht ablehnen.

macOS-Systemschlüsselbund (betrifft alle Apps):

make trust-ca        # runs: sudo security add-trusted-cert ...

Vertrauen des Linux-Systems (betrifft alle Apps; erfordert das Paket ca-certificates):

# Debian / Ubuntu
sudo cp ca.crt /usr/local/share/ca-certificates/impersonate-proxy.crt
sudo update-ca-certificates

# RHEL / Fedora / Amazon Linux
sudo cp ca.crt /etc/pki/ca-trust/source/anchors/impersonate-proxy.crt
sudo update-ca-trust

nur curl (keine systemweite Änderung):

curl --cacert ca.crt ...

Playwright / Node.js:

export NODE_EXTRA_CA_CERTS="$(pwd)/ca.crt"

Firefox: Einstellungen → Datenschutz & Sicherheit → Zertifikate anzeigen → Zertifizierungsstellen → ca.crt importieren

Docker

Führe den Proxy in einem Container aus – keine lokale Go/Make-Installation erforderlich.

1. Den Proxy starten

Nur Linux: Der Container läuft als unprivilegierter Benutzer (nonroot, UID 65532) und benötigt Schreibzugriff auf das Verzeichnis ./data, das das CA-Zertifikat und den Schlüssel enthält. Falls ./data noch nicht existiert, erstellt Docker es automatisch mit dem Eigentümer root und ohne Schreibzugriff für andere Benutzer, sodass der Container beim ersten Start die CA nicht generieren kann. Erstelle es vorher mit dem richtigen Eigentümer:

mkdir -p data && sudo chown 65532:65532 data

Unter Docker Desktop für Mac/Windows nicht erforderlich – dessen Bind-Mount-Schicht ordnet die Eigentümerschaft automatisch zu.

git clone https://github.com/ytkoka/impersonate-proxy.git
cd impersonate-proxy
docker compose up -d

Dies baut das Image lokal und startet den Container. Beim ersten Lauf wird die MITM-CA generiert und ausgegeben:

impersonate-proxy  | generated CA certificate → /data/ca.crt (add to OS trust store to avoid cert errors)
impersonate-proxy  | listening on 0.0.0.0:8080  preset=chrome

Oder um das vorgefertigte Image direkt auszuführen, ohne zu klonen:

docker run -d --name impersonate-proxy \
  -p 127.0.0.1:8080:8080 -p 127.0.0.1:8081:8081 \
  -v "$(pwd)/config.docker.yaml:/config.yaml:ro" \
  -v "$(pwd)/data:/data" \
  ghcr.io/ytkoka/impersonate-proxy:latest

docker-compose.yml veröffentlicht beide Ports nur auf 127.0.0.1 — dieselbe ausschließlich auf Loopback beschränkte Exposition wie bei einer nativen Installation (die Management-API hat keine Authentifizierung, daher sollte dies nicht auf 0.0.0.0 geändert werden, ohne eine eigene Zugriffskontrolle hinzuzufügen).

2. Das CA-Zertifikat als vertrauenswürdig einstufen

Die CA wird innerhalb des Containers generiert, aber über das bind-gemountete Volume auf dem Host unter ./data/ca.crt und ./data/ca.key persistiert, sodass sie Container-Neustarts/-Rebuilds übersteht. Stufen Sie sie genau wie in der nativen Einrichtung oben als vertrauenswürdig ein, nur dass Sie statt ./ca.crt auf ./data/ca.crt verweisen:

# curl
curl --proxy http://127.0.0.1:8080 --cacert ./data/ca.crt https://tls.peet.ws/api/all

# macOS system keychain
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ./data/ca.crt

3. Konfigurieren

Bearbeiten Sie config.docker.yaml (nicht config.yaml — diese Datei ist für die native Installation) und starten Sie neu:

docker compose restart

config.docker.yaml ist identisch mit config.yaml, außer dass listen/mgmt_listen auf 0.0.0.0 gesetzt sind (erforderlich, damit Dockers Portveröffentlichung den Prozess überhaupt erreichen kann — das eigene 127.0.0.1 des Containers ist vom Host aus nicht erreichbar) und ca_cert/ca_key auf /data verweisen, das persistierte Volume. Siehe Konfiguration unten für alle verfügbaren Felder.

Makefile-Verknüpfungen

ZielBeschreibung
make docker-buildErstellt das Image über docker compose build
make docker-runErstellt und startet im Hintergrund
make docker-stopStoppt und entfernt den Container

Stoppen / Aufräumen

docker compose down          # stop the container
rm -rf data                  # also remove the persisted CA (re-trust required after)

Konfiguration

Tool herunterladen