icon

WSL Pentesting

Last modified: 2024-09-25

WSL (Windows Subsystem for Linux) is a feature of Windows that allows developers to run a Linux environment without the need for a separate virtual machine or dual booting.

Enumeration

Interesting Information

Run the following commands in WSL.

# Configuration
cat /etc/wsl.conf

# IP address of host machine
ip route | grep default

# IP address of WSL itself
ip a
# or
hostname -I

Escape WSL to Windows Host Machine

If we’are currently on WSL machine, we can access to the host Windows machine as below.

cd /mnt/c/

If /mnt/c/ is empty, we need to mount the folder by running the following command.

cd /

# -t: Limit the set of filesystem types
# drvfs: A plugin for WSL
# C: : Specify the Windows root
mount -t drvfs C: /mnt/c

Switch Default User to Root

The following command changes the default user to root when booting WSL. This could potentially be used to escalate privileges.
Run it on PowerShell:

wsl config --default-user root