mcpField
P
protocol-reverse

protocol-reverse

github.com/zhaoxuya520開発43.7k1.2k 回インストール5 週間前に更新
リポジトリ

protocol-reverse について

protocol-reverseは、許可された範囲でネットワークプロトコル、通信データ、シリアライズ形式を解析するスキルです。サンプルの分類とフレーム解析から、メッセージ辞書、再現可能なデコード、証拠の整理までを扱います。

主な機能

  1. 01TCP、UDP、アプリケーションプロトコルの解析
  2. 02PCAPからのフレーム構造復元
  3. 03シリアライズ形式と暗号化の調査
  4. 04メッセージ状態機械の作成
  5. 05メッセージ表とデコード証拠の作成

活用シーン

  1. 01独自バイナリプロトコルの解析
  2. 02ProtobufやgRPC通信の解析
  3. 03WebSocketやMQTTメッセージの復元
  4. 04PCAPからのフィールドと状態機械の特定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zhaoxuya520/reverse-skill --skill protocol-reverse

インストール後、Claude Code で/protocol-reverseを入力して読み込まれたか確認します。

同梱ファイルreferences/protocol-workflow.md

詳細

プロトコルリバースエンジニアリング

ACTION REQUIRED(読了後すぐに実行)

  1. NOW: ../field-journal/precedent-reverse.md を読む — 授权と通常操作の境界を確認する
  2. NOW: タスクがプロトコル/トラフィック/シリアライゼーション形式のリバースか確認する(純粋な Web パラメータ署名でない場合 → js-reverse/ へ)
  3. NOW: 対象となるネットワーク対話がある場合 → ../scripts/case-init.ps1 で scope を完了する。auth が granted でない場合、対象への ACT は禁止
  4. NEXT: ../tool-index.md を読む。ツールが不足している場合は bootstrap(tshark/wireshark などは手動が必要な場合あり)
  5. ACT: ワークフロー Phase 1 に入り、フレームレイアウトまたはメッセージ辞書のドラフトを作成する

適用シーン

  • カスタム TCP/UDP バイナリプロトコル
  • Protobuf / gRPC / FlatBuffers / MessagePack
  • WebSocket / MQTT / 独自 RPC
  • PCAP / PCAPNG からのフィールドとステートマシンの復元
  • クライアント-サーバー間の検証、シーケンス番号、暗号化フレームヘッダー

本 skill を使わない場合

状況行き先
HTTP パラメータ署名 / JS 暗号化のみjs-reverse/
TLS 証明書の問題のみpentest-tools/ またはブラウザプロキシ
ファームウェア内プロトコルスタックの深掘り + エミュレーションfirmware-pentest/ の後に本 skill へ戻る

ワークフロー

Phase 1 — 収集とトリアージ
□ 拿到样本:PCAP / 代理导出 / 客户端日志 / 二进制
□ 标记方向:C→S / S→C;是否有握手、心跳、重连
□ 固定头?魔数?长度字段?TLV?定长?
□ 是否压缩(zlib/gzip/lz4)或加密(AES/ChaCha 帧内)
□ tshark -r cap.pcap -T fields -e frame.number -e ip.src -e tcp.payload
Phase 2 — フレームレイアウトの復元
□ 对齐多个同类消息,找不变字节 / 自增序列号
□ 长度字段:大端/小端、含头/不含头
□ 校验:CRC16/32、checksum、HMAC 位置
□ 画出状态机:Connect → Auth → Ready → Request/Response → Close
□ 工具:Wireshark 自定义 dissector 草稿 / ImHex / 010 Editor 模板 / Kaitai Struct
Phase 3 — シリアライゼーションと暗号化
□ Protobuf:.proto 恢复(blackboxprotobuf / pbtk / protoc --decode_raw)
□ gRPC:HTTP/2 headers + protobuf body
□ 加密:找密钥派生(客户端 so/dll/JS)→ 联合 ida-reverse / js-reverse / apk-reverse
□ 重放:仅在授权 scope 内;先无害字段再敏感操作
Phase 4 — 成果物
MUST 产出:
- 消息类型表(name / opcode / fields)
- 至少 1 条可复现的解码命令或脚本
- Evidence:原始 hex 摘录 + 解码结果(脱敏)

ツールチェーン

ツール必須用途自举
tshark / Wireshark強く推奨PCAP 解析手動 / winget
Python3はいデコードスクリプトシステム
blackboxprotobuf任意未知の protobufpip
ImHex / 010任意構造テンプレート手動
IDA / r2 / Ghidra必要に応じてクライアントのシリアライゼーション関数対応する skill を参照

参考

  • references/protocol-workflow.md — フレームレイアウトと Protobuf のクイックリファレンス
  • 関連:../ida-reverse/ ../js-reverse/ ../firmware-pentest/ ../pentest-tools/

ルーティングコンテキスト

上流: MASTER-ROUTING R21 · routing.md
下流: クライアントアルゴリズムが必要 → ida-reverse/js-reverse;リプレイの悪用が必要 → pentest-tools/api-security
同階層: malware-analysis(C2 プロトコル)、digital-forensics(トラフィックフォレンジック)

タスク完了セルフチェック

  • メッセージレイアウトまたはステートマシンを復元したか(単に hex を貼っただけではないか)?
  • 再現可能なデコードコマンドがあるか?
  • scope / マスキングを遵守したか?
  • field-journal / レポート Checklist に書き戻したか?

コメント