En bref
- Solution centralisée pour créer et gérer des environnements de laboratoire isolés pour le pentest, l'analyse de malware et le développement.
Trouver un véritable « bac à sable » sécurisé, flexible et accessible à tout moment n’est jamais évident. Que ce soit pour tester des malwares, réaliser des pentests isolés ou simplement développer dans un environnement contrôlé, mettre en place une solution polyvalente, fiable et facile d’accès peut rapidement devenir un vrai casse-tête.
C’est précisément à ce besoin que répond Kasm Workspaces : une plateforme qui permet de créer et d’utiliser des environnements de travail isolés directement depuis votre navigateur, partout et en toute sécurité.
Dans cet article, je vais vous partager mon expérience avec cet outil, mes cas d’usage concrets et pourquoi il est devenu un élément essentiel de mon workflow de cybersécurité.
Kasm Workspaces#
C’est quoi ?#
Kasm Workspaces est une plateforme de virtualisation de conteneurs qui permet de créer des environnements de bureau isolés accessibles via navigateur web.
Pourquoi Kasm ?#
Alors, comparé à Docker seul ou aux VMs classiques, Kasm c’est vraiment le meilleur des deux mondes !
- Docker ? Super rapide, boot en 5 secondes, ~200MB de RAM, isolation parfaite… mais pas d’interface graphique (enfin, Docker Desktop existe, mais c’est surtout du CLI).
- Les VMs classiques ? Elles ont une UI complète, mais elles sont lourdes : 1-2 minutes de boot, ~1GB de RAM par VM, et essayer de scaler ça c’est un cauchemar.
- Kasm ? Vous obtenez la rapidité de Docker ET l’interface graphique d’une VM, le tout accessible depuis un navigateur sans configuration complexe.
Installation#
Prérequis et Choix du Matériel#
Avant de commencer, il faut vérifier les requirements système de Kasm. La documentation officielle détaille tout ça : Kasm Workspaces Requirements ↗.
Minimum requis :
- CPU : 2 cores
- RAM : 4GB minimum
- Stockage : 50GB SSD
Pour ma part, j’ai décidé d’installer Kasm sur un VPS avec 24 Go de RAM. Pourquoi ce choix ? Parce que je voulais avoir une expérience fluide sur la virtualisation et pouvoir lancer plusieurs workspaces en même temps sans latence. Avec 24 Go, je peux facilement faire tourner plusieurs environnements simultanément (Kali Linux, Windows pour l’analyse de malware, Ubuntu pour le dev, etc.) sans me soucier des ressources.
En plus, comme c’est un VPS, je peux accéder à mes workspaces depuis n’importe quel appareil, que ce soit mon ordinateur, ma tablette ou même mon téléphone. C’est ça la flexibilité !
Installation de Kasm#
L’installation est vraiment simple grâce au script d’installation fourni. La documentation complète est disponible ici : Single Server Installation Guide ↗.
Étapes d’installation :
cd /tmp
curl -O https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.7f020d.tar.gz
tar -xf kasm_release_1.17.0.7f020d.tar.gz
sudo bash kasm_release/install.shLe script d’installation va :
- Vérifier et installer Docker et Docker Compose si nécessaire
- Télécharger les images nécessaires
- Configurer tous les services
- Générer des mots de passe aléatoires pour les comptes par défaut

Première Connexion#
Une fois l’installation terminée, on peut se connecter à l’interface web sur le port 443 : https://<VOTRE_SERVEUR>
Comptes par défaut :
- Admin :
admin@kasm.local - User :
user@kasm.local
Les mots de passe sont générés aléatoirement et affichés à la fin de l’installation (sauf si vous utilisez les flags --admin-password ou --user-password).
Version Community#
J’ai installé la version Community de Kasm, qui est largement suffisante pour mes besoins. Elle offre toutes les fonctionnalités essentielles pour créer et gérer des workspaces isolés, faire des snapshots, et gérer les environnements. Pour un usage personnel ou même en petite équipe, c’est parfait.
Fonctionnement de Kasm#
Maintenant que Kasm est installé, voyons comment ça fonctionne concrètement. Je vais vous expliquer les concepts clés pour bien comprendre l’outil.
Lorsque vous vous connectez avec le compte administrateur, vous accédez au tableau de bord d’administration. Depuis cet espace, vous pouvez ajouter de nouveaux workspaces (conteneurs), gérer les registres d’images, ou encore administrer l’ensemble du serveur Kasm.

