Kali Linux en Windows – WSL2 con GUI

Todo el mundo conoce VMWare o VirtualBox, además, en otro artículo vimos también Docker. Sin embargo, estas no son las únicas alternativas para tener y ejecutar Linux. Hoy vamos a ver como se puede instalar Kali Linux con interfaz gráfica en Windows gracias a WSL (Windows Subsystem for Linux).

Instalación de Kali Linux

Primero de todo nos dirigimos a la Microsoft Store y buscamos el sistema operativo Linux que queramos instalar, en nuestro caso Kali. Una vez lo encontremos, lo instalamos:

Asimismo, si no lo tenemos instalado, recomiendo instalar la Windows Terminal:

Una vez tenemos instalado ambas cosas, o al menos el Kali, miramos si el WSL está habilitado, para ello, comprobamos las características de Windows:

Si está marcado, genial, no tocamos nada, sino, lo activamos, en ese caso probablemente tendremos que reiniciar el equipo.

Una vez hecho esto, abrimos Kali Linux:

La primera vez que lo abrimos tendremos que esperar un poco a que se instale:

Una vez termine, nos pedirá que le indiquemos el usuario y contraseña a crear, y hecho esto ya tendremos nuestro Kali en Windows:

Una vez lo tenemos, una de las primeras cosas a hacer sería ejecutar un apt update:

Este kali viene bastante vacío por defecto, por lo que es recomendable también instalar por ejemplo el siguiente paquete:

  • sudo apt install kali-linux-default

Podemos encontrar mas conjunto de paquetes en la documentación oficial.

Una vez hecho todo esto, es hora de instalar la parte gráfica del Kali, para ello instalamos el siguiente paquete:

  • sudo apt install -y kali-win-kex

Win-Kex es el paquete que proporciona esta característica. Con él, vienen tres posibles modos que podemos usar para ver el escritorio de nuestro kali:

  • Window Mode
  • Enhanced Session Mode
  • Seamless Mode

Vamos a ver las tres opciones que tenemos:

Seamless Mode

El modo Seamless integra el entorno de escritorio KDE directamente en el escritorio de Windows, se vería así:

Esto permite que las aplicaciones de Linux se ejecuten como si fueran aplicaciones nativas de Windows. Las ventanas de las aplicaciones aparecen junto a las aplicaciones de Windows sin la barrera visual de estar trabajando dentro de una ventana de VM distinta.

Personalmente, he intentado habilitar este modo pero nunca he tenido la suerte de que me funcionase. En cualquier caso, si queremos hacer uso de él, teóricamente debemos de ejecutar uno de los siguientes comandos:

  • Dentro del Kali
    • kex –sl -s
  • Desde una CMD o PowerShell
    • wsl -d kali-linux kex –sl -s

No tenemos que ejecutar ambos comandos, simplemente uno de ellos.

Enhanced Session Mode

El modo de Enhaced Session permite utilizar el protocolo RDP para conectarse a Kali de manera gráfica. Para habilitarlo, de nuevo, tendremos que ejecutar uno de los siguientes dos comandos, el que queramos desde donde queramos:

  • Desde del Kali
    • kex –esm –ip -s
  • Desde una CMD o PowerShell
    • wsl -d kali-linux kex –esm –ip -s

Si lo ejecutamos por ejemplo desde el Kali, ocurre lo siguiente:

Se inicia el cliente de Win-Kex, y tras esperar unos segundos, se nos abrirá el cliente RDP de Windows pidiendo conectarse al Kali, simplemente le damos que si y nos habremos conectado:

Este modo está bastante bien ya que se integra muy cómodamente con Windows. El único problema que le he visto es que no le gusta mucho el que redimensiones la ventana, ya que no se adapta:

Es un buen modo si vas a hacer uso de la ventana completa siempre, de otra manera, creo que es bastante coñazo.

Windows Mode

Este para mi es el mejor modo. Básicamente permite tener el Kali en una ventana independiente en Windows y conectado por VNC. En resumen, es lo mismo que estar conectado por RDP, pero en este caso la ventana si se redimensiona si cambias el tamaño.

Para hacer uso de él, ejecutamos uno de los siguientes comandos:

  • Desde el Kali
    • kex –win -s
  • Desde CMD o PowerShell
    • wsl -d kali-linux kex –win -s

Si lo ejecutamos, pasa un poco lo mismo que antes, se iniciará el servicio de VNC (al cual la primera vez tendremos que ponerle una contraseña):

Y tras unos segundos, se abrirá en pantalla completa el Kali:

En este caso, de primeras no se nos abre en ventana ni nada, sino que abarca la pantalla al completo. Para salirnos y convertirlo en modo ventana, presionamos F8:

Y se nos abre el menú de VNC. Aquí simplemente damos click en Full screen (que estará marcado) y entonces el Kali pasará al modo ventana:

Y de esta manera podremos tener el Kali en una ventanita del Windows : )

Acceso directo desde Windows Terminal

Es posible crear un acceso directo en Windows Terminal para que cada vez que queramos hacer uso de la parte gráfica, no tengamos que sabernos y escribir el comando. Para ello, nos dirigimos a los ajustes y abrimos el JSON de configuración:

En este caso voy a configurar el Windows Mode. Si quisieses configurar otro simplemente mira el comando que sería aquí: documentación oficial.

Una vez tenemos el archivo abierto simplemente tendremos que agregar a la lista el acceso directo que queremos crear. En este caso para el Windows Mode sería el siguiente código:

{
      "guid": "{55ca431a-3a87-5fb3-83cd-11ececc031d2}",
      "hidden": false,
      "name": "Win-KeX",
      "commandline": "wsl -d kali-linux kex --wtstart -s",
},

Una vez agregado, guardamos el archivo sin que contenga errores del formato JSON y si todo está bien, nos aparecerá en el desplegable de Windows Terminal:

Si lo pulsamos, se nos abre la siguiente ventana:

Donde simplemente tendremos que esperar un poco a que se inicie el servicio y cuando ocurra, se nos abrirá el Kali:

Acceder al sistema de archivos de Kali desde Windows

Sea cual sea la opción que hayamos elegido gráficamente, es importante saber como podemos acceder al sistema de archivos de Kali desde Windows. Para ello hay distintas maneras:

  • Desde el explorador de archivos:

  • Desde la terminal:
    • \\wsl$\Kali-Linux\
  • Explorer.exe

Otra opción que tenemos es directamente ejecutar explorer.exe dentro del Kali, seleccionando el directorio de Kali que queremos que se nos abre, por ejemplo el directorio actual:

  • explorer.exe .

Acceder al sistema de archivos de Windows desde Kali

Por otra parte, ¿Cómo accedemos al sistema de archivos de Windows desde Kali? Pues básicamente podemos encontrar los discos montados en el directorio /mnt:

Redirección de puertos – De Windows a Kali

Otra cosa bastante útil de usar el WSL es que podemos realizar una redirección de puertos de Windows a Kali, es decir, si Windows no está usando un puerto y recibe una solicitud de lo que sea en ese puerto, lo reenviará al Kali. Esto es super útil para infinidad de cosas, como por ejemplo recibir reverse shells.

Sea lo que sea, para configurarlo tendremos que crear el archivo .wslconfig en el directorio del usuario de Windows:

Y escribiremos la opción que ves en la imagen:

  • localhostForwarding=true

De esta manera, si por ejemplo creamos un servidor HTTP en el Kali en el puerto 8000:

Podremos acceder a él desde Windows poniendo localhost:

Referencias

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Subir para arriba