Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
mallet — Malletは、任意のプロトコル用のインターセプティングプロキシです。 | Kitploit
ツール/GitHubGitHub/sensepost/mallet
ウェブプロキシと傍受ネットワークセキュリティペネトレーションテストユーティリティとフレームワーク
GitHubsensepost/mallet

mallet

Malletは、任意のプロトコル用のインターセプティングプロキシです。

リポジトリを見る
292422年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Mallet、プロキシ作成フレームワーク

Malletは、任意のプロトコル用のプロキシを作成するツールです。おなじみのインターセプトWebプロキシと同様の考え方ですが、より汎用的です。

Nettyフレームワーク上に構築されており、Nettyのパイプライン概念に大きく依存しています。これにより、ハンドラーのグラフをグラフィカルに組み立てることができます。(例については、下のスクリーンショットを参照してください。)Nettyの世界では、ハンドラーインスタンスがフレームの区切り(メッセージの開始と終了)、プロトコルのデコードとエンコード(バイトストリームをJavaオブジェクトに変換したり、その逆を行ったり、バイトストリームを別のバイトストリームに変換する - 圧縮と解凍など)、およびより高度なロジック(実際にそれらのオブジェクトで何かを行う)を提供します。

Malletは、実際にメッセージを操作するハンドラーからコーデックを注意深く分離することで、既存の膨大なコーデックライブラリを活用し、多くのプロトコルの再実装を回避できます。最後のピースは、あるパイプラインで受信したメッセージを別のパイプラインにコピーし、それらのメッセージを最終的な宛先にプロキシするハンドラーによって提供されます。

もちろん、メッセージがMallet内にある間は、JavaまたはJSR-223準拠のスクリプト言語で書かれたカスタムハンドラーを使用して、または提供されているエディターのいずれかを使用して手動で、簡単に改ざんできます。

利用可能なコーデックの概要は、GitHubのNettyソース、codec*ディレクトリを参照することで得られます。または、nettyと興味のあるプロトコルをGoogle検索するだけでも構いません。多くの興味深いプロトコル実装がNettyコアプロジェクトの外部で開発されていますが、それらはMalletでも問題なく動作するはずです。

Malletは誰が使うべきか?

Malletは、HTTP通信に基づかないネットワークアプリケーションを扱う人々を対象としています。例としては、MQTT、COAPなどを使用する可能性のあるモノのインターネット、ISO8583を使用する可能性のあるATMやPOS端末、あるいは正直なところ、他の任意のプロトコルが考えられます。

実際、Malletは、HTTP内で追加のプロトコルを使用するHTTPベースのアプリケーションにも役立つ可能性があります。例えば、Burp、Zapなどの既存のHTTPプロキシでは十分にサポートされていないWebSocket上のGoogle Protobuf、またはHTTP2上のgRPCなどです。

Malletは必ずしもセキュリティレビューのためだけではありません。Netty Framework上に構築されているため、Malletを使用してパイプラインのプロトタイプを作成した後は、ほとんど手間をかけずにコードを通常のNettyアプリケーションに移行できます。

スクリーンショット

これは、実際に目にしているネットワークトラフィックを理解するための最初のステップとして使用できる、シンプルなSOCKSプロキシの例です。

Malletの新しいダイアグラム

トラフィックが実際にどのようなものかを把握したら、パイプラインに適切なChannelHandlerクラスの追加を開始できます。

Malletのビルド

MalletはMavenを使用しているため、コードのコンパイルは次の手順で行います。

root@kitploit:~
mvn package

実行するには:

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

examples/ディレクトリにはいくつかのサンプルグラフが用意されています。JSONグラフは、JSONクライアントがlocalhost:9998/tcpでMalletに接続し、実際のサーバーはlocalhost:9999/tcpにあることを想定しています。最後のJSONグラフ(json5.mxe)だけが、渡されるJSONメッセージの構造について何らかの仮定を置いているため、それらはJSONメッセージを送信する任意のアプリに適用できるはずです。

demo.mxeは、TCPとUDPの両方の2つのパイプラインを持つ複雑なグラフを示しています。TCPパイプラインは、ポート80と443でそれぞれHTTPとHTTPS、およびWebSocketをサポートし、その他のトラフィックは直接宛先に中継するように構築されています。UDPパイプラインは、localhost:1053/udpでDNSリクエストを処理し、google.comへのクエリをwww.sensepost.comへのクエリに置き換え、リクエストをGoogle DNSサーバーに転送するように構築されています。

フィードバックと貢献

フィードバックと貢献を歓迎します。適切な場合はIssueを作成するか、Twitter @RoganDawesで作者に連絡してください。

ツールをダウンロード