Skip to content

Plan d'issues pour VolchockC2 #1

@Blowdok

Description

@Blowdok

VolchockC2

Fichier : GITHUB_ISSUES.md
But : tickets techniques priorisés pour durcir, fiabiliser et industrialiser le C2.


Issue 1 — Remplacer XOR+Base64 par canal chiffré (TLS1.3 + AEAD)

Titre court : Transport sécurisé — remplacer XOR/Base64 par TLS1.3 + AEAD
Description :
Le chiffrement actuel (XOR + Base64) est de l'obfuscation. Implémenter un canal sécurisé avec TLS1.3 (option mTLS) + AEAD (ChaCha20-Poly1305 ou AES-GCM). Handshake ECDH (X25519) pour clés éphémères. Documenter breaking changes et migration.

Tâches :

  • Ajouter support HTTPS (FastAPI/uvicorn ou aiohttp) pour listener.
  • Implémenter mTLS optionnel (certificates ou PSK fallback).
  • Utiliser AEAD pour payloads (ChaCha20-Poly1305) après handshake.
  • Ajouter nonce/replay-guard côté agent/serveur.
  • Tests unitaires d’interopérabilité agent ⇄ server.

Critères d'acceptation :

  • Connexion établie via TLS1.3 et échange de messages chiffrés AEAD.
  • Replay des paquets rejeté (tests unitaires).
  • Documentation migration mise à jour (config/config.json exemples).

Labels : security, high-priority, backend
Checklist PR :

  • Server TLS implémenté
  • Agent compatible TLS
  • Tests de replay et d’intégration
  • Docs + exemples de config

Issue 2 — Protocol : task_id, ACK/NAK, TTL, retry idempotent

Titre court : Fiabiliser le protocole — task_id / ACK / TTL / retry
Description :
Ajouter task_id unique, ACK/NAK, TTL et logique de retry idempotente pour éviter duplications et pertes de tâches.

Tâches :

  • Définir nouveau schéma JSON pour messages (task_id, nonce, ttl, attempts).
  • Implémenter ACK/NAK côté agent et serveur.
  • Retry côté serveur avec backoff (exponentiel + jitter).
  • Stocker état des tasks (SQLite léger) pour idempotence.

Critères d'acceptation :

  • Chaque commande a task_id unique et peut être retriée sans duplication.
  • ACK/NAK observables dans logs.
  • TTL empêche exécution de tâches périmées.

Labels : protocol, medium-priority, reliability
Checklist PR :

  • Schéma JSON mis à jour
  • Logic ACK/NAK et retries
  • Tests d’idempotence

Issue 3 — Rotation de clés & bootstrap de session (X25519)

Titre court : Bootstrap session & rotation clés ECDH
Description :
Implémenter handshake X25519 pour créer clés éphémères, puis rotation périodique (par durée ou nbr de messages). Fournir mécanisme de bootstrap (attestation simple : nonce + signature HMAC).

Tâches :

  • Ajouter implémentation X25519 handshake.
  • Stocker clés éphémères en mémoire uniquement.
  • Rotation automatique (ex : 30 min ou 1000 messages).
  • Mode debug pour forcer rotation manuelle.

Critères d'acceptation :

  • Handshake génère clé de session partagée vérifiable.
  • Rotation testée et transparente pour session active.

Labels : security, backend, crypto
Checklist PR :

  • Handshake X25519
  • Rotation automatique
  • Tests de montée/descente de session

Issue 4 — Profil HTTP, jitter, padding et morphing d’entêtes

Titre court : Discrétion réseau — jitter, profiles HTTP et padding
Description :
Rendre les communications plus furtives : jitter/backoff, profils HTTP (UA, Accept-Language, cookies), padding des payloads, chemins/URIs aléatoires configurables.

Tâches :

  • Implémenter jitter + backoff (configurable).
  • Profils HTTP stockés en config/profiles/ (templates).
  • Padding avant chiffrage pour atteindre taille aléatoire.
  • Génération URIs aléatoires (ex: /update/<hash>).

Critères d'acceptation :

  • Profil sélectionnable par agent.
  • Jitter configurable, padding actif.
  • Logs montrent URIs variant par session.

Labels : stealth, network, medium-priority
Checklist PR :

  • Jitter + backoff
  • Profiles HTTP et docs
  • Padding implémenté

Issue 5 — Hardening agent : checks anti-sandbox & techniques mémoire sûres

Titre court : Agent hardening — anti-sandbox et exécution in-memory hardening
Description :
Ajouter contrôles anti-sandbox (uptime, CPU count, VM artifacts), améliorer loader réflexif (RWX-less, séquence VirtualAlloc + mprotect, FlushInstructionCache), réduire traces.

