Windows 3 juillet 2026

WSL Containers - conteneurs Linux natifs (et un toolkit de pentest)

Bloqué sur un poste Windows ? WSL Containers lance des conteneurs Linux façon Docker, sans Docker Desktop. Démo avec un toolkit de pentest jetable.

On a tous déjà été bloqué dans un environnement Windows, pour faire des tests ou même déployer un environnement de dev pour trifouiller dans une DB.

Microsoft avait lancé WSL (Windows Subsystem for Linux) en 2016, on pouvait enfin avoir notre petite distro Linux avec nous, maintenant on a un vrai noyau Linux dans une VM Hyper-V légère.

Récemment, Microsoft sort en pre-release un runtime nommé WSL Containers. Il offre deux nouvelles fonctionnalités : le CLI et une API Windows. Tout ça compatible avec Docker.

Exemple CLI de WSLC

bash
wslc pull ubuntu:latest
wslc ps -a
wslc logs

L’avantage c’est que si tu connais Docker, tu sais déjà te servir de WSLC.

L’architecture de WSLC

Les conteneurs ne tournent pas directement sur le kernel Windows, mais dans une VM Hyper-V à part, en plus isolée de WSL. L’idée c’est vraiment de monter un dossier avec -v, travailler puis jeter ou arrêter le container.

Pour utiliser WSLC, on utilise la commande suivante :

bash
wsl --update --pre-release
wsl --shutdown
wslc --version        # doit afficher 2.9.3.0 ou plus

Cela met à jour WSL à la dernière version puis redémarre WSL pour profiter de wslc.

On peut directement tester la commande de base fournie par la documentation Microsoft. Elle lance un container Ubuntu sur KDE nommé webtop téléchargé depuis LinuxServer.

bash
wslc run -d --name=webtop -e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC -p 3000:3000 -p 3001:3001 lscr.io/linuxserver/webtop:ubuntu-kde

Pour les personnes qui veulent utiliser leurs GPU sur les containers c’est aussi possible directement via le devblogs ici.

Un toolkit de pentest jetable

C’est bien beau tout ça, maintenant je peux directement déployer mon environnement de dev sur ma machine Windows sans m’embêter avec Docker Desktop.

L’idée du toolkit jetable, c’est de build un container Kali Linux léger avec une sélection d’outils déjà installés.

dockerfile
FROM kalilinux/kali-rolling

RUN apt-get update && apt-get install -y --no-install-recommends \
    nmap nikto sqlmap gobuster \
    dnsutils netcat-traditional \
    curl wget git \
    python3 python3-pip \
    && rm -rf /var/lib/apt/lists/*

# Optionnel : les wordlists (gobuster/nikto en ont besoin) — ~ 100 Mo
# RUN apt-get update && apt-get install -y seclists && rm -rf /var/lib/apt/lists/*

WORKDIR /ops

Nous avons :

  • nmap
  • nikto
  • sqlmap
  • gobuster
  • dnsutils
  • netcat

Build et run

bash
wslc build -t pentest-box .

# On monte un dossier "loot" pour garder les résultats après destruction du conteneur
wslc run -it --rm -v "C:\Users\Username\loot:/ops/loot" pentest-box

Le --rm détruit le conteneur une fois sorti du terminal, sauf ce qu’il y a dans le dossier loot.

Build

build
build

RUN

run
run

Attention

Une image comme kali-rolling évolue en continu,du coup il est possible que le build ne fonctionne pas à l’identique plus tard.

Ces outils se lancent uniquement sur des systèmes qui t’appartiennent ou si tu as une autorisation écrite, je décline toute responsabilité en cas d’usage malveillant.

Un dernier réflexe si tu actives l’allowlist : pense à y inclure docker.io et lscr.io, sinon les pull de ce tuto (l’image Kali et le webtop) seront eux-mêmes bloqués.

Pour la DSI

WSLC intègre une allowlist de registres : WSLContainerRegistryAllowlist, elle restreint les registres depuis lesquels on peut pull les images.

Pour conclure

WSL Containers rapproche l’expérience Docker de Windows, sans la lourdeur de Docker Desktop : conteneurs Linux natifs, CLI familier, et une isolation Hyper-V.

Le tout est encore en pre-release, donc à surveiller.