Sur le tableau de bord d’administration Kasm, vous pouvez gérer tous les aspects de la plateforme : ajouter de nouveaux workspaces, voir la liste des environnements disponibles, surveiller les workspaces actifs, administrer les images Docker, configurer les registres d’images, et personnaliser les paramètres de votre serveur. C’est le point central pour contrôler et superviser tout votre environnement de travail virtuel depuis une interface web unique.
Nous, ce qui va nous intéresser, ce sont les Espaces de travail et les registres.
Qu’est-ce qu’un Workspace ?#
Un workspace, c’est tout simplement un environnement de bureau isolé qui tourne dans un conteneur Docker. Vous obtenez une machine virtuelle complète, directement accessible depuis votre navigateur web.
Quand vous lancez un workspace, Kasm démarre un conteneur avec un système d’exploitation complet (Ubuntu, Kali Linux, Windows, etc.) et vous donne accès à un bureau graphique dans votre navigateur. Vous pouvez installer des applications, configurer l’environnement, travailler dessus… et quand vous fermez le workspace, tout est supprimé (sauf si vous faites un snapshot, mais on y reviendra).
Il est aussi possible qu’un workspace ne serve qu’à exécuter un seul outil (Google Chrome, Firefox, Outlook, etc.) sans permettre l’utilisation d’autres logiciels dans cet environnement.

Les Registres#
Les registres, c’est là où Kasm va chercher les images Docker pour créer vos workspaces. Par défaut, Kasm utilise son propre registre (Registre Kasm officiel), mais vous pouvez ajouter d’autres registres (comme un registre privé, GitHub Container Registry, etc.).
En pratique : vous pouvez ajouter des registres personnalisés si vous avez vos propres images Docker, ou utiliser les images publiques de Docker Hub. C’est très flexible.

Ici, vous voyez la liste de toutes les images disponibles dans les registres auxquels je suis abonné. Cette interface vous permet de voir quelles images Docker sont disponibles pour créer vos workspaces.

Voici la liste de tous les workspaces que j’ai installés. Depuis cette interface, vous pouvez voir quels environnements sont disponibles et les lancer directement.

Voici la liste de tous les registres auxquels je suis abonné. Cette interface vous permet de gérer vos abonnements aux différents registres Docker et d’ajouter de nouveaux registres si nécessaire.
Les sessions#
Les sessions correspondent à chaque utilisation d’un workspace par un utilisateur. Quand vous lancez un workspace, une nouvelle session démarre : c’est votre “poste de travail” temporaire, isolé et créé à la demande. Chaque session possède sa propre durée de vie : lorsque vous fermez la session, tout ce qui a été fait à l’intérieur est effacé (sauf si vous faites un snapshot). Cela garantit un environnement propre et sécurisé à chaque lancement.

Voici la liste de toutes les sessions actives. Depuis cette interface, vous pouvez gérer vos sessions : arrêter une session, la mettre en pause, ou créer une image (snapshot) pour sauvegarder l’état actuel du workspace.

Cas d’usage concrets#
Training Lab Pentest#
Peu importe où je suis ou sur quel PC je travaille, je me connecte à mon serveur Kasm via navigateur, je lance mon workspace Kali Linux pré-configuré, et en 30 secondes je suis prêt à attaquer une box sur HackTheBox ou TryHackMe.

