win10 2004 WSL2安装重塑你的linux渗透环境
win10 2004 WSL2安装重塑你的linux渗透环境
本文为原创公开文章,在个人公众号也有同步发布,如有违规,请管理删帖~
Author:别叫我老王
Date:20200713
0x00 背景介绍
本文博主是一个没有技术且低危时长两年半的渗透练习生,自己上大学时买了个游戏本,也不是为了打游戏,就是瞅着配置高、抗造,果然在大内存以及整个盘都换为固态的加持下依旧还是日不穿内网,哈哈,好了不能让你看出我是为了增加字数而在故意吹水,归于正题,win10 version 2004
下WSL2
打造真香级Linux
子系统。
0x01 再扯一点
WSL(Windows Subsystem for Linux)
即适用于Linux
的Windows
子系统,是win10
新增的功能,使用它可以直接在Windows
执行Linux
命令,虽然微软一直极力打造的PowerShell
已经很强大了,但是直接运行Linux
啪啪敲命令还是挺帅(装13)的,关键是相比WSL
来说,WSL2
基于Hyper-V
子集支持完整的Linux
内核极大的解决了兼容性的问题,而且启动速度更快,同时也支持win10
家庭版。WSL2
就是不支持使用systemctl
、systemd
命令,可以直接执行service
win + r
输入dxdiag
查看当前操作系统版本
当然也是可以在设置里面找到系统版本,那为啥还要用花里胡哨的dxdiag
???害,不要问,问就是为了酷(装13)
目前win10 version 2004
还没有开始正式推送,据微软说快了(信你个鬼),大家可以直接到MSDN
下载纯净系统
0x02 开整
1.首先操作系统必须是win10 version 2004
或者最新预览版本,然后需要安装适用于Linux的Windows子系统
、虚拟机平台
这俩组件,可以直接通过管理员身份打开PowerShell
或cmd
来分别运行以下命令自动安装(建议首先直接在windows
应用商店搜索下载Windows Termininal
一款力荐的Windows
终端管理器,后面详细介绍:):
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
2.接着安装Linux
内核,直接到微软官网下载[url=https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel]https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel[/url]
3.然后双击安装一路yes
即可,报错??
4.参考官方说明排除问题就行,其实人家说的是上面执行完PowerShell
那俩命令后需要重启电脑,害,是不是你也被俺带偏了??看啥呢,重启吧......
5.继续安装,完成后是这样式滴
6.接下来PowerShell
或cmd
执行以下命令,将WSL
默认版本设置为WSL2
以保证后续安装的Linux
子系统都默认安装在最新的WSL2
上
wsl --set-default-version 2
执行wsl -l -v
看到当前还没有安装Linux
发行版
7.直接在Windows
应用商店安装你喜欢(如果不是为了生活,又有谁愿意说喜欢呢,淦)的Linux
发行版就行,在这里我自己安装的是Kali Linux
、Ubuntu 20.04
,不要问为啥说好的Ubuntu 20.04
咋不选第三个???不要抬杠,没有那么多为什么??你是小朋友??问号倒是不少啊,那第一个就是Ubuntu 20.04
Giao Giao
8.安装好直接打开就行,稍等片刻,输入新的用户名和密码就行
9.如果在输入用户过程中报了如下错误,管理员权限打开PowerShell
或cmd
运行netsh winsock reset
重置winsock
即可
10.关闭子系统重新打开即可,可以看到Windows
本地磁盘都被挂载到了子系统下,可以通过/mnt/
查看,比较方便
※装完系统再次执行wsl -l -v
可以看到我们的Linux
子系统都是装在WSL2
上面的,目的已达到
11.接下来就是获取并更新至最新版了,一个漫长的过程,apt-get update && apt-get dist-upgrade -y
12.Kali
下执行apt-get install kali-linux-everything
最大化安装Kali
,可能又是因为喜欢吧(为了生活)
13.Ubuntu
下平时就是装个docker
起一些虚拟机可以搭建靶机或者复现环境啥的,有个有意思的现象就是无论你装了多少不同类型的Linux
子系统发行版,ifconfig
得到的地址都是一样的,而且每次所有子系统都关闭然后再次重启的时候,这个地址会变,获取到的地址是类比于VMWare
虚拟机中NAT
模式的
14.你当然也可以打造你的专属bash
,比如流行的zsh
然后使用ohmyzsh
进行美化,简直不要太炫酷,淦
apt-get update && apt-get install zsh -y
git clone [url=https://github.com/ohmyzsh/ohmyzsh.git]https://github.com/ohmyzsh/ohmyzsh.git[/url]
cd ohmyzsh/tools
./install.sh
15.然后如果你要访问Linux
子系统中的图形化应用,直接配合一个支持X
协议的SSH
客户端即可,在这里我采用的是MobaXterm
免费真香,还阔以进行多种终端管理、隧道搭建以及网络发现、端口扫描等热门功能
可以看到我们本地的Linux
子系统已经被识别出来了
我们直接子系统开启ssh
服务,然后使用X
协议连接,访问那些需要图形化展示的应用
service ssh start
ssh -X [url=mailto:[email protected]][email protected][/url]
wireshark
16.哦,对了,就是刚才推荐的Windows Terminal
终端管理器,虽然没有MobaXterm
强大,但是如果只是做终端管理来使用,还是不错的
17.还有个问题就是,就是在使用WSL2
中的Linux
子系统时,需要将当前网络改为专用网络,而且如果当前登录用户不是Administrator
的话,会存在Linux
虚拟机无法与本地Windows
通信,这样如果Linux
子系统想通过proxychains
用Windows
指定端口进行代理是无法访问到的(这点其实是猜的,因为自己就是两台电脑,一台本地Administrator
代理啥的一切正常,另外那台登录微软账户的,也就是写本文档的机器,就出现虚拟机与Windows
通信问题,其实可以通过修改防火墙入站规则来实现,也可以直接关闭防火墙,直接裸奔,最后实测结果是一切正常)
Kali
执行ifconfig
获取虚拟机IP
,然后执行python3 -m http.server 9989
再然后win10
主机执行curl.exe "http://<IP:PORT>/ssasdsads"
发现正常访问(微软账户登录,仅仅是修改防火墙允许ICMP
协议入站)
18.限制内存使用,在C:\Users\<user_name>
下创建.wslconfig
保存以下内容
[wsl2]
memory=4GB
swap=0
localhostForwarding=true
19.解决root
用户bash shell
高亮,首先创建用户useradd -m kali
,用户名随意,然后passwd kali
输入两次密码即可,然后直接su kali
,用户切换成功后执行bash
发现kali
用户下高亮,我们需要执行cp /home/kali/.bashrc ~/.bashrc
将用户的终端配置文件.bashrc
复制到root
用户下执行source ~/.bashrc
让其生效即可
0x03 结束
其它关于WSL2
、Kali linux
、Windows Termininal
、ohmyzsh
、MobaXtearm
等更多DIY
sao姿势期待大家一起交流探索ヽ( ̄ω ̄( ̄ω ̄〃)ゝ
为了早日突破401,冲冲冲!Giao! Giao! Giao!
自评TCV:2
评论46次
看着是真费劲,感觉vm的虚拟机更香
你再测一测吧,我两台机器的测试结果都是wsl2起服务,可以被物理机甚至于和物理机NAT模式的vm虚拟机互访,它的网络模式确实是和vm虚拟机类似,但我的测试结果感觉更像是桥接
哎,不知道为什么我的wsl1始终升级不成2
连远程用MobaXtearm好用,本地用的是cmder
VM 随时快照 方便各种测试 香
听说wsl2和vmware有冲突?
有可能,wsl2用了hyper-v,以前试过 hyper-v不能和vmware共存的,vmware的机器启动不了
WSL2蛮好用的 尴尬的是要和VM二选一 等新版的vmware更新把
好的,我选择VM
留给愿意折腾的人吧。Vm装个Kali挺好的。
中,萝卜白菜,也有人就是喜欢芹菜
wsl吧,前2年安装用过段时间,开始觉得有点意思,后来就忘了用,因为还是vmware好,安全,稳定。不过之后帮我解决了一个有意思的小问题有次我win7机器桌面有个文件故障怎么都删除不掉,网上找了个方法然后一条命来搞定,接着好奇心来了,拿2003虚拟机建了个特殊文件,也测试删除掉了再就拿自己的win10机器实验,结果找遍所有办法都没删除掉,,,一个删不掉的空文件放桌面上,像我们这种爱整理桌面的人强迫症都犯了,,,后来突然想到我有子xi统,试着切到子xi统访问桌面,rm -rf xxx.txt 搞定,,,
害,不应该是rm -rf *么
wsl吧,前2年安装用过段时间,开始觉得有点意思,后来就忘了用,因为还是vmware好,安全,稳定。 不过之后帮我解决了一个有意思的小问题 有次我win7机器桌面有个文件故障怎么都删除不掉,网上找了个方法然后一条命来搞定, 接着好奇心来了,拿2003虚拟机建了个特殊文件,也测试删除掉了 再就拿自己的win10机器实验,结果找遍所有办法都没删除掉,,,一个删不掉的空文件放桌面上,像我们这种爱整理桌面的人强迫症都犯了,,, 后来突然想到我有子xi统,试着切到子xi统访问桌面,rm -rf xxx.txt 搞定,,,
留给愿意折腾的人吧。Vm装个Kali挺好的。
说一下有一个坑就是WSL2与vmware虚拟机有冲突, vmware需要更新到20H1预览版及其以上版本https://blogs.vmware.com/workstation/2020/05/directx-11-now-with-workstation-tp20h2.html
可
说一下有一个坑就是WSL2与vmware虚拟机有冲突, vmware需要更新到20H1预览版及其以上版本 https://blogs.vmware.com/workstation/2020/05/directx-11-now-with-workstation-tp20h2.html
看着是真费劲,感觉vm的虚拟机更香
我感觉也是都是多此一举微软肚子大
wsl2 里面启动的http server只能本地可以访问, 网络完全是照抄虚拟机, 跟wsl1比不了, 而且启动效率还慢
你再测一测吧,我两台机器的测试结果都是wsl2起服务,可以被物理机甚至于和物理机NAT模式的vm虚拟机互访,它的网络模式确实是和vm虚拟机类似,但我的测试结果感觉更像是桥接
这个问题之前确实是一直存在的, 如果你可以的话可能是最近更新了. 可以百度搜一下关键字: "WSL2里启动的web server好像无法访问", 之前我了解的解决方案是手动开启端口转发. 这个其实挺好理解的, 你在vmware里面搭一个web服务, 用其他设置过路由表的虚拟机访问开启web服务的虚拟机ip时是可以访问通的, 但用其他内网物理机访问你的虚拟机ip, 网段不同不可能直接访问通, 只能访问你的宿主机ip+端口映射来解决
听说wsl2和vmware有冲突?
新版本没冲突, vmware兼容了
wsl2 里面启动的http server只能本地可以访问, 网络完全是照抄虚拟机, 跟wsl1比不了, 而且启动效率还慢
你再测一测吧,我两台机器的测试结果都是wsl2起服务,可以被物理机甚至于和物理机NAT模式的vm虚拟机互访,它的网络模式确实是和vm虚拟机类似,但我的测试结果感觉更像是桥接
cmder不香吗
wsl2 里面启动的http server只能本地可以访问, 网络完全是照抄虚拟机, 跟wsl1比不了, 而且启动效率还慢
vm即可,这样功能不全体验差还复杂
仁者见仁,香者自香吧好兄弟
配置成一键,也许更方便些
其实也不复杂,设置看着复杂,其实很快,就是下载看网速看脸,总的来说有个30分钟左右就搞定了