前言
Windows10在發布WSL(Windows Subsystem for Linux)后經過多次更新,現在使用體驗已經比較良好,下面簡單記錄一下我在安裝Kali WSL中遇到的種種問題,為各位同樣遇到問題的朋友們提供一些解決方案。
由於我已安裝了一次Kali,故本次演示使用Debian替代,安裝過程基本相同。
安裝
安裝過程已經得到了相當的簡化。首先進入控制面板-程序和功能-打開或關閉windows功能

點擊確定后重啟系統,完成相關功能的安裝
在windows商店內搜索Kali Linux,下載並安裝

至此安裝完成
配置Kali Linux
啟動Kali,顯示
Installing, this may take a few minutes...
等待安裝完成,按提示輸入用戶名,密碼,新建用戶
Enter new UNIX username: test Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Installation successful! test@Reese:~$
可選條目-更改默認用戶為root
由於之前在kali虛擬機內我默認使用root用戶進行操作,避免頻繁輸入sudo,故在kali wsl里面也希望使用root操作,同時也可以避免因權限而帶來的操作問題。
按Ctrl+D退出登錄,並打開Windows命令行或者PowerShell,輸入命令
kali config --default-user root
WSL 子系統是基於 LxssManager 服務運行的,在更改過默認用戶后,我們需要重啟該服務,使改動生效
net stop LxssManager
net start LxssManager
然后進入Kali系統,刪除之前創建的test用戶
userdel test
(此時應該是以root身份操作)
然后更改root用戶的密碼
passwd root
可選條目-賦予test用戶sudo權限
如果你不想刪除創建的test用戶,那么如果想要執行一些高級命令,就應該為test用戶賦予sudo權限
在我們安裝Kali時,默認的root密碼是隨機的,而且每次開機都會生成新的root密碼,所以,我們先要將root密碼設置為我們自己的密碼
注意,該操作只有在安裝完成后第一次嘗試設置密碼時有用,以后使用sudo passwd都需要sudo權限

我們先輸入
sudo passwd
提示信息出現后提醒我們為test用戶輸入sudo密碼,注意我們這里需要輸入test用戶的密碼
然后輸入新的密碼,這里我們輸入的時root用戶的密碼,然后按提示再輸入一遍,root用戶的密碼更新完成
切換到root用戶
su root
輸入密碼,成功登錄。
接下來的操作可選,我執行該操作是為了防止以后出現某些問題
接下來將test用戶加入sudoers,在root下
visudo
找到該行
root ALL=(ALL:ALL) ALL
在下面添加
test ALL=(ALL:ALL) ALL
保存並退出
安裝完整版Kali
受限於安全條約,Windows商店的Kali基本不能包含任何滲透用工具,我們需要自行安裝(以下命令均在root下完成,如果遇到權限問題Permission denied,請在命令前加上sudo或切換到root用戶)
修改軟件源至國內的鏡像站地址
這里我使用的是科大鏡像站提供的Kali源
先備份原文件
mv /etc/apt/sources.list /etc/apt/sources.list.bak
創建新的/etc/apt/sources.list
nano /etc/apt/sources.list
輸入以下內容保存並退出
deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
當然也可以將原來的源注釋掉,再將上面兩行內容添加至文件頭
再簡單地update一下
apt update
安裝完整工具集
由於metasploit等一眾工具含有許多payload等大量不安全的代碼會被Windows自帶的Defender檢測並查殺,我們需要先關閉實時保護(如果你還是遇到問題,把防火牆也給關了)


在此之后,每次需要使用到類似於metasploit等工具時,需要將實時防護和防火牆給關閉,用完過后記得再打開
現在安裝工具集
apt install kali-linux-full
需要下載近7000MB的文件,安裝過程非常費時間,建議在良好的網絡條件下進行。
圖形化界面的實現
默認的命令行雖然能完成絕大部分工作,但還是有少數任務在GUI的幫助下更快捷,這里我們才用Xserver+xfce來實現圖形化界面
安裝xfce桌面
apt install xfce4
安裝中文字體
apt install fonts-noto-cjk
在你的Windows 10內,下載VcXsrv,下載地址在這里
下載完成后,安裝啟動VcXsrv文件夾內的Xlaunch,第一個界面推薦先選擇"One large window",其余默認均可
在Kali內,編輯~./bashrc文件
nano /root/bashrc
在末尾添加如下內容
export DISPLAY=0.0
保存並退出,該步驟的目的是讓圖形自動輸出到我們的VcXsrv窗口內,不需要每次運行GUI程序都手動指定
啟動xfce桌面
xfce4-session
該圖形界面經過我的美化,剛剛安裝完成的應該與這個存在差異
(可選)由於我並不喜歡uxterm這個終端,於是選擇使用sakura終端
apt install sakura
文件傳輸
WSL在文件傳輸方面做的十分方便,默認Windows內的系統盤都被掛載在/mnt目錄下面,譬如C盤被掛載在/mnt/c,直接訪問即可。

注意:如果你嘗試搭建samba服務並在使用smbpasswd命令時遇到了permission denied的問題,可以參考一下GitHub上的這個Issue
其他
如果你願意的話,可以繼續安裝vscode/sublimtext等等工具,作為生產環境。
有問題請留言,本文會持續更新各位在安裝過程中的常見問題。
