Aller au contenu
MB
Étude de casOffensive ResearchShellcodePythonx86_64Responsible Security

Venom

Un projet de recherche contrôlé autour de la génération de shellcode reverse shell personnalisable et obfusqué en Python et assembleur x86_64.

Objectif

Démontrer des techniques offensives et une génération de payloads sensible à l'évasion dans un cadre d'apprentissage responsable.

Stack technique

Pythonx86_64 AssemblyLinux SyscallsRich CLIPayload EncodingLogging
Retour aux projets

Vue d'ensemble

Venom est un projet de recherche sécurité contrôlée portant sur un générateur de shellcode reverse shell personnalisable et obfusqué, écrit en Python et assembleur x86_64.

L'objectif n'est pas de présenter un outil irresponsable. Le projet est cadré comme une expérimentation responsable : comprendre comment les payloads sont construits, comment l'obfuscation modifie la surface de détection et comment la connaissance offensive peut nourrir une réflexion défensive.

Contexte / Problème

Les ingénieurs sécurité gagnent à comprendre le fonctionnement bas niveau des techniques offensives. La conception de shellcode impose de la précision : syscalls, registres, mémoire, encodage, contraintes runtime et comportements de détection.

Le projet explore comment structurer un générateur de payload tout en gardant la documentation centrée sur les concepts, contrôles et objectifs d'apprentissage.

Architecture / Design

Workflow de génération de payload

Visuel prévu : validation des entrées, logique générateur, étape d'encodage, sortie C et chemin d'exécution lab uniquement.

Implémentation

L'implémentation combine Python et assembleur x86_64. La partie assembleur se concentre sur le comportement syscall, tandis que la partie Python fournit l'interface, la journalisation, la personnalisation et la structure de sortie.

Les thèmes principaux :

  • logique reverse shell Linux basée sur les syscalls ;
  • concepts d'encodage polymorphique ;
  • obfuscation IP et port ;
  • génération de payloads C contenant du shellcode compilé ;
  • CLI interactive avec authentification et interface Rich ;
  • journalisation des métadonnées générées et actions utilisateur ;
  • injection NOP randomisée et variation d'instructions.

La présentation évite volontairement les instructions opérationnelles qui faciliteraient un mauvais usage. La valeur réside dans la compréhension système et la posture responsable.

Considérations sécurité

Le projet est traité comme une recherche offensive avec garde-fous explicites :

  • usage uniquement en environnement possédé ou autorisé ;
  • intention et objectifs d'apprentissage documentés ;
  • absence de positionnement comme outil d'accès réel ;
  • connexion des concepts offensifs aux enseignements de détection et durcissement ;
  • documentation publique maîtrisée et professionnelle.

Compromis et difficultés

Un enjeu est de montrer une crédibilité technique sans glamouriser un comportement risqué. La sécurité offensive peut démontrer une compréhension système profonde, mais le cadrage doit rester précis.

Un autre défi est l'équilibre entre flexibilité et sécurité. Un générateur peut devenir dangereux s'il est présenté comme un outil opérationnel. Dans un portfolio professionnel, l'accent doit rester sur la recherche contrôlée, la compréhension reverse et la réflexion orientée détection.

Résultats

Venom démontre :

  • une compréhension Linux et assembleur bas niveau ;
  • une architecture de génération de payload en Python ;
  • une conscience des compromis obfuscation/détection ;
  • un design CLI contrôlé et journalisé ;
  • une communication responsable autour d'un projet dual-use.

Ce que j'ai appris

Le projet montre comment de petits choix d'implémentation peuvent modifier la surface de détection. Il confirme aussi que le travail offensif doit être communiqué avec retenue, contexte et limites claires.

Pour l'IAM et la sécurité d'entreprise, cette compréhension système est utile car elle renforce la modélisation des menaces et relie concepts offensifs et architecture défensive.

Stack technique

Python, assembleur x86_64, syscalls Linux, Rich CLI, journalisation, sortie payload C compilée.

Liens associés

Le dépôt et les notes d'analyse défensive pourront être ajoutés après revue de publication.

Points clés

  • La recherche offensive doit être cadrée, contrôlée et reliée à l'apprentissage défensif.
  • Le travail bas niveau sur payloads développe une intuition système utile.
  • Le cadrage professionnel est essentiel pour présenter des projets sécurité dual-use.