# WSL

El Windows Subsystem for Linux (WSL) es una funcionalidad de Windows que permite ejecutar comandos de Linux desde una terminal en el propio SO de Windows.

{% hint style="info" %}
Recursos:

<https://www.windowscentral.com/how-install-wsl2-windows-10>

<https://docs.microsoft.com/es-es/windows/wsl/install>
{% endhint %}

## Instalar WSL

Abrir consola de PS con privilegios de local admin

```powershell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
```

reiniciar equipo, y abrir de nuevo una consola de PS con privilegios

```powershell
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
```

Acceder a la "Microsoft Store" de tu equipo, buscar "Windows Subsystem for Linux" e instalarla.

Para comprobar la instalación de WSL abres una consola y escribes:

```
wsl.exe --install
```

***

## Instalar Kali en WSL

Hay 2 formas:

1. Con la consola de PowerShell

```powershell
wsl --install -d kali-linux
```

2. Con la Microsoft Store

Escribes en el buscador "Kali Linux" y la instalas.

Para saber las distribuciones que están disponibles e instalarla

<pre class="language-powershell"><code class="lang-powershell"><strong>wsl --list --online
</strong></code></pre>

{% hint style="info" %}
Cuando estés instalando la distribución, tendrás que crear credenciales de usuario
{% endhint %}

Para saber la versión de WSL que están usando tus distribuciones y cambiarla a la versión 2

```powershell
wsl -l -v
```

```powershell
wsl --set-version kali-linux 2
```

Exportar distribución&#x20;

```
.\wsl.exe --export kali-linux kali
```

Importar distribución

```
.\wsl.exe --import Kali . C:\path\to\kali --version 2
.\wsl.exe -d kali
```

{% hint style="info" %}
ATENCIÓN: \
Al ser la versión de 2018 la última de Kali para WSL, pueden surgir diferentes errores en la actualización de la distribución.

Para consultar diferentes soluciones, tienes este enlace:\
<https://getridbug.com/unix-linux/kali-linux-on-wsl-break-after-upgrade/>
{% endhint %}

***

## Asociar USB a WSL

Instalar el proyecto de usbipd-win

```bash
apt install usbip
winget install --interactive --exact dorssel.usbipd-win
```

y en la consola de linux de WSL&#x20;

{% code overflow="wrap" %}

```bash
sudo apt install build-essential flex bison libssl-dev libelf-dev libncurses-dev autoconf libudev-dev libtool linux-tools-generic hwdata
mkdir /usr/lib/usbip
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/usbip 20
```

{% endcode %}

```bash
sudo apt install usbip hwdata 
```

{% hint style="info" %}
<https://docs.microsoft.com/es-es/windows/wsl/connect-usb>

<https://github.com/dorssel/usbipd-win/wiki/WSL-support#usbip-client-tools>
{% endhint %}

Para listar los dispositivos USB conectados a Windows

```powershell
usbipd wsl list
```

```powershell
usbipd bind --busid <busid> --force
```

Para asociar el USB a WSL

```powershell
usbipd wsl attach --busid <busid>
```

Para desasociar el USB a WSL

```powershell
usbipd wsl detach --busid <busid>
```

Para suprimir una instancia de WSL

```powershell
wsl --shutdown
```

***

## Actualizar e instalar herramientas

```bash
sudo apt update -y && sudo apt full-upgrade -y
```

```bash
sudo apt install usbutils
```

```bash
apt install python3-pip
```

```bash
pip3 install frida-tools
```

```bash
pip3 install objection
```

```bash
apt-get install libusbmuxd*
```

***

## Path de WSL en Windows

Para acceder a los directorios y ficheros de las distribuciones que creemos, podemos acceder en el explorador con \\\WSL$

![Kali Linux en el explorador de archivos de Windows](https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FV2gEEZq4DJxTAYfgeTT0%2Fimage.png?alt=media\&token=877e2e16-c83c-492e-83c6-6a24a1d7b31f)

***

## Recursos y enlaces de referencia

* <https://docs.microsoft.com/es-es/windows/wsl/setup/environment>
* <https://www.microsoft.com/es-es/p/windows-terminal/9n0dx20hk701?rtc=1&activetab=pivot:overviewtab>
* <https://devblogs.microsoft.com/commandline/connecting-usb-devices-to-wsl/>
* <https://github.com/rpasek/usbip-wsl2-instructions/blob/master/README.md>
* <https://github.com/dorssel/usbipd-win/releases>
* <https://www.xda-developers.com/wsl-connect-usb-devices-windows-11/>
