
Un référentiel éducatif complet montrant l'évolution d'un implant de reverse shell Windows, depuis une simple preuve de concept (v1.0) jusqu'à un agent de post-exploitation complet avec plus de 150 commandes (v3.5). Inclut des écouteurs C2, une documentation technique détaillée et un outil de nettoyage universel pour la formation à la réponse aux incidents.
██▀███ ▓█████ ██▒ █▓ ██████ ██░ ██ ▓█████ ██▓ ██▓
▓██ ▒ ██▒▓█ ▀ ▓██░ █▒ ▒██ ▒ ▓██░ ██▒ ▓█ ▀ ▓██▒ ▓██▒
▓██ ░▄█ ▒▒███ ▓██ █▒░ ░ ▓██▄ ▒██▀▀██░ ▒███ ▒██░ ▒██░
▒██▀▀█▄ ▒▓█ ▄ ▒██ █░░ ▒ ██▒░▓█ ░██ ▒▓█ ▄ ▒██░ ▒██░
░██▓ ▒██▒░▒████▒ ▒▀█░ ▒██████▒▒░▓█▒░██▓ ░▒████▒░██████▒░██████▒
░ ▒▓ ░▒▓░░░ ▒░ ░ ░ ▐░ ▒ ▒▓▒ ▒ ░ ▒ ░░▒░▒ ░░ ▒░ ░░ ▒░▓ ░░ ▒░▓ ░
░▒ ░ ▒░ ░ ░ ░ ░ ░░ ░ ░▒ ░ ░ ▒ ░▒░ ░ ░ ░ ░░ ░ ▒ ░░ ░ ▒ ░
░░ ░ ░ ░░ ░ ░ ░ ░ ░░ ░ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
░
RevShell est un projet éducatif complet qui illustre l'évolution d'un reverse shell Windows, d'une simple preuve de concept à un agent de post‑exploitation complet. Le projet est structuré en trois versions majeures, chacune s'appuyant sur la précédente avec des capacités accrues, une meilleure furtivité et des techniques plus avancées.
Ce dépôt est destiné exclusivement à l'éducation en cybersécurité, aux tests de pénétration autorisés et à la recherche défensive. Tout le code est fourni en l'état à des fins d'apprentissage.
.
├── v1.0/
│ ├── README.md # User guide for v1.0
│ ├── TECHNICAL.md # Technical deep‑dive for v1.0
│ ├── listener.py # C2 listener (attacker side)
│ └── victim_win.py # Implant (victim side)
│
├── v2.0/
│ ├── README.md # User guide for v2.0
│ ├── TECHNICAL.md # Technical deep‑dive for v2.0
│ ├── listener.py # Enhanced C2 listener
│ ├── victim_win.py # Implant with 40+ commands
│ └── victim_win_ADMIN.py # Same as above + auto‑elevation
│
└── v3.5/
├── README.md # User guide for v3.5 (in progress)
├── TECHNICAL.md # Technical deep‑dive for v3.5 (in progress)
├── listener.py # Advanced listener (RC4 encryption)
├── victim_win.py # Full implant with 150+ commands
└── victim_win_ADMIN.py # Full implant + admin capabilities
Ce projet est conçu pour :
Ce logiciel est fourni uniquement à des fins éducatives et de recherche.
L'utilisation de ce logiciel pour accéder, surveiller ou contrôler un système informatique, un réseau ou un appareil sans autorisation écrite explicite du propriétaire constitue une violation de :
Les sanctions peuvent inclure :
Vous ne pouvez utiliser ce logiciel que dans les scénarios suivants :
CE LOGICIEL EST FOURNI « EN L'ÉTAT », SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS MAIS SANS S'Y LIMITER LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS LES AUTEURS OU TITULAIRES DE DROITS D'AUTEUR NE POURRONT ÊTRE TENUS RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGE OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UNE ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE, DÉCOULANT DE, OU EN LIEN AVEC LE LOGICIEL OU SON UTILISATION OU TOUTE AUTRE INTERACTION AVEC LE LOGICIEL.
En téléchargeant, copiant, installant ou utilisant ce logiciel, vous acceptez d'être seul responsable de vos actions. Les auteurs et contributeurs déclinent toute responsabilité en cas d'utilisation abusive, de dommages ou de conséquences juridiques résultant de l'utilisation de ce logiciel.
Si vous n'êtes pas certain que l'utilisation prévue est légale, consultez un avocat qualifié avant de continuer.
Les techniques démontrées dans ce projet (reverse shells, persistance, collecte d'identifiants, élévation de privilèges) sont des connaissances courantes dans le domaine de la cybersécurité et sont documentées ici pour :
Comprendre le fonctionnement des attaques est essentiel pour construire des défenses efficaces. Ce projet contribue à cet objectif en fournissant un code transparent et bien commenté qui peut être étudié et analysé.
steal, persistance via Registre.v1.0/v2.0/victim_win_ADMIN.py — mêmes fonctionnalités + contournement automatique UAC (demande d'élévation au démarrage).v3.5/victim_win_ADMIN.py — implant complet avec auto‑élévation intégrée et 20+ commandes réservées à l'administrateur.Modifiez le script victime (victim_win.py) et définissez :
ATTACKER_IP = "your.ip.here"
### 2. Démarrer le listener (machine attaquante)
python listener.py
### 3. Déployer le script victime (machine cible)
python victim_win.py
Une fois connecté, vous aurez une invite `shell>` où vous pourrez taper des commandes. Tapez `help` pour voir les commandes disponibles pour cette version.
Mon idée est de créer une v4.0 finale avec les changements et améliorations suivants :
Listener C2 multi‑handlers
Un listener repensé capable de gérer plusieurs sessions simultanément. De nouvelles commandes intégrées (:sessions, :interact, :broadcast, :kill, :back) permettront aux opérateurs de basculer entre les victimes et d'envoyer des commandes à tous les implants actifs à la fois.
Génération de payload DLL
Compilation de l'agent Python en une DLL Windows native grâce à Nuitka, permettant une injection réflective dans des processus légitimes (explorer.exe, svchost.exe). Cela élimine le processus visible python.exe et améliore considérablement la furtivité.
Résolution complète des limitations connues
Toutes les limitations de la v3.5 seront corrigées :
steal, download_dir).Ces améliorations transformeront RevShell en un framework C2 éducatif de qualité professionnelle, adapté aux simulations avancées de red team et à la formation des défenseurs.
Aide‑mémoire OWASP Reverse Shell
MITRE ATT&CK — Commande et contrôle
Internals Windows — Mécanismes de persistance
Programmation socket en Python
Ce projet est sous licence
Apache License 2.0.
Vous pouvez obtenir une copie de la licence à l'adresse :
https://www.apache.org/licenses/LICENSE-2.0
Copyright (c) 2026 Dragon56YT
Ce logiciel est libre d'utilisation, de modification et de distribution sous les termes de la licence Apache 2.0.
Vous pouvez :
À condition que vous :
Ce logiciel est fourni « en l'état », sans garanties ou conditions d'aucune sorte, expresses ou implicites.
L'auteur n'est pas responsable des dommages, utilisations abusives ou conséquences découlant de l'utilisation de ce logiciel.
Ce projet est destiné uniquement à la recherche en sécurité et à des fins éducatives.
Les utilisateurs sont seuls responsables du respect des lois et règlements applicables dans leur juridiction.
L'accès non autorisé à des systèmes informatiques, données ou réseaux sans autorisation explicite est illégal.
Cet outil ne doit être utilisé que dans :
Toute utilisation non autorisée est strictement interdite.
| Fonctionnalité | v1.0 | v2.0 | v3.5 |
|---|
| Chiffrement | XOR (un seul octet) | XOR (un seul octet) | RC4 + nonce + SHA‑256 |
| Persistance | Registre uniquement | Registre + Tâche + Démarrage | Registre + Tâche + Démarrage + WMI + SYSTEM |
| Commandes | 8 | 40+ | 150+ |
| Transfert de fichiers | ✅ | ✅ | ✅ + téléchargement de dossier |
| Keylogger | ❌ | ✅ | ✅ |
| Capture d'écran | ❌ | ✅ | ✅ + enregistrement vidéo |
| Vol de navigateur | ❌ | ✅ | ✅ |
| Mots de passe WiFi | ❌ | ✅ | ✅ |
| Vérifications d'élévation de privilèges | ❌ | ✅ | ✅ |
| Commandes administrateur | ❌ | disable_defender, dump_hashes | +20 commandes admin (RDP, UAC, pare-feu, BSOD, etc.) |
| Anti‑VM / Bac à sable | ❌ | ❌ | ✅ |
| Fausse interface graphique | ❌ | ❌ | ✅ |
| Variation du beacon | ❌ | ❌ | ✅ |
| Redirection de ports | ❌ | ❌ | ✅ |
| Auto‑destruction | ❌ | ❌ | ✅ (autodestroy) |
| Auto‑élévation (Admin) | ❌ | ❌ (version séparée) | ✅ (intégré) |
SeDebugPrivilegewinmm.dll sans PowerShell.autodestroy amélioré qui efface complètement les journaux d'événements et traces forensiques.Suppression des vérifications anti‑VM / bac à sable
Bien que les routines anti‑VM de la v3.5 aient constitué un excellent exercice d'apprentissage, elles se sont révélées problématiques en pratique. Elles peuvent générer de fausses détections de VM sur du matériel légitime, déclencher les heuristiques antivirus avec une grande fiabilité, et sont inutiles dans des environnements éducatifs contrôlés où l'outil est destiné à être utilisé. Toute logique de détection de VM sera supprimée dans la v4.0, rendant l'implant plus léger, plus compatible et moins sujet à la détection par signature.
Agent Linux multiplateforme
Une fois la version Windows finalisée, un implant Linux dédié sera développé avec une parité fonctionnelle : C2 chiffré, persistance via cron/systemd, énumération système, et collecte native des clés SSH, de l'historique bash et des identifiants cloud.