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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
mtproto-dissector — Telegramプロトコルを解析するためのWiresharkプラグイン | Kitploit
ツール/GitHubGitHub/tomer8007/mtproto-dissector
パケットスニッフィングと分析暗号化/復号化ツールリバースエンジニアリングフォレンジックネットワークセキュリティ
GitHubtomer8007/mtproto-dissector

mtproto-dissector

Telegramプロトコルを解析するためのWiresharkプラグイン

リポジトリを見る
405ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Telegram プロトコルディセクタ

これは、周囲の Telegram トラフィックを理解するのに役立つ Wireshark ディセクタです。

検出した Telegram パケットを MTProto 2.0 プロトコルに従って解析します。

機能

  • 対応トランスポートプロトコル:Abridged、Full、Intermediate、HTTP
  • 難読化解除に対応
  • TCP リアセンブリに対応
  • 復号化に対応(認証キー指定時)
  • TL 言語 RPC ペイロードを解析

制限事項

  • MTProto 2.0 のみ対応(2017 年より前のクライアントには非対応)
  • WebSocket/Padded intermediate/UDP トランスポートプロトコルにはまだ対応していません
  • TL 言語は 100% 解析されていません。例:連想配列はサポートされていません
  • MTProxy トラフィックや非公式の MTProto サーバーへのトラフィックの自動検出にはまだ対応していません

インストールと使用方法

このディセクタをインストールするには:

  1. 暗号化操作に必要な luagcrypt Lua バインディングをインストールします。
    • luarocks でコンパイル可能です(お使いの Wireshark の Lua バージョンに合わせてください)
    • Windows ユーザーはこの issueでプリコンパイル済みの luagcrypt.dll を確認できます
    • 対応する luagcrypt.dll/luagcrypt.so を Wireshark のインストールディレクトリ(例:C:\Program Files\Wireshark)にコピーします
  2. このリポジトリをクローンまたはダウンロードします
  3. mtproto ディレクトリを Wireshark のプラグインディレクトリ(例:C:\Users\<username>\AppData\Roaming\Wireshark\plugins)にコピーします

インストール後は、Telegram トラフィックを含む Wireshark を開くだけで使用できます。

重要:難読化解除を機能させるには、MTProto 仕様に従い、TCP セッション全体が最初から把握されている必要があります。そのため、パケットの記録が開始された後に Telegram アプリを開くことをお勧めします。

認証キーの抽出

トラフィックを復号化するには、対応する認証キー (auth_key)が必要です。

公式 Telegram クライアントの最近のバージョンでは、クラウドチャットに完全前方秘匿性を採用しており、起動時および/または定期的に auth.bindTempAuthKey を呼び出します。つまり、メインセッションでは、永続的な認証キーではなく、一時的な認証キー(DH を使用して確立)が使用されます。

使用中の認証キーをその場で抽出するために、Telegram プロセスをフックする 2 つの frida スクリプトが提供されています。

これらを使用するには、Frida がインストールされていることを確認し、以下を実行します:

  • 公式 Windows アプリ用の hook_windows_auth_key.py(一部変更すれば Linux\Mac でも動作する可能性があります)
  • 公式 Android アプリ用の hook_android_auth_key.py

ネットワーク通信が行われるとすぐに、認証キーと認証キー ID が出力されます。

認証キーを入手したら、ディセクタにそれらを渡すために、Edit --> Prefrences --> Protocols --> MTProto に移動して認証キーを入力します。

永続的な認証キーは、tgnet.dat ファイル(Android - 例:ここ、ここ、ここを参照)または key_datas ファイル(Desktop - ここ、ここを参照)から抽出することもできます。他のクライアントでは、auth_key が異なる方法で保存されている可能性があります。

API レベルの同期

Telegram がクライアントの API スキーマバージョンを更新することがあります(または、古いクライアントのトラフィックを確認している可能性もあります)。この場合、このツールの TL スキーマがパケット内の一部の RPC 呼び出しと同期しなくなり、Wireshark に Incomplete parsing メッセージが表示される可能性があります。アプリが使用している API レベルは、invokeWithLayer リクエストで確認できます。

ディセクタを正しい API スキーマに同期するには、Telegram からレイヤーの TL ファイルをダウンロードし、JSON に変換して(下記参照)、mtproto/schema/api_tl_schema_layer_X.json として保存する必要があります。X はレイヤー番号です。

更新された API TL スキーマは、デスクトップアプリの api.tl から取得するか、Telegram の Web サイトで他のバージョンを確認できます。

tl ファイルを JSON に変換するには、例えば次のように実行します(npm がインストールされていることを確認してください)

root@kitploit:~
C:\path\to\MTproto Dissector> 
npx @psqq/tl-to-json api_layer_218.tl mtproto/schema/api_tl_schema_layer_218.json default --indent 4

次に、新しい JSON ファイルを Wireshark のプラグインディレクトリの mtproto/schema/ にコピーしてください。 最後に、Wireshark で Edit --> Prefrences --> Protocols --> MTPROTO に移動し、"API level" をトラフィックに一致するレベルに変更します。

ツールをダウンロード