使用wsl安装kali-linux(包含安装xfce4时需要的kali.sh脚本内容)
使用wsl安装kali遇到的一些问题
基本安装
-
打开windows可选功能中的“适用于linux的windows子系统”选项
-
在应用商店中下载安装kali linux。安装完WSL版的 Linux 后,还需要开启WSL的权限:以"管理员权限"另开一个PowerShell窗口
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
-
安装后使用,第一次时需要先注册用户和密码
-
创建root用户密码
sudo passwd root
-
安装vim
sudo apt-get install vim
-
增加source源
sudo vim /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 添加好后更新源 sudo apt-get update
-
安装图形化界面
这一步按照网上教程来时踩坑甚多,自己把坑填上
网上很多教程里都是直接wget https://kali.sh/xfce4.sh
但是需要注意的是,写这篇博客的时候这个站点已经无法使用了,所以wget自然是不行的,自己去外网找到了xfce4.sh的脚本内容,在这里贴出来。直接自己创建脚本然后加权限运行。个人觉得也可以直接自己安装xfce4#!/bin/bash # A quick BASH script that installs noVNC and sets up an Xfce4 session, # accessible through a browser on port 5901 TCP. Tested against Kali Linux Xfce4 "full" installations. # If running this on Azure or other virtual hosting, don't foret to allow ingress TCP 5901 . # Configure the following parameters if needed: ############################################### resolution="1280x720x16" display_number=1 web_vnc_port=5901 ############################################### clear echo -e "\n[*] Setting up \e[31mKali in a Browser\e[0m, generating ~/start.sh\n" sleep 2 cat << EOF > ~/start.sh #!/bin/bash clear echo -e "\e[31m\n[*] Starting up noVNC.\e[0m" export DISPLAY=:$display_number Xvfb :$display_number -screen 0 $resolution & sleep 5 # Start up Xfce is available, otherwise assume Gnome if [ -f /etc/xdg/xfce4/xinitrc ]; then startxfce4 2>/dev/null & fi x11vnc -display :$display_number -shared -nopw -listen localhost -xkb -bg -ncache_cr -forever websockify --web /usr/share/novnc $web_vnc_port 127.0.0.1:5900 --cert=self.pem -D ip="\$(host -t a myip.opendns.com resolver1.opendns.com|tail -1 |cut -d" " -f4)" echo -e "\e[31m\n[*] Kali in a Browser is set up, you can access https://\$ip:$web_vnc_port\e[0m" echo -e "[*] Don't forget to open up incoming port TCP $web_vnc_port if you have a firewalled host.". EOF chmod 755 ~/start.sh clear echo -e "\n[+] Installing pre-requisites, enter sudo password if asked.\n" sleep 2 sudo apt-get update sudo apt-get -y dist-upgrade sudo apt-get -y install novnc websockify x11vnc xvfb sudo apt-get clean sudo ln -s /usr/share/novnc/vnc.html /usr/share/novnc/index.html clear echo -e "\n[+] Generating SSL cert. Please fill in details, then run \e[31m./start.sh\e[0m\n" sleep 2 openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
看脚本内容应该是不会顺便安装上xrdp,需要自己apt-get安装
安装xrdp sudo apt-get install xrdp 查看xrdp的配置文件,查看端口是不是3390,如果是3389的需要更改,否则远程时会报错 sudo vim /etc/xrdp/xrdp.ini 确认端口是3390之后启动服务 sudo /etc/init.d/xrdp start
完成这项步骤后应该就可以使用windows自带的远程工具mstsc来远程这个kali子系统了(127.0.0.1:3390)
注:
- 在linux子系统中输入netstat命令查看端口应该是无法查看信息的,想看端口是否打开可以在windows中打开命令行输入netstat -an查看端口监听情况
- 若完成上述操作依然3390端口未打开考虑windows防火墙加一条3390端口的入站允许规则
- 若依然不行,有帖子说wegame会影响wsl的端口监听,参考这条处理方式:https://blog.csdn.net/weixin_30649859/article/details/96031139