-
Notifications
You must be signed in to change notification settings - Fork 7
Description
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.jsonexemples).
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_idunique 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
auditqui 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-testqui 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é)
- Issue 1 — TLS + AEAD (security)
- Issue 3 — Bootstrap & rotation clés
- Issue 2 — Protocol task_id / ACK / TTL
- Issue 5 — Hardening agent
- 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.