Lenaick Sorimoutou

Retour

Kasm Workspaces - Interface d'administration avec workspaces disponiblesBlur image

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.

Explication

En gros, c’est du Virtual Desktop as a Service mais en conteneurs Docker. On peut lancer des environnements de bureau complets (Linux, Windows) dans des conteneurs isolés accessibles via navigateur web, sans rien installer sur sa machine. Besoin d’analyser une URL suspecte ? On ouvre un workspace Firefox dans Kasm, on analyse en isolé, et quand on ferme, tout est supprimé. C’est propre, c’est rapide, et c’est sécurisé.

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.
Conseil (Performance)

On peut lancer 50 workspaces sans latence, tout depuis son navigateur. Voilà la vraie différence, et c’est pour ça que c’est génial !


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é !

Attention

Les workspaces par défaut de Kasm nécessitent environ 2.7 Go de RAM et 2 cores chacun. Donc si vous voulez lancer plusieurs environnements en parallèle, il faut prévoir suffisamment de ressources.

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 :

install-kasm.sh
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.sh

Le 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
Danger

Il est crucial d’installer KASM sur une machine qui n’a pas déjà Docker installé. Kasm installe sa propre version spécifique de Docker et Docker Compose lors de l’installation. Si Docker est déjà présent, cela peut causer des conflits et des problèmes de configuration. Je vous assure, faites bien attention à ça, ça vous évitera plusieurs heures de debugging la nuit pour trouver une solution !

Meme: Avertissement Docker

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.

Tableau de bord d'administration 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.

Workspace avec une seule application

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.).

Définition

C’est un catalogue d’images Docker. Quand vous créez un nouveau workspace, Kasm va chercher dans ces registres les images disponibles (Ubuntu, Kali Linux, Firefox, etc.) et vous les propose.

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.

Liste des images disponibles dans les registres

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.

Liste des workspaces installés

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.

Liste des registres auxquels je suis abonné

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.

Liste des sessions avec les actions possibles

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.

Conseil

Le fait de pouvoir créer des images à partir de la session courante peut être très utile lorsque vous voulez faire des conteneurs avec certains outils déjà installés ou avec un thème déjà appliqué. Il est également possible d’ajouter des modifications supplémentaires via Dockerfile pour personnaliser encore plus vos workspaces.

Modifications via Dockerfile


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.

Workspace Kali Linux dans Kasm

Le workflow :

  1. Connexion à Kasm
  2. Clic sur “Kali Linux”
  3. Conteneur démarre
  4. Bureau Kali complet avec tous mes outils
  5. Connexion VPN HackTheBox
  6. C’est parti !

Lancement d'un workspace Kali Linux dans Kasm

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 :

Page d'administration des workspaces

il vous sera possible de modifier le workspace, par exemple en ajoutant un mappage de fichiers ou de stockage.

Explication (Mappage de fichiers)

Le mappage de fichiers permet d’ajouter des fichiers spécifiques dans le workspace lors de son démarrage. Pratique pour déposer par exemple un script, une wordlist ou des documents de travail, qui seront accessibles à l’utilisateur dès l’ouverture de la session.

Explication (Mappage de stockage)

Le mappage de stockage (“mounts”) consiste à rendre accessible un dossier ou un volume (de votre machine ou de votre serveur) à l’intérieur du workspace. Cela permet de partager des ressources, de persister des données entre les sessions, ou d’accéder à des fichiers locaux, tout en gardant l’isolation offerte par les conteneurs.

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.

Définition (Burp Suite)

Burp Suite est un outil très utilisé en cybersécurité, et plus précisément par les pentesters : c’est un proxy HTTP/HTTPS qui permet d’intercepter, d’analyser et de manipuler tout le trafic entre le navigateur et Internet. Avec ce genre de setup, dès que vous naviguez sur un site dans le workspace, tout passe par Burp Suite : vous pouvez voir chaque requête/réponse, détecter les redirections, scripts, injections, cookies, etc.

Résumé du workflow :

1. Lancer un workspace Linux avec Burp Suite installé et configuré
2. Configurer Burp Suite comme proxy du navigateur
3. Ouvrir le navigateur dans le workspace (pré-configuré pour utiliser le proxy)
4. Naviguer vers l'URL à analyser
5. Tout le trafic sera intercepté par Burp Suite dans le workspace
6. Aucun risque pour votre poste
7. 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.

Danger (Container Escape)

KASM a d’ailleurs un guide complet pour sécuriser son serveur : https://kasm.com/docs/latest/security.html

Je vous conseille fortement d’y jeter un œil si vous allez déployer Kasm sur une machine exposée ou sensible.

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.

Conseil (Cas d'usage pratique)

C’est super pratique et ultra-sécurisé pour analyser des URLs ou visiter des sites suspects sans risquer de contaminer votre machine locale. Il suffit de faire clic droit sur un lien et de choisir “Open link in Kasm”. Le site s’ouvrira dans un environnement sécurisé, totalement séparé de votre machine, ce qui élimine les risques liés aux malwares, phishing ou piratage.

Mon avis : Pour le pentest, l’analyse de malware, ou juste la prudence au quotidien, c’est un outil génial pour éviter de cliquer accidentellement sur un lien malveillant !

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 !

Important

Bref, Kasm c’est un véritable couteau suisse pour la cybersécurité moderne, et je n’en suis probablement qu’au début de l’exploration 🛰️

Découverte de Kasm Workspaces
https://lenasori.com/blog/kasm-workspaces
Author Lenaick Sorimoutou
Published at 20 novembre 2025