Tâches :

  • Implémenter checks de pré-exécution (uptime, processes connus).
  • Rendre sRDI loader RW -> RX (avoider RWX section).
  • Minimiser chaînes en clair, implémenter string-hashing simple.
  • Documenter limitations légales & éthiques.

Critères d'acceptation :

  • Loader exécute PE en mémoire sans section RWX.
  • Checks anti-sandbox activables via config.
  • Aucun secret en clair dans binaire de base.

Labels : agent, hardening, high-priority
Checklist PR :

  • Pré-checks anti-sandbox
  • RW->RX loader
  • Tests d’exécution en lab

Issue 6 — Logging signé, audit et RBAC opérateur

Titre court : Audit & RBAC — journaux signés, RBAC opérateurs
Description :
Introduire journalisation horodatée signée (HMAC) pour toutes actions opérateur/agent, et RBAC simple (roles: admin, operator, viewer). Stocker logs dans SQLite/JSONL exportable.

Tâches :

  • Ajouter module audit qui signe entrées (HMAC + key server-side).
  • Implémenter RBAC sur endpoints opérateur.
  • API d’export JSONL pour rapports.

Critères d'acceptation :

  • Logs signés et vérifiables.
  • RBAC empêche actions non-autorisées.

Labels : audit, backend, medium-priority
Checklist PR :

  • Module audit
  • RBAC implémenté
  • Export JSONL OK

Issue 7 — UI opérateur (FastAPI + WebSocket) : vue agents + console

Titre court : Web UI opérateur — console, liste agents, file tâches
Description :
Créer une UI minimale (FastAPI + WebSocket) pour lister agents, ouvrir console interactive, envoyer tâches et visualiser logs.

Tâches :

  • Backend FastAPI + endpoints REST pour agents.
  • WebSocket pour console en temps réel.
  • Pages : Agents / Agent Console / Files / Logs.
  • Auth (token-based) intégrée.

Critères d'acceptation :

  • Console live bidirectionnelle fonctionnelle.
  • Auth basique en place.

Labels : frontend, ui, low-priority
Checklist PR :

  • Endpoints REST
  • WebSocket console
  • UI minimale (static files)

Issue 8 — Générateur d’agents (profiles → binaire / shellcode / PS1)

Titre court : Générateur d’agents — profiles de comms → artefacts
Description :
Automatiser la génération d’agents selon profils (listener, obfuscation, persistence off). Sorties : PE, DLL shellcode, PowerShell stagers.

Tâches :

  • Créer CLI generate_agent --profile X --output Y.
  • Templates pour PE/DLL/PS1.
  • Intégrer options de compilation (pyinstaller / pkg).
  • Signature d’échantillon (test) en lab.

Critères d'acceptation :

  • Générateur produit binaire exécutable configuré avec profile choisi.
  • Test d’intégration agent ⇄ server OK.

Labels : tooling, devops, medium-priority
Checklist PR :

  • CLI generator
  • Templates binaires
  • Test intégration

Issue 9 — CI / QA : tests d’intégration, packaging et AV-tests en lab

Titre court : CI & QA — tests intégration + packaging + lab AV
Description :
Ajouter pipeline CI (GitHub Actions) pour lint, unit tests, build agent, test d’intégration (server+agent) dans runner isolé. Scripts pour tests AV en lab (non public).

Tâches :

  • GH Actions : lint (flake8/ruff), pytest, build artefact.
  • Job integration-test qui lance server et agent dockerisés et vérifie handshake & task lifecycle.
  • Docs pour tests AV en lab (procédures & échantillons).

Critères d'acceptation :

  • Pipeline vert sur PRs.
  • Tests d’intégration couvrant handshake + task ACK/NAK.

Labels : ci, tests, devops
Checklist PR :

  • Workflow CI ajouté
  • Tests unitaires et integration
  • Docs tests AV (privé)

Shortlist d'issues prioritaires (ordre recommandé)

  1. Issue 1 — TLS + AEAD (security)
  2. Issue 3 — Bootstrap & rotation clés
  3. Issue 2 — Protocol task_id / ACK / TTL
  4. Issue 5 — Hardening agent
  5. Issue 6 — Logging signé & RBAC

Remarques légales & éthiques (à inclure dans chaque issue)

  • Ajouter un paragraphe obligatoire dans chaque PR : “Utilisation : lab/internal/autorisé seulement. Toute utilisation non autorisée est interdite.”
  • Mettre un fichier USAGE_POLICY.md à la racine rappelant contraintes légales.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions