Communitygithub.com

reverse-protocole

Utilisé pour le rétro-ingénierie autorisé de protocoles binaires personnalisés, Protobuf/gRPC, trames WebSocket et reconstitution de protocole à partir de PCAP.

Qu'est-ce que reverse-protocole ?

Ce skill fournit une méthodologie systématique pour le reverse engineering de protocoles réseau propriétaires, en particulier les protocoles binaires sur TCP/UDP, les sérialisations comme Protobuf/gRPC/FlatBuffers/MessagePack, et les trames WebSocket/MQTT/RPC privés. Il est conçu pour les professionnels de la sécurité et les développeurs qui doivent comprendre, documenter ou interagir avec des protocoles inconnus de manière légale et autorisée. Le skill couvre l'ensemble du workflow, depuis la capture (PCAP/PCAPNG) et le tri des échantillons, en passant par la reconstitution de la structure des trames (en-tête, longueur, checksum, état), jusqu'au déchiffrement et à la désérialisation des données. Il s'intègre avec des outils comme Wireshark, tshark, blackboxprotobuf, ImHex, 010 Editor, IDA, Ghidra, et s'appuie sur des fichiers de référence (field-journal, precedent-reverse) pour garantir que les opérations restent dans le cadre autorisé. Le skill est particulièrement utile pour les audits de sécurité, l'interopérabilité, la rétro-ingénierie de protocoles clients-serveurs, la recherche sur les malwares (C2) et l'analyse de trafic réseau.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Reverse Engineering de Protocole

ACTION REQUISE (à lire et exécuter immédiatement)

  1. MAINTENANT : Lire ../field-journal/precedent-reverse.md — confirmer l'autorisation et les limites opérationnelles.
  2. MAINTENANT : Confirmer si la tâche est un reverse de protocole/trafic/format de sérialisation (pas une simple signature de paramètres Web → rediriger vers js-reverse/).
  3. MAINTENANT : Si interaction réseau ciblée → exécuter ../scripts/case-init.ps1 pour délimiter le périmètre ; ne pas agir sur la cible sans auth accordée.
  4. SUIVANT : Lire ../tool-index.md ; si outils manquants, bootstrap (tshark/wireshark, etc. peuvent nécessiter une installation manuelle).
  5. AGIR : Démarrer la Phase 1 du workflow, produire un brouillon de la structure des trames ou un dictionnaire de messages.

Scénarios d'application

  • Protocoles binaires personnalisés TCP/UDP
  • Protobuf / gRPC / FlatBuffers / MessagePack
  • WebSocket / MQTT / RPC privé
  • Restauration de champs et de machine d'état à partir de PCAP / PCAPNG
  • Validation client-serveur, numéros de séquence, en-têtes chiffrés

Ne pas utiliser ce skill

SituationAller vers
Uniquement signature de paramètres HTTP / chiffrement JSjs-reverse/
Uniquement problème de certificat TLSpentest-tools/ ou proxy navigateur
Reverse avancé de protocole + simulation dans le firmwarefirmware-pentest/ puis revenir à ce skill

Workflow

Phase 1 — Capture et tri

□ Obtenir échantillon : PCAP / export proxy / logs client / binaire
□ Marquer direction : C→S / S→C ; présence de handshake, heartbeat, reconnexion
□ En-tête fixe ? Magic number ? Champ de longueur ? TLV ? Taille fixe ?
□ Compression (zlib/gzip/lz4) ou chiffrement (AES/ChaCha dans la trame) ?
□ tshark -r cap.pcap -T fields -e frame.number -e ip.src -e tcp.payload

Phase 2 — Restauration de la structure des trames

□ Aligner plusieurs messages du même type, trouver octets invariants / numéros de séquence croissants
□ Champ de longueur : big-endian/little-endian, incluant ou non l'en-tête
□ Checksum : CRC16/32, checksum, position HMAC
□ Dessiner la machine d'état : Connect → Auth → Ready → Request/Response → Close
□ Outils : brouillon de dissector personnalisé Wireshark / ImHex / modèle 010 Editor / Kaitai Struct

Phase 3 — Sérialisation et chiffrement

□ Protobuf : récupération du .proto (blackboxprotobuf / pbtk / protoc --decode_raw)
□ gRPC : en-têtes HTTP/2 + corps protobuf
□ Chiffrement : rechercher la dérivation de clé (client so/dll/JS) → combiner avec ida-reverse / js-reverse / apk-reverse
□ Rejeu : uniquement dans le périmètre autorisé ; commencer par les champs inoffensifs, puis les opérations sensibles

Phase 4 — Livrables

DOIT produire :
- Tableau des types de messages (nom / opcode / champs)
- Au moins 1 commande ou script de décodage reproductible
- Preuve : extrait hexadécimal original + résultat décodé (anonymisé)

Chaîne d'outils

OutilRequisUtilisationBootstrap
tshark / WiresharkFortement recommandéAnalyse PCAPManuel / winget
Python3OuiScripts de décodageSystème
blackboxprotobufOptionnelProtobuf inconnupip
ImHex / 010OptionnelModèles de structureManuel
IDA / r2 / GhidraSelon besoinFonctions de sérialisation clientVoir skill correspondant

Références

  • references/protocol-workflow.md — Aide-mémoire sur la structure des trames et Protobuf
  • Connexes : ../ida-reverse/ ../js-reverse/ ../firmware-pentest/ ../pentest-tools/

Contexte de routage

Amont : MASTER-ROUTING R21 · routing.md
Aval : Si besoin d'algorithme client → ida-reverse/js-reverse ; Si besoin de rejeu → pentest-tools/api-security
Pair : malware-analysis (protocole C2), digital-forensics (analyse forensique du trafic)

Auto-vérification de fin de tâche

  • Avez-vous reconstitué la structure des messages ou la machine d'état (pas seulement collé du hex) ?
  • Y a-t-il une commande de décodage reproductible ?
  • Le périmètre / l'anonymisation sont-ils respectés ?
  • Avez-vous mis à jour le field-journal / la Checklist du rapport ?

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.

Skills associés