Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
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
MITM_Intercept — Eine etwas weniger hackige Methode, um nicht-HTTP-Protokolle durch Burp & andere abzufangen und zu modifizieren. | Kitploit
Tools/GitHubGitHub/cyberark/mitm_intercept
Web-Proxys & AbfangenPenetrationstests
GitHubcyberark/mitm_intercept

MITM_Intercept

Eine etwas weniger hackige Methode, um nicht-HTTP-Protokolle durch Burp & andere abzufangen und zu modifizieren.

Repository anzeigen
2193272vor 4 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 →
Teilen

MITM_Intercept

Eine etwas weniger hackige Methode, um Nicht-HTTP-Protokolle durch Burp und andere mit SSL- und TLS-Interception-Unterstützung abzufangen und zu modifizieren. Dieses Tool ist für Forscher und anwendungsorientierte Penetrationstester gedacht, die Sicherheitsbewertungen von Thick Clients durchführen.

Eine verbesserte Version des fantastischen mitm_relay-Projekts.

Die Geschichte

Im Rahmen unserer Arbeit in der Forschungsabteilung von CyberArk Labs brauchten wir eine Möglichkeit, SSL- und TLS-Kommunikation über TCP zu inspizieren und die Inhalte von Paketen während der Übertragung zu modifizieren. Es gibt viele Wege, dies zu tun (z. B. die bekannte Burp-Suite-Erweiterung NoPE), aber in einigen Fällen hat uns keiner davon funktioniert. Schließlich stießen wir auf mitm_relay.

mitm_relay ist ein schneller und einfacher Weg, um MITM für jedes TCP-basierte Protokoll durch vorhandene HTTP-Interceptionsoftware wie den Proxy von Burp Suite durchzuführen. Es ist besonders nützlich für Sicherheitsbewertungen von Thick Clients. Aber es hat für uns nicht vollständig funktioniert, also mussten wir es anpassen. Nach vielen Anpassungen erforderte jede neue Änderung viel Arbeit, und wir haben schließlich alles in einer modulareren Weise neu geschrieben.

Wir hoffen, dass andere dieses Skript nützlich finden, und wir hoffen, dass das Hinzufügen von Funktionen einfach sein wird.

Wie es funktioniert

Zunächst müssen die Adressen und Ports der Listener konfiguriert werden. Für jeden Listener muss auch ein Ziel konfiguriert werden (Adresse und Port). Jede vom Listener empfangene Daten werden in den Body einer HTTP-POST-Anfrage mit der URL, die "CLIENT_REQUEST" enthält, verpackt. Jede vom Ziel empfangene Daten werden in den Body einer HTTP-POST-Anfrage mit der URL, die "SERVER_RESPONSE" enthält, verpackt. Diese Anfragen werden an einen lokalen HTTP-Interceptionserver gesendet.

Es besteht die Möglichkeit, einen HTTP-Proxy zu konfigurieren und ein Tool wie Burp Suite als HTTP-Interception-Tool zu verwenden und die Nachrichten dort zu betrachten. Auf diese Weise ist es einfach, die Nachrichten mit Burps "Match and Replace", Erweiterungen oder sogar manuell zu modifizieren (Denken Sie daran, der Timeout-Mechanismus des abgefangenen Protokolls kann sehr kurz sein).

Eine andere Möglichkeit, die Nachrichten zu modifizieren, ist die Verwendung eines Python-Skripts, das der HTTP-Interceptionserver ausführt, wenn er Nachrichten empfängt.

Die an den HTTP-Interceptionserver gesendeten Nachrichteninhalte werden in der Shell ausgegeben. Wenn das Modifikationsskript angegeben ist, werden die Nachrichten nach den Änderungen ausgegeben. Nach allen Modifikationen gibt der Interceptionserver die Nachricht auch als HTTP-Antwortbody zurück.

Um die SSL/TLS-Kommunikation zu entschlüsseln, muss mitm_intercept ein Zertifikat und einen Schlüssel bereitgestellt werden, die der Client beim Aufbau eines Handshakes mit dem Listener akzeptiert. Wenn der Zielserver ein bestimmtes Zertifikat für einen Handshake benötigt, gibt es die Option, ein Zertifikat und einen Schlüssel anzugeben.

Ein kleines Diagramm, das den typischen Datenverkehrsfluss zeigt:

Test

Unterschiede zu mitm_relay

mitm_intercept ist mit neueren Versionen von Python 3 (Python 3.9) kompatibel und auch mit Windows kompatibel (z. B. existiert socket.MSG_DONTWAIT unter Windows nicht). Wir haben die Option "STARTTLS" beibehalten und sie "Mixed"-Modus genannt. Die Verwendung der SSL-Schlüssel-Log-Datei wurde aktualisiert (die integrierte Option zur Verwendung ist neu ab Python 3.8), und wir haben die Option hinzugefügt, den SNI-Header zu ändern. Nun wird die Verwaltung der eingehenden und ausgehenden Kommunikation durch socketserver erledigt, und alle Daten werden an eine Unterklasse von ThreadingHTTPServer gesendet, die die Darstellung und Modifikation der Daten übernimmt. Auf diese Weise ist es möglich, die durch das Modifikationsskript angewendeten Änderungen in der Antwort zu sehen (praktisch für die Verwendung von Burp). Außerdem können wir jetzt die verfügbaren Ciphers, die das Skript verwendet, mit dem OpenSSL-Cipher-List-Format ändern.

Voraussetzungen

  1. Python 3.9
  2. requests: $ python -m pip install requests

Verwendung

usage: mitm_intercept.py [-h] [-m] -l [u|t:]<interface>:<port> [[u|t:]<interface>:<port> ...] -t
                         [u|t:]<addr>:<port> [[u|t:]<addr>:<port> ...] [-lc <cert_path>]
                         [-lk <key_path>] [-tc <cert_path>] [-tk <key_path>] [-w <interface>:<port>]
                         [-p <addr>:<port>] [-s <script_path>] [--sni <server_name>]
                         [-tv <defualt|tls12|tls11|ssl3|tls1|ssl2>] [-ci <ciphers>]

mitm_intercept version 1.6
Tool herunterladen