I have installed Kali Linux subsystem on windows. And now I have forgotten the root password in Kali, there is just the terminal of Kali Linux and nothing else. How can I reset my password safely?
Note: I have installed both Ubuntu and Kali Linux installed at the same time But when I run bash by default it opens up ubuntu
43 Answers
I have installed both Ubuntu and Kali Linux installed at the same time But when I run bash by default it opens up Ubuntu.
In new Windows versions, users can install and run multiple GNU/Linux distributions. One can configure the default distribution (i.e. the distribution that comes up with wsl.exe) with wslconfig /s <disrto_name> command. e.g. To open Kali with wsl.exe at first run, use this command wslconfig /s kali-linux or run kali.exe.
I have forgotten the root password in Kali, there is just the terminal of Kali Linux and nothing else. How can I reset my password safely?
First of all, I don't know if this procedure is safe or not. At the time of writing, WSL manages the default login user from DefaultUID registry (this may change in future). Close any opened WSL instance. To edit this registry value, open Registry Editor or regedit.exe from start menu or run dialog box. Go to this registry path or type this path with Ctrl + L in that Window:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss You may see one or multiple subkeys (like subfolders) with names something like {12345678-1234-1234-1234-123456789012} (called GUID). Double click on them to open one-by-one and match the DistributionName value with your desired distribution name, here it will be kali-linux (see below). Double click on the DefaultUID value and change it to ZERO. Zero is for root user and 1000 or 0x3e8 (in hexadecimal) for normal users.
Open wsl.exe in command prompt. The prompt changes from $ to # (means root user). Run passwd command in Kali, change root password as usual. Now go back to previous registry key, change Zero to previous value (or 3e8 in hex). Here is an example of the registry values:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss]
"DefaultDistribution"="{f029d4cd-b7ee-42bc-ae02-af8f2c97f495}"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{f029d4cd-b7ee-42bc-ae02-af8f2c97f495}]
"State"=dword:00000001
"DistributionName"="kali-linux"
"Version"=dword:00000001
"BasePath"="C:\\MyFiles\\kali-linux"
"KernelCommandLine"="BOOT_IMAGE=/kernel init=/init ro"
"DefaultUid"=dword:000003e8
"Flags"=dword:00000007Further details:
I appreciate this is an older question but I wanted to provide the answer based on Microsoft guidance as I stumbled across this and knew there had to be a better way.
This is based on the article available at running the device running at least Windows 10 1709 (Fall Creators Update)
- Ensure Kali is not running
- Open a command prompt (
cmd.exe) - From the command prompt, run
kali config --default-user root - Run Kali, you should login as root automatically
- In Kali, run
passwd userwhere user is the username of the account you wish the reset the password for, i.e.passwd bob - Follow the prompts to reset the password and then type
exitto close Kali - From the command prompt, run
kali config --default-user userwhere user is the username you have just reset the password for, i.e.kali config --default-user bob
Following these steps, you should be able to reset the password for your account in Kali on WSL.
This solution is given by biswapriyo. Thanks to him
Open the run command in windows by pressing Win + RType wsl.exeOr open the bash window from the windows start menu
If you got a bash window running then follow the steps below
If you have forgotten the user name
Type cat /etc/passwdThere you can see the username there
Retrieving the password
Open the run command again and type regedit
Go to
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
registry.
Find the registry value DistributionName==Kali_Linux.
Export the current registry in case something goes wrong and you can go back
Change defaultUID registry to zero. [But remember the old value too]
Open Kali, type passwd change root password.
0Next time to avoid the root login in kali change the defaultUID registry to the old value