Windows Subsystem for Linux (WSL) permite ejecutar distribuciones Linux directamente en Windows, sin necesidad de configurar una máquina virtual tradicional. Es una herramienta especialmente útil para administradores de sistemas, desarrolladores y profesionales de la ciberseguridad que necesitan trabajar con herramientas y comandos de Linux desde su equipo Windows.
En esta guía veremos cómo instalar WSL, configurar una distribución Linux, administrar sus versiones y utilizar un entorno gráfico mediante Kali Linux y Win-KeX.
1. ¿Qué es WSL?
WSL es una funcionalidad de Windows que permite ejecutar distribuciones Linux, como Ubuntu, Debian o Kali Linux, junto con las aplicaciones habituales de Windows.
Entre sus principales ventajas se encuentran:
- Ejecutar comandos y herramientas nativas de Linux.
- Utilizar terminales Bash y gestores de paquetes como APT.
- Desarrollar y probar aplicaciones en un entorno Linux.
- Trabajar con herramientas de administración de sistemas y ciberseguridad.
- Integrar aplicaciones Linux con el escritorio de Windows.
- Disponer de un entorno de trabajo sin gestionar una máquina virtual tradicional.
WSL 2 utiliza un kernel Linux real sobre una arquitectura de virtualización ligera y es la opción recomendada para la mayoría de los usuarios.
2. Instalación de WSL en Windows
2.1. Comprobar los requisitos
Necesitas una versión compatible de Windows 10 o Windows 11, además de permisos de administrador para realizar la instalación.
En Windows, abre el menú Inicio, busca cmd o Terminal y selecciona la opción para ejecutarlo como administrador.
2.2. Instalar WSL
Ejecuta el siguiente comando:
wsl --install
Este comando instala WSL y, normalmente, una distribución Ubuntu predeterminada. Sigue las instrucciones que aparezcan en pantalla y reinicia el equipo si se solicita.
Si necesitas instalar una distribución concreta, puedes consultar las disponibles:
wsl --list --online
Por ejemplo, para instalar Kali Linux:
wsl --install -d kali-linux
El nombre de la distribución debe coincidir con el que aparezca en el listado de distribuciones disponibles.
2.3. Completar la configuración inicial
Una vez instalada la distribución:
- Abre Ubuntu, Kali Linux o la distribución que hayas elegido.
- Espera a que finalice la configuración inicial.
- Crea el nombre de usuario y la contraseña de Linux cuando se soliciten.
- Actualiza los paquetes del sistema.
En distribuciones basadas en Debian, como Ubuntu y Kali Linux, puedes ejecutar:
sudo apt update
sudo apt upgrade -y
Con estos pasos tendrás una distribución Linux funcional dentro de Windows.
3. Comandos esenciales de WSL
Los siguientes comandos se ejecutan desde PowerShell o el Símbolo del sistema de Windows, salvo que se indique lo contrario.
3.1. Consultar la versión y actualizar WSL
| Comando | Descripción |
|---|---|
wsl --update | Actualiza WSL y sus componentes cuando corresponda. |
wsl --version | Muestra las versiones de los componentes de WSL. |
wsl --status | Muestra información sobre la configuración general de WSL. |
wsl --help | Presenta la ayuda y las opciones disponibles. |
3.2. Administrar las distribuciones instaladas
| Comando | Descripción |
|---|---|
wsl --list --online | Muestra las distribuciones disponibles para instalar. |
wsl --list --installed | Enumera las distribuciones instaladas. |
wsl --list --running | Muestra las distribuciones que están ejecutándose. |
wsl --list --verbose | Muestra las distribuciones instaladas y su versión de WSL. |
wsl --list --quiet | Muestra únicamente los nombres de las distribuciones. |
wsl --set-default Ubuntu | Establece Ubuntu como distribución predeterminada. |
Si necesitas consultar las distribuciones en proceso de instalación o desinstalación, puedes utilizar:
wsl --list --all
3.3. Instalar y ejecutar distribuciones
Para instalar una distribución concreta:
wsl --install -d Ubuntu
Para iniciar la distribución predeterminada:
wsl
Para iniciar una distribución específica:
wsl -d kali-linux
Para consultar las distribuciones instaladas y determinar si utilizan WSL 1 o WSL 2:
wsl --list --verbose
Para establecer WSL 2 como versión predeterminada para las nuevas instalaciones:
wsl --set-default-version 2
Para convertir una distribución instalada a WSL 2:
wsl --set-version Ubuntu 2
Sustituye Ubuntu por el nombre exacto de tu distribución.
4. Entorno gráfico de Kali Linux con Win-KeX
WSL permite ejecutar aplicaciones gráficas Linux, pero Kali Linux también dispone de Win-KeX, una solución que proporciona un escritorio gráfico completo y diferentes modos de integración con Windows.
Win-KeX es especialmente interesante para quienes desean utilizar herramientas gráficas de Kali Linux sin abandonar el escritorio de Windows.
4.1. Actualizar Kali Linux
Abre la terminal de Kali Linux y ejecuta:
sudo apt update
sudo apt full-upgrade -y
Es recomendable mantener el sistema actualizado antes de instalar nuevos paquetes.
4.2. Instalar Win-KeX
Ejecuta:
sudo apt install -y kali-win-kex
Cuando termine la instalación, podrás iniciar el entorno gráfico mediante:
kex
Si la instalación solicita configurar una contraseña para la conexión gráfica, sigue las instrucciones de la terminal.
Importante: Win-KeX está pensado para Kali Linux. No es necesario instalarlo para utilizar WSL con Ubuntu u otras distribuciones, y no debe confundirse con WSLg, que proporciona integración gráfica para aplicaciones Linux en versiones compatibles de Windows.
5. Modos de funcionamiento de Win-KeX
Win-KeX dispone de varios modos que permiten adaptar la experiencia gráfica a las necesidades del usuario.
| Modo | Descripción |
|---|---|
| Window Mode | Ejecuta el escritorio de Kali Linux en una ventana independiente. |
| Enhanced Session Mode | Utiliza una sesión de escritorio basada en RDP. |
| Seamless Mode | Integra las aplicaciones y ventanas de Linux con el escritorio de Windows. |
Para iniciar el escritorio en modo ventana:
kex --win
Para utilizar el modo Seamless:
kex --sl
Para iniciar una sesión Enhanced Session:
kex --esm
La disponibilidad de cada modo depende de la versión instalada y de la configuración del entorno.
5.1. Opciones adicionales
Win-KeX incluye opciones para administrar el servidor gráfico y adaptar la sesión.
| Opción | Función |
|---|---|
--start | Inicia el servidor Win-KeX. |
--start-client | Inicia el cliente gráfico. |
--wtstart | Inicia el servidor y el cliente desde una sesión de Windows Terminal. |
--stop | Detiene el servidor Win-KeX. |
--status | Consulta el estado del servidor. |
--kill | Detiene Win-KeX y sus procesos relacionados. |
--passwd | Configura la contraseña de Win-KeX. |
--start-sound | Inicia el servidor de sonido. |
--stop-sound | Detiene el servidor de sonido. |
--version | Muestra la versión instalada. |
--help | Muestra la ayuda del comando. |
También existen parámetros adicionales para determinadas configuraciones:
-io--ip: utiliza la dirección IP del contenedor en lugar delocalhost.-mo--multiscreen: adapta la sesión para configuraciones con varias pantallas.-so--sound: habilita el soporte de sonido.-no--nowgl: deshabilita Windows OpenGL.-ro--norc: deshabilita la reconexión automática del cliente.-wo--wait: amplía la espera para iniciar el escritorio en modo Seamless.--verbose: muestra información adicional durante la ejecución.
Consulta siempre la ayuda de tu versión instalada para verificar las opciones disponibles:
kex --help
6. Ejemplos prácticos de Win-KeX
Iniciar el escritorio con sonido
kex --win -s
Iniciar Win-KeX en modo Seamless con sonido
kex --sl -s
Iniciar una sesión Enhanced Session con sonido
kex --esm -s
Consultar el estado del servidor
kex --status
Detener el servidor
kex --stop
Si el entorno gráfico deja de responder, puedes consultar su estado y revisar los mensajes de error de la terminal antes de reiniciarlo.
7. WSL y ciberseguridad: posibilidades prácticas
La combinación de Windows, WSL y Kali Linux permite crear un entorno de trabajo útil para el aprendizaje y las prácticas de seguridad informática.
Algunas actividades que puedes realizar son:
- Análisis de red: utilizar herramientas como
nmappara examinar equipos y servicios en redes autorizadas. - Administración de sistemas: automatizar tareas mediante Bash y scripts.
- Análisis de tráfico: estudiar capturas de red con herramientas compatibles con el entorno.
- Desarrollo seguro: probar aplicaciones, dependencias y configuraciones.
- Laboratorios de ciberseguridad: trabajar con máquinas y servicios de prueba.
- Automatización: combinar Python, herramientas de consola y utilidades de Linux.
Ten en cuenta que WSL no sustituye a todos los entornos de laboratorio. Algunas prácticas que requieren acceso directo al hardware, interfaces Wi-Fi en modo monitor, determinadas funciones de captura de paquetes o dispositivos USB especializados pueden necesitar configuración adicional o un sistema Linux instalado de forma nativa.
Realiza las pruebas únicamente en equipos, redes y sistemas para los que dispongas de autorización.
8. Recomendaciones de seguridad
Para mantener el entorno actualizado y reducir riesgos, conviene aplicar algunas medidas básicas:
- Mantener Windows y WSL actualizados.
- Actualizar periódicamente los paquetes de Linux.
- Utilizar contraseñas robustas para las cuentas y servicios que lo requieran.
- Evitar ejecutar comandos con privilegios de administrador o
sudosin comprender su finalidad. - No instalar herramientas de procedencia desconocida.
- Separar los laboratorios de pruebas de los sistemas de producción.
- Revisar los permisos y el acceso de Linux a los archivos de Windows.