competition-custom-protocol-replay について
`$ctf-sandbox-orchestrator` がサンドボックスの前提と証拠の優先順位を定めた後に使う、CTF向けの下流スキルです。メッセージ順序とフレーミングを分析し、受け入れ状態に至る最小の通信記録を特定します。
主な機能
- 01セッション段階と状態遷移の整理
- 02フレーミングと整合性フィールドの復元
- 03成功した通信記録の管理
- 04要素を一つずつ変えた通信の再生
- 05受け入れ可能な最小メッセージ列への整理
活用シーン
- 01状態を持つカスタムプロトコル通信の再現
- 02サーバーの受け入れ結果を変えるメッセージやフィールドの特定
- 03目標状態に至る最小再生の証拠作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ zhaoxuya520/ reverse-skill --skill competition-custom-protocol-replayインストール後、Claude Code で/competition-custom-protocol-replayを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlreferences/custom-protocol-replay.md
詳細
競技カスタムプロトコルリプレイ
このスキルは、$ctf-sandbox-orchestrator がすでにアクティブで、サンドボックスの前提、ノードの所有権、証拠の優先順位が確立されている場合にのみ、下流の専門化として使用してください。まだそれが行われていない場合は、まず $ctf-sandbox-orchestrator に戻ってください。
このスキルは、プロトコルを名付けることだけが難題ではなく、受け入れに必要な正確なメッセージ順序と状態を再現することが難題である場合に使用してください。
ユーザーが明示的に英語を要求しない限り、簡体字中国語で回答してください。
クイックスタート
- フィールドの意味をデコードする前に、クライアントとサーバーの役割、セッションの境界、リセット条件を特定します。
- 広範なリプレイを試みる前に、フレーミング、長さ、区切り文字、シーケンス番号、チェックサム、ノンス、状態遷移を復元します。
- 成功した交換の正規トランスクリプトを 1 つ保持します。
- リプレイしながら、一度に 1 つのフィールドまたは 1 つのメッセージだけを変更します。
- 決定的な分岐を証明する、受け入れられる最小の会話を再現します。
ワークフロー
1. セッションの状態機械をマッピングする
- ハンドシェイク、ネゴシエーション、認証、キープアライブ、コマンド、切断の各フェーズを特定します。
- どのフィールドが静的で、どれが派生で、どれが先行メッセージに依存するかを記録します。
- メッセージの順序、方向、タイミングを、同じセッション ID に結び付けて保持します。
2. フレーミングと整合性を復元する
- 長さ、区切り文字、タイプバイト、チェックサム、MAC、カウンター、圧縮、暗号化の境界を再構築します。
- トランスポートのフレーミングとアプリケーションレベルのフレーミングを区別します。
- 1 つのフィールドまたはステップを変更したときに、サーバーの受け入れが正確にどこで変化するかを記録します。
3. 最小限のリプレイハーネスを構築する
- 受け入れられた状態、パーサーの分岐、コマンドの効果、または成果物に到達する最小のトランスクリプトまでパスを削減します。
- 元のキャプチャしたシーケンスと、リプレイした最小シーケンスの両方を保持します。
- 問題が主に汎用的な PCAP またはストリームのデコードであり、ステートフルなリプレイ要件がない場合は、より広範な PCAP スキルに戻ってください。
このリファレンスを読む
- 状態機械のチェックリスト、トランスクリプトのチェックリスト、証拠のパッケージ化については、
references/custom-protocol-replay.mdを読み込んでください。
保持すべきもの
- 正規トランスクリプト、メッセージタイプ、フィールド境界、チェックサム、カウンター、セッション識別子
- 元のキャプチャスライスと、受け入れを生み出すリプレイハーネスの入力
- プロトコルを拒否から受け入れへ、またはその逆へと反転させる正確な変更
コメント
Markdown 対応