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
Good-MITM — Regelbasierte MITM-Engine. Umschreiben, Umleiten und Ablehnen von HTTP(S)-Anfragen und -Antworten, unterstützt JavaScript-Regeln. | Kitploit
Tools/GitHubGitHub/zu1k/good-mitm
Web-Proxys & AbfangenScripting & AutomatisierungWebsicherheitNetzwerksicherheitPrivatsphäreDienstprogramme & Frameworks
GitHubzu1k/good-mitm

Good-MITM

Regelbasierte MITM-Engine. Umschreiben, Umleiten und Ablehnen von HTTP(S)-Anfragen und -Antworten, unterstützt JavaScript-Regeln.

Repository anzeigen
85810910vor 3 JahrenVon 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

Good Man in the Middle

GitHub stars GitHub forks Release GitHub issues Build GitHub license Docs

中文版

Regelbasierte MITM-Engine. Umschreiben, Umleiten und Ablehnen von HTTP(S)-Anfragen und -Antworten, unterstützt JavaScript.

Funktionen

  • Automatische Signierung von Zertifikaten basierend auf der TLS-ClientHello-SNI-Erweiterung
  • Unterstützung von selektivem MITM für bestimmte Domains
  • Regelbeschreibungssprache im YAML-Format: Umschreiben, Ablehnen, Umleiten
    • Flexible Regelabgleichsmöglichkeiten
      • Präfix-/Suffix-/Exakt-Abgleich von Domainnamen
      • Abgleich mit regulären Ausdrücken
      • Mehrere Filterregeln
    • Flexibles Umschreiben von Textinhalten
      • Löschen/Ersetzen
      • Ersetzung durch reguläre Ausdrücke
    • Flexibles wörterbuchbasiertes Umschreiben von Inhalten
      • Umschreiben von HTTP-Headern
      • Umschreiben von Cookies
    • Unterstützung mehrerer Aktionen pro Regel
  • Unterstützung von JavaScript-Skriptregeln (programmatische Eingriffe)
  • Unterstützung von transparenten Proxys
  • Unterstützung von HTTPS- und HTTP-Multiplexing auf einem einzigen Port
  • Installation des CA-Zertifikats in den System-Vertrauensbereich

Verwendung

Zertifikatsvorbereitung

Aufgrund der Anforderungen der MITM-Technik müssen Sie ein eigenes Root-Zertifikat generieren und ihm vertrauen.

Root-Zertifikat generieren

Aus Sicherheitsgründen sollten Sie nicht blindlings einem Root-Zertifikat vertrauen, das Ihnen von Fremden bereitgestellt wird. Sie müssen Ihr eigenes Root-Zertifikat und Ihren eigenen privaten Schlüssel generieren.

Erfahrene Benutzer können OpenSSL verwenden, um die erforderlichen Vorgänge durchzuführen. Für Benutzer ohne Erfahrung in diesem Bereich können Sie jedoch den folgenden Befehl verwenden, um den erforderlichen Inhalt zu generieren. Das generierte Zertifikat und der private Schlüssel werden im Verzeichnis ca gespeichert.

good-mitm.exe genca

Nachdem Sie den von Good-MITM bereitgestellten Proxy in Ihrem Browser verwendet haben, können Sie das Zertifikat direkt herunterladen, indem Sie http://cert.mitm.plus aufrufen. Dies ist besonders nützlich, wenn Sie Dienste für andere Geräte bereitstellen.

Dem Zertifikat vertrauen

Sie können das Root-Zertifikat je nach Bedarf zur Vertrauenszone Ihres Betriebssystems oder Browsers hinzufügen.

Proxy

Starten Sie Good-MITM und geben Sie die zu verwendende Regeldatei oder das Verzeichnis an.

good-mitm.exe run -r rules

Verwenden Sie den von Good-MITM bereitgestellten HTTP-Proxy in Ihrem Browser oder Betriebssystem: http://127.0.0.1:34567.

Transparenter Proxy

Siehe https://docs.mitmproxy.org/stable/howto-transparent/ für die Dokumentation.

sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1
sudo sysctl -w net.ipv4.conf.all.send_redirects=0

