Skip to content
KitploitKITPLOIT
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
mallet — Mallet ist ein Abfangproxy für beliebige Protokolle. | Kitploit
Tools/GitHubGitHub/sensepost/mallet
Web-Proxys & AbfangenNetzwerksicherheitPenetrationstestsDienstprogramme & Frameworks
GitHubsensepost/mallet

mallet

Mallet ist ein Abfangproxy für beliebige Protokolle.

Repository anzeigen
29242vor 2 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

Mallet, ein Framework zur Erstellung von Proxys

Mallet ist ein Tool zur Erstellung von Proxys für beliebige Protokolle, ähnlich wie die bekannten abfangenden Web-Proxys, nur allgemeiner.

Es basiert auf dem Netty-Framework und nutzt stark das Netty-Pipeline-Konzept, das die grafische Zusammenstellung von Handler-Graphen ermöglicht. (Siehe Screenshots unten für ein Beispiel.) In der Netty-Welt übernehmen Handler-Instanzen die Rahmenabgrenzung (d.h. wo eine Nachricht beginnt und endet), die Protokoll-Decodierung und -Encodierung (Umwandlung eines Bytestroms in Java-Objekte und zurück oder Umwandlung eines Bytestroms in einen anderen Bytestrom - denken Sie an Komprimierung und Dekomprimierung) sowie höhere Logik (tatsächlich etwas mit diesen Objekten tun).

Durch die sorgfältige Trennung von Codecs und Handlern, die die Nachrichten tatsächlich manipulieren, kann Mallet von der großen Bibliothek vorhandener Codecs profitieren und die Neuimplementierung vieler Protokolle vermeiden. Das letzte Puzzlestück wird von einem Handler bereitgestellt, der auf einer Pipeline empfangene Nachrichten in eine andere Pipeline kopiert und diese Nachrichten an ihr endgültiges Ziel weiterleitet.

Natürlich können die Nachrichten, solange sie sich in Mallet befinden, leicht manipuliert werden, entweder mit benutzerdefinierten Handlern, die in Java oder einer JSR-223-konformen Skriptsprache geschrieben sind, oder manuell mit einem der bereitgestellten Editoren.

Sie können sich einen Überblick über die verfügbaren Codecs verschaffen, indem Sie sich den Netty-Quellcode auf GitHub in den Verzeichnissen codec* ansehen. Oder indem Sie einfach nach netty und dem gewünschten Protokoll googeln. Viele interessante Protokollimplementierungen wurden außerhalb des Kern-Netty-Projekts entwickelt, sollten aber dennoch gut mit Mallet funktionieren.

Wer könnte Mallet verwenden?

Mallet richtet sich an Personen, die mit vernetzten Anwendungen arbeiten, die nicht auf HTTP-Kommunikation basieren. Beispiele könnten das Internet der Dinge sein, das MQTT, COAP usw. verwenden könnte, Geldautomaten und Point-of-Sale-Geräte, die ISO8583 verwenden könnten, oder, um ehrlich zu sein, jedes andere Protokoll.

Tatsächlich kann Mallet sogar für HTTP-basierte Anwendungen nützlich sein, die zusätzliche Protokolle innerhalb von HTTP verwenden. Zum Beispiel Google Protobuf über WebSockets, die von bestehenden HTTP-Proxys wie Burp, Zap usw. nicht gut unterstützt werden, oder gRPC über HTTP2.

Mallet ist nicht unbedingt nur für Sicherheitsüberprüfungen gedacht. Da Mallet auf dem Netty Framework aufbaut, können Sie Ihren Code, nachdem Sie Ihre Pipeline mit Mallet prototypisiert haben, mit sehr geringem Aufwand in eine reine Netty-Anwendung migrieren.

Bildschirmfotos

Dies ist ein Beispiel für einen einfachen SOCKS-Proxy, der als erster Schritt zum Verständnis des Netzwerkverkehrs verwendet werden kann.

Mallet Neues Diagramm

Sobald Sie eine Vorstellung davon haben, wie der Verkehr tatsächlich aussieht, können Sie beginnen, entsprechende ChannelHandler-Klassen entlang der Pipeline hinzuzufügen.

Mallet erstellen

Mallet verwendet Maven, daher ist das Kompilieren des Codes eine Sache von

root@kitploit:~
mvn package

Um es auszuführen:

root@kitploit:~
cd target/
java -jar mallet-1.0-SNAPSHOT-spring-boot.jar

Es gibt einige Beispielgraphen im Verzeichnis examples/. Die JSON-Graphen erwarten, dass ein JSON-Client eine Verbindung zu Mallet auf localhost:9998/tcp herstellt, wobei der eigentliche Server auf localhost:9999/tcp läuft. Nur der letzte JSON-Graph (json5.mxe) trifft Annahmen über die Struktur der übertragenen JSON-Nachrichten, daher sollten sie auf jede App anwendbar sein, die JSON-Nachrichten sendet.

Die Datei demo.mxe zeigt einen komplexen Graphen mit zwei Pipelines, sowohl TCP als auch UDP. Die TCP-Pipeline ist so aufgebaut, dass sie HTTP und HTTPS auf den Ports 80 bzw. 443 sowie WebSockets unterstützt, während andere Datenverkehr direkt an sein Ziel weitergeleitet wird. Die UDP-Pipeline ist so aufgebaut, dass sie DNS-Anfragen auf localhost:1053/udp verarbeitet, Anfragen für google.com durch Anfragen für www.sensepost.com ersetzt und die Anfragen an Google-DNS-Server weiterleitet.

Feedback und Beiträge

Feedback und Beiträge sind willkommen. Bitte erstellen Sie bei Bedarf Issues oder kontaktieren Sie den Autor auf Twitter @RoganDawes.

Tool herunterladen