# 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](/files/7jw6X2iwnjPHTE3oSr2v)

***

## 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/>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.securiters.com/securiters-wiki/_tools/wsl.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