Le workflow :
- Connexion à Kasm
- Clic sur “Kali Linux”
- Conteneur démarre
- Bureau Kali complet avec tous mes outils
- Connexion VPN HackTheBox
- C’est parti !

Quand je ferme le workspace, tout est propre. Pas de traces sur ma machine locale, pas de fichiers qui traînent. C’est ça la magie de l’isolation par conteneurs.
De quoi avez-vous besoin ?
Par défaut, le workspace “Kali Linux” est disponible sur le registre officiel de Kasm. Il suffit d’aller sur la page des registres pour trouver Kali facilement. Vous l’installez en quelques clics : il apparaîtra automatiquement sur la page d’accueil avec tous les workspaces disponibles.
Si vous allez sur la page d’administration des workspaces :

il vous sera possible de modifier le workspace, par exemple en ajoutant un mappage de fichiers ou de stockage.
Vous pouvez ainsi personnaliser précisément comment chaque workspace accède aux ressources selon vos besoins.
Analyse d’URL#
C’est assez simple à faire : pour de l’analyse d’URL basique, un simple navigateur isolé (Firefox ou Chromium) suffit largement. Vous ouvrez un workspace avec un navigateur, copiez l’URL suspecte, et vous pouvez inspecter le site sans aucun risque pour votre machine locale.
Si vous voulez aller plus loin, par exemple pour analyser le comportement du site, suivre des redirections ou inspecter le trafic réseau, il peut être intéressant de créer un workspace Linux qui lance automatiquement un navigateur (Firefox ou Chromium) connecté à un proxy comme Burp Suite.
Résumé du workflow :
1. Lancer un workspace Linux avec Burp Suite installé et configuré2. Configurer Burp Suite comme proxy du navigateur3. Ouvrir le navigateur dans le workspace (pré-configuré pour utiliser le proxy)4. Naviguer vers l'URL à analyser5. Tout le trafic sera intercepté par Burp Suite dans le workspace6. Aucun risque pour votre poste7. Examiner en détail tout ce que fait la page (requêtes, redirections, ressources, etc.)C’est une solution propre, réutilisable et 100% isolée : parfaite pour l’analyse d’URLs suspects.
Analyse de malware#
Pour l’analyse d’URL, il n’y a en réalité pas de risque majeur : tout reste strictement cantonné au sein du navigateur lancé dans le container, aucun impact sur votre machine hôte, c’est toute la promesse de l’isolation par conteneur. C’est d’ailleurs pour ça que cette méthode est idéale pour manipuler des liens potentiellement dangereux.
En revanche, l’analyse de malware requiert beaucoup plus de prudence. En effet, il existe des attaques sophistiquées conçues pour exploiter des failles profondes : certaines cherchent explicitement à profiter de vulnérabilités au niveau du kernel ou des couches basses du système pour essayer de s’échapper du container (container escape). Si l’infrastructure n’est pas bien configurée ou à jour, ces vecteurs avancés peuvent constituer une vraie menace.
Infos supplémentaires#
Extension “Open in Isolation” pour Navigateurs#
Kasm propose une extension de navigateur appelée “Kasm Workspaces: Open in Isolation”. Cette extension (disponible sur Chrome Web Store ↗ et pour Firefox) permet d’ouvrir n’importe quel lien web dans un container isolé Kasm en un clic.
Pour en savoir plus, consultez la doc officielle : Kasm Extension - Open in Isolation ↗
Conclusion#
Pour être honnête, je n’ai fait qu’effleurer la surface des possibilités offertes par Kasm Workspaces. Il y a encore énormément de choses à découvrir et à expérimenter : la personnalisation avancée des workspaces, l’automatisation, l’intégration dans des workflows DevSecOps, la création de son propre registre d’images, l’administration fine, etc.
Je compte clairement passer pas mal de temps à explorer toutes les fonctionnalités de Kasm. Attendez-vous donc sûrement à d’autres articles sur le sujet, et pourquoi pas quelques vidéos pour partager mes retours d’expérience et astuces !