
Un outil d'accès distant open-source basé sur une interface graphique Linux, développé en C# avec un payload Python, destiné à des tests de pénétration légitimes et à des tâches de reconnaissance.
En développant EgoDrop et DuplexSpy, j'ai réussi à implémenter un shell interactif dans une application graphique en C#. Je me suis alors souvenu d'un de mes projets antérieurs qui avait été suspendu en raison de mon expérience de développement limitée à l'époque. J'ai donc décidé de le reprendre et de le terminer.
L'idée de ce projet est née lorsque j'apprenais les tests de pénétration web.
Lorsqu'on découvre une vulnérabilité RCE (Remote Code/Command Execution), on la démontre généralement avec des commandes Linux simples (par exemple id, whoami, ls, cat /etc/passwd), et cela s'arrête souvent là. Cependant, si nous voulons mener une post-exploitation plus poussée — comme un pivot vers le réseau interne — nous pouvons compter sur des outils de reverse shell tels que metasploit, nc ou openssl. Bien qu'ils soient puissants et largement utilisés, ils présentent certaines limitations dans des scénarios pratiques de tests de pénétration.
J'ai donc décidé de développer un outil d'accès distant basé sur une interface graphique, pouvant être utilisé après avoir obtenu une RCE, afin d'établir un canal robuste et sécurisé avec un shell interactif et un gestionnaire de fichiers.
Développer et maintenir cet outil seul est difficile en raison du temps, des ressources et de l'expérience limités. Par conséquent, le projet peut encore contenir des défauts ou des défauts de conception non découverts. Si vous rencontrez des problèmes en utilisant cet outil, n'hésitez pas à ouvrir une issue.
Si vous trouvez cet outil informatif ou utile, une étoile ⭐ serait grandement appréciée. Votre soutien serait une grande motivation pour continuer à améliorer cet outil.
Eden-RAT est un outil d'accès distant (RAT) léger conçu pour la phase initiale des tests de pénétration.
Il fournit une interface graphique (GUI) avec plusieurs fonctionnalités pour les systèmes Linux, notamment un gestionnaire de fichiers et un shell interactif.
Le shell interactif permet une exécution complète des commandes, permettant aux utilisateurs de lancer des commandes telles que ssh, nc, apt, pip install, vim et d'autres programmes interactifs.
Eden-RAT prend en charge la communication chiffrée via soit le chiffrement hybride AES/RSA, soit TLS.
L'implémentation pure d'AES est adaptée de :
https://github.com/bozhu/AES-Python
Lorsqu'une charge utile se connecte avec succès au serveur Eden, elle charge dynamiquement des modules supplémentaires fournis par le serveur. Ces modules sont exécutés via exec() et leurs instances de classe sont enregistrées dans un registre de classes interne basé sur un dictionnaire.
L'architecture globale est illustrée ci-dessous :
Ce projet a été développé uniquement à des fins de recherche en cybersécurité et d'éducation.
Il ne doit pas être utilisé pour des activités illégales ou non autorisées.
L'auteur n'est pas responsable de toute utilisation abusive ou des dommages causés par ce logiciel.
Avant de démarrer le serveur C2, vous devez installer pycryptodome :
pip3 install pycryptodome
Après avoir installé le package, vous devez générer une clé privée SSL et un certificat :
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
Assurez-vous que les fichiers sont nommés exactement :
key.pemcert.pemEnfin, démarrez le serveur C2 :
python3 eden_server.py -lvvp 4444
Le serveur Eden est maintenant en cours d'exécution.