Communitygithub.com

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

カスタムバイナリプロトコル、Protobuf/gRPC、WebSocketフレーム、PCAP駆動のプロトコル復元のための許可されたリバースエンジニアリングを行います。

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

このスキルは、開発者やセキュリティ研究者がカスタムバイナリプロトコルやシリアル化形式をリバースエンジニアリングするための構造化されたワークフローを提供します。主にTCP/UDP上の独自プロトコル、Protobuf/gRPC、FlatBuffers、MessagePack、WebSocket、MQTT、プライベートRPCに対応し、PCAP/PCAPNGファイルからのフレームレイアウトとステートマシンの復元を支援します。また、クライアント-サーバー間の検証、シーケンス番号、暗号化フレームヘッダーの解析にも役立ちます。Phase 1(キャプチャとトリアージ)からPhase 4(成果物の生成)までの明確なステップを定義し、tshark/Wiresharkによるパケット解析、Python3とblackboxprotobufによるデコードスクリプト作成、ImHexや010 Editorによるバイナリ構造テンプレート作成など、実用的なツールチェーンを推奨します。ただし、本スキルは許可された範囲内でのみ使用し、認可なしに対象にアクティブな操作を行うことは禁止されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zhaoxuya520/reverse-skill/tree/main/skills/protocol-reverse

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

プロトコルリバースエンジニアリング は何をしますか?

ACTION REQUIRED(読了後即実行)

  1. NOW: ../field-journal/precedent-reverse.md を読み、許可と通常の操作境界を確認する
  2. NOW: タスクがプロトコル/トラフィック/シリアライズ形式のリバースであること(純粋なWebパラメータ署名ではない → js-reverse/)
  3. NOW: 対象ネットワークとのやり取りがある場合 → ../scripts/case-init.ps1 でスコープを設定;auth が許可されていない限り、対象へのACTを禁止する
  4. NEXT: ../tool-index.md を読む;不足ツールはbootstrapする(tshark/wireshark等は手動でインストールが必要な場合あり)
  5. ACT: ワークフローのPhase 1に進み、フレームレイアウトまたはメッセージディクショナリのドラフトを作成する

適用シナリオ

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

本スキルを使わないケース

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

ワークフロー

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カスタムディセクタのドラフト / ImHex / 010 Editorテンプレート / Kaitai Struct

Phase 3 — シリアライズと暗号化

□ Protobuf:.protoの復元(blackboxprotobuf / pbtk / protoc --decode_raw)
□ gRPC:HTTP/2ヘッダー + protobufボディ
□ 暗号化:鍵導出を探す(クライアントso/dll/JS)→ ida-reverse / js-reverse / apk-reverseと連携
□ リプレイ:許可されたスコープ内でのみ;無害なフィールドから始め、機密操作は後で

Phase 4 — 成果物

MUST 成果物:
- メッセージタイプテーブル(name / opcode / fields)
- 少なくとも1つの再現可能なデコードコマンドまたはスクリプト
- Evidence:元のhex抜粋 + デコード結果(匿名化済み)

ツールチェーン

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

参考

  • 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を貼っただけではない)?
  • 再現可能なデコードコマンドがあるか?
  • スコープ/匿名化を遵守したか?
  • field-journal / レポート Checklist に書き戻したか?

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

apk-reverse

在 CLI 环境下做 Android APK 逆向时使用。适用于 APK 解包、Java 反编译、smali 修改、重打包、Frida 动态 Hook,以及按需切换到 so/native 分析。优先使用本机已安装的 jadx、apktool、frida、adb、ida-reverse、radare2。

attack-chain

Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.

binary-diff

|

binary-ninja-reverse

Use for authorized binary analysis in Binary Ninja, including HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration.

browser-automation

|

browser-extension-reverse

Use for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic recovery.

case-review

Reviews a reverse-skill case package for scope readiness, Evidence to Finding to Path traceability, work item coverage, timeline references, and optional artifact hash integrity before report handoff.

cloud-k8s

Use for authorized cloud, container, and Kubernetes security assessment including metadata SSRF, IAM misconfig, container escape paths, and cluster RBAC review.

code-audit

Use for authorized source-code security review and SAST workflows including Semgrep, CodeQL patterns, dangerous API hunting, and fix verification.

ctf-sandbox

Thin PRIMARY for CTF / AWD / 靶场 multi-type orchestration. Hands off to the sidecar CTF-Sandbox-Orchestrator. Use when the user says CTF, AWD, 靶场, or 比赛题 and no more specific pwn/APK/IDA route already won.

database-security

Use for authorized database security assessment covering PostgreSQL/MySQL/MSSQL/Mongo/Redis exposure, authz, UDF/command paths, and misconfiguration review.

diagram-generator

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency graphs, gantt charts, mind maps, user journeys, sankey-style flows, org charts, network graphs, and other visual models. supports mermaid by default, graphviz dot for complex graph layout, plantuml for uml-heavy engineering diagrams, and svg output when direct markup is more reliable.

digital-forensics

Use for authorized digital forensics including memory dumps, disk timelines, PCAP investigation, artifact triage, and IR evidence preservation.

docs-generator

|

dotnet-reverse

.NET / C# 二进制逆向。当目标是 .NET assembly(PE 头含 CLR、.exe/.dll 托管程序)、C# 编译产物(含 NativeAOT)、红队 Sharp* 工具(Rubeus / SharpHound / SharpHound 等)、.NET 混淆程序(ConfuserEx / SmartAssembly / Babel / Eazfuscator)、.NET loader / info-stealer / 套壳 malware 时使用。优先用 dnSpyEx + de4dot,需要 AI 直接操作时联动 dnSpy MCP。不用于纯 native 二进制(走 reverse-engineering / ida-reverse)。

edr-bypass-re

|

email-security

Use for authorized email security review including phishing analysis, header authentication (SPF/DKIM/DMARC), BEC patterns, and mailbox token abuse research.

firmware-pentest

|

ghidra-reverse

Use for free/open reverse engineering with Ghidra (headless or GUI), including decompile, cross-refs, and optional Ghidra MCP workflows when IDA is unavailable.

関連スキル