Introduction
Dans le domaine très dynamique de la cybersécurité, Exegol se fait rapidement un nom. Cet outil, développé principalement par @nwodtuhs et @Dramelac, est disponible sur GitHub(https://github.com/ThePorgs/Exegol). Il s’agit d’une plateforme qui se distingue par un environnement de piratage basé sur Docker, offrant une solution sophistiquée, mais conviviale, aux défis actuels en matière de cybersécurité. Alors que les cybermenaces deviennent de plus en plus complexes, Exegol se présente comme un outil adaptable et efficace, parfaitement adapté au paysage de la cybersécurité en constante évolution. La cybersécurité est un domaine où les menaces et les défenses sont en constante évolution. Exegol vient combler ces lacunes en offrant des capacités complètes combinées à l’agilité nécessaire aux professionnels de la sécurité offensive.
L’approche distinctive d’Exegol
Exegol se distingue dans le paysage de la cybersécurité principalement par son utilisation innovante de la technologie Docker. Pour ce faire, Exegol offre la possibilité de créer des environnements isolés et hautement reproductibles, adaptés à un éventail de tests de pénétration et de tâches de cybersécurité. L’importance de cette technologie réside dans la cohérence qu’elle offre, pierre angulaire d’un test de sécurité efficace. En utilisant des conteneurs Docker, Exegol garantit que chaque environnement est un écosystème autonome, exempt des divergences qui affectent souvent les différents systèmes.
Cette uniformité fournit un terrain d’essai commun qui est prévisible et fiable. Cette caractéristique est particulièrement utile pour comparer les résultats obtenus sur différentes plates-formes (avec différents systèmes d’exploitation et architectures de processeurs) ou lorsque plusieurs testeurs sont impliqués.
Pour les testeurs comme pour les clients, l’uniformité fournie par Exegol se traduit par une plate-forme de compréhension partagée. Elle permet de reproduire des scénarios de sécurité de manière contrôlée, ce qui garantit une reproduction et un examen cohérents de toutes les vulnérabilités ou failles de sécurité identifiées. Cet aspect est particulièrement crucial pour valider les mesures de sécurité et vérifier l’efficacité des correctifs ou des mises à jour.
Principales caractéristiques et avantages d’Exegol
Des opérations simplifiées et des outils polyvalents
Le wrapper Python est au cœur d’Exegol car il simplifie les opérations Docker et git, rationalisant ainsi l’expérience de l’utilisateur. Cette interface rationalise le processus en facilitant la configuration, la création, l’utilisation et la gestion de conteneurs spécifiques au client. Les utilisateurs peuvent personnaliser ce conteneur individuel à l’aide d’une multitude d’options.

Figure 1 : Démarrage d’un conteneur Exegol pour le pentesting
Le wrapper est couplé à des images Docker qui sont préchargées avec une large gamme d’outils, jusqu’à 368 au moment de la rédaction(https://exegol.readthedocs.io/en/latest/exegol-image/tools.html#tools-list) et de configurations, prêtes pour un déploiement immédiat dans divers scénarios de cybersécurité. Exegol comprend les images Docker préexistantes suivantes : Web, OSINT, light, full et Nightly, chacune étant personnalisée pour une tâche spécifique. Exegol prend également en charge les outils dotés d’une interface utilisateur (IU) en utilisant le partage X11, ce qui permet d’utiliser des applications telles que BurpSuite, Bloodhound, Wireshark, entre autres. Bien que MacOS compromette quelque peu cette fonctionnalité, Exegol offre une solution de contournement en mettant en œuvre une alternative de bureau à distance à l’aide de VNC.
Exegol, ce n’est pas seulement des outils puissants, c’est aussi une facilité d’utilisation. À cet égard, Exegol fournit une série de raccourcis pour aider les professionnels dans leur travail quotidien :
Raccourci | Description |
ctrl+q | Le raccourci peut être utilisé pour enregistrer la commande à moitié tapée, rechercher une autre valeur, puis terminer la première commande. |
ctrl + r | Cherchez quelque chose dans l’histoire |
ctrl + t | Recherchez un fichier ou un répertoire à l’aide d’un outil de recherche flou. |

Figure 2 Recherche et sélection rapides dans l’historique des commandes
Personnalisation
La personnalisation est au cœur de la conception d’Exegol, répondant aux besoins spécifiques des professionnels de la cybersécurité qui exigent souvent l’intégration des outils les plus récents ou personnalisés dans leur boîte à outils. Exegol répond à ce besoin en offrant un cadre de personnalisation flexible. Les utilisateurs peuvent facilement adapter les images Docker préconfigurées de la plateforme à leurs besoins spécifiques. Ce processus de personnalisation rationalisé et convivial permet aux professionnels de modifier les fichiers Docker et de script existants sans effort. Les professionnels peuvent facilement ajouter ou supprimer des lignes, ce qui permet l’intégration transparente de nouveaux outils ou l’exclusion de ceux qui sont inutiles. Chaque environnement Exegol est donc précisément équipé pour la tâche à accomplir.
En outre, Exegol s’engage à assurer la durabilité et la fiabilité à long terme. Pour ce faire, Exegol intègre un solide pipeline CI/CD (Continuous Integration/Continuous Deployment) ainsi qu’une documentation complète. Cette intégration est un mouvement stratégique qui permet aux utilisateurs non seulement de s’appuyer sur le cadre existant d’Exegol, mais aussi de s’assurer que tous les outils et leurs dépendances fonctionnent comme prévu.

Figure 3 Tests CICD confirmant que les outils fonctionnent correctement. Bien que les tests démontrés soient simples, ils constituent une première défense contre un environnement défectueux.
Cette approche représente une avancée significative par rapport aux environnements virtualisés traditionnels, tels que ceux basés sur Kali Linux, qui peuvent parfois rencontrer des environnements cassés ou incompatibles en raison de mises à jour ou de modifications non testées.

Figure 4 Oui, nous pourrions utiliser VENV, mais nous avons Exegol maintenant.
Options de personnalisation dans Exegol
Le pipeline CI/CD d’Exegol joue un rôle essentiel dans le maintien de la stabilité et de la fiabilité de la plateforme. Il teste en permanence les outils et leurs interactions dans l’environnement Exegol, minimisant ainsi le risque de rencontrer des fonctionnalités défectueuses ou des problèmes de compatibilité. Ce processus continu de test et de développement permet aux utilisateurs d’Exegol de personnaliser leur environnement en toute confiance, en sachant que l’intégrité et les performances de leurs outils sont préservées. Cependant, il est important de noter que ces tests s’exécutent exclusivement par le biais d’actions GitHub ; les modifications locales ne seront pas testées. La documentation d’Exegol offre des conseils sur la façon d’effectuer des changements, de les tester via CI/CD et, si nécessaire, de créer une demande d’extraction. (https://exegol.readthedocs.io/en/latest/community/maintainers.html).
Exegol propose également une méthode pour personnaliser les conteneurs existants à l’aide de la fonction « Ma ressource« . Cette fonctionnalité est basée sur un volume partagé simple entre l’hôte et tous les conteneurs Exegol, ainsi que sur une intégration sophistiquée dans les images Exegol elles-mêmes. Cette fonctionnalité prend en charge toutes les personnalisations suivantes :
- apt (paquets, sources, clés)
- bloodhound (requêtes personnalisées, configuration)
- firefox (addons, CA)
- python3 (pip3)
- tmux (conf)
- vim (vimrc, configs)
- neovim (.config/nvim)
- zsh (alias, zshrc, historique)
Responsabilité, reproductibilité et confiance
Exegol peut enregistrer méticuleusement chaque action, fournissant ainsi un dossier complet à des fins d’examen et d’audit. Cette fonction est inestimable pour la transparence et la conformité, car elle offre une piste d’audit détaillée du processus de test.
En outre, Exegol garantit des environnements de test reproductibles, une caractéristique essentielle pour obtenir des résultats précis et cohérents. Cette cohérence est essentielle pour établir la confiance entre les pentesters et les clients, car elle permet de vérifier les résultats et d’approfondir la compréhension des vulnérabilités.
Limites d’Exegol
Enfin, il manque à Exegol une véritable solution concernant la gestion d’outils professionnels tels que Burp Suite. Actuellement, Exegol permet l’utilisation de l’édition communautaire. L’édition professionnelle, quant à elle, est possible en fournissant la clé dans la ressource, mais cette clé sera activée lors de la création de chaque nouveau conteneur, ce qui perturbe l’utilisation de la clé. Jusqu’à ce qu’une véritable solution soit mise en place, la seule option est de s’appuyer sur une installation classique de Burp sur votre hôte, en parallèle avec Exegol.
Pour les utilisateurs de Mac, la nécessité de recourir au bureau à distance VNC est un inconvénient. Cependant, cette limitation semble échapper au contrôle du développeur d’Exegol, car ce problème provient de XQuartz.
La deuxième limitation concerne la configuration du réseau Docker. Nous avons observé des cas où le réseau d’un client utilise la plage IP 172.17.0.0. Ce chevauchement avec la plage de réseaux par défaut de Docker peut interférer avec le processus de test, car il redirige par inadvertance le trafic réseau vers le réseau de Docker au lieu du réseau du client prévu. Pour résoudre ce problème, nous vous recommandons de modifier la plage d’adresses IP par défaut de Docker. Cela peut être fait en modifiant le fichier /etc/docker/daemon.json, ce qui permet une expérience de test fluide et ininterrompue sur Exegol. Un tel changement garantit que les configurations réseau n’entrent pas en conflit avec les conteneurs, préservant ainsi l’intégrité de l’environnement de test.
Enfin, la taille des images par défaut peut poser problème à certains utilisateurs, car ces outils sont souvent déployés dans des machines virtuelles au sein des réseaux internes des clients. Toutefois, il est facile de gérer ce problème en créant et en utilisant des images personnalisées adaptées à des besoins spécifiques, ce qui permet d’optimiser la taille et le contenu.
Conclusion
Exegol marque une avancée significative dans le domaine des tests de pénétration et de la cybersécurité. Il établit une nouvelle référence grâce à sa combinaison de reproductibilité, de personnalisation et de fonctionnalités conviviales. Alors que les menaces de cybersécurité deviennent de plus en plus complexes, Exegol apparaît comme un outil essentiel pour les professionnels qui cherchent à améliorer leurs outils et procédures de sécurité.
Sources d’information
https://github.com/ThePorgs/Exegol
https://exegol.readthedocs.io/en/latest/
https://www.youtube.com/watch?v=lwZCziWpTcA