sudo useradd --create-home mitm
sudo -u mitm -H bash -c 'good-mitm run -r rules/log.yaml -b 0.0.0.0:34567'

sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 80 -j REDIRECT --to-port 34567
sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 443 -j REDIRECT --to-port 34567
sudo ip6tables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 80 -j REDIRECT --to-port 34567
sudo ip6tables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitm --dport 443 -j REDIRECT --to-port 34567

Rule

Rule wird verwendet, um Good-MITM zu steuern.

Eine gültige Rule sollte die folgenden Komponenten enthalten:

  • Name: Wird verwendet, um verschiedene Rules zu unterscheiden und die Wartung zu erleichtern.
  • Filter: Wird verwendet, um aus einer Menge von requests und responses den zu verarbeitenden Inhalt auszuwählen.
  • Action: Wird verwendet, um die gewünschten Aktionen auszuführen, einschließlich redirect, reject, modification usw.
  • Optional kann der Domainname angegeben werden, für den MITM erforderlich ist.
- name: "Block YouTube tracking"
  mitm: "*.youtube.com"
  filter:
    url-regex: '^https?:\/\/(www|s)\.youtube\.com\/(pagead|ptracking)'
  action: reject

Darüber hinaus sollte eine gültige Regel die folgenden Anforderungen erfüllen:

  • Fokus: Jede Regel sollte so gestaltet sein, dass sie eine einzige Aufgabe ausführt.
  • Einfachheit: Verwenden Sie unkomplizierte Methoden für die Verarbeitung, um eine einfache Wartung zu gewährleisten.
  • Effizienz: Verwenden Sie nach Möglichkeit effiziente Methoden, wie z. B. die Verwendung von Domain-Suffixen und -Präfixen anstelle komplexer regulärer Ausdrücke für den Domain-Abgleich.

Filter

Filter wird verwendet, um die Anfragen und Antworten auszuwählen, die verarbeitet werden müssen.

Verfügbare Optionen

Derzeit umfasst Filter die folgenden Typen:

  • All
  • Domain(String)
  • DomainKeyword(String)
  • DomainPrefix(String)
  • DomainSuffix(String)
  • UrlRegex(fancy_regex::Regex)

Hinweis
In der aktuellen Version stimmen die domain-bezogenen Typen mit dem Feld host überein, was normalerweise die Ergebnisse nicht beeinflusst. Wenn eine Website einen nicht standardmäßigen Port verwendet, muss die Regel den Port angeben. Dieses Verhalten wird in zukünftigen Versionen optimiert.

All

Wenn der Filter als all angegeben wird, stimmt er mit allen Anfragen und Antworten überein. Dies wird typischerweise für die Durchführung von Protokollierungsaktionen verwendet.

- name: "log"
  filter: all
  action:
    - log-req
    - log-res
Domain

domain führt einen vollständigen Abgleich gegen den Domainnamen durch.

- name: "redirect"
  filter:
    domain: 'none.zu1k.com'
  action:
    redirect: "https://zu1k.com/"
DomainKeyword

domain-keyword führt einen Keyword-Abgleich gegen den Domainnamen durch.

- name: "reject CSDN"
  filter:
    domain-keyword: 'csdn'
  action: reject
DomainPrefix

domain-prefix führt einen Präfixabgleich gegen den Domainnamen durch.

- name: "ad prefix"
  filter:
    domain-prefix: 'ads' // example: "ads.xxxxx.com"
  action: reject
DomainSuffix

domain-suffix führt einen Suffix-Abgleich gegen den Domainnamen durch.

- name: "redirect"
  filter:
    domain-suffix: 'google.com.cn'
  action:
    redirect: "https://google.com"
UrlRegex Url

url-regex führt einen regulären Ausdruck gegen die gesamte URL aus.

- name: "youtube tracking"
  mitm: "*.youtube.com"
  filter:
    url-regex: '^https?:\/\/(www|s)\.youtube\.com\/(pagead|ptracking)'
  action: reject

Mehrere Filter

Das Feld filters unterstützt sowohl einzelne Filter als auch mehrere Filter, wobei die Beziehung zwischen mehreren Filtern OR ist.

Tool herunterladen