win10 2004 WSL2安装重塑你的linux渗透环境

2020-07-14 23:43:23 46 7820

win10 2004 WSL2安装重塑你的linux渗透环境

本文为原创公开文章,在个人公众号也有同步发布,如有违规,请管理删帖~

Author:别叫我老王
Date:20200713
0x00 背景介绍

本文博主是一个没有技术且低危时长两年半的渗透练习生,自己上大学时买了个游戏本,也不是为了打游戏,就是瞅着配置高、抗造,果然在大内存以及整个盘都换为固态的加持下依旧还是日不穿内网,哈哈,好了不能让你看出我是为了增加字数而在故意吹水,归于正题,win10 version 2004WSL2打造真香级Linux子系统。

0x01 再扯一点

WSL(Windows Subsystem for Linux)即适用于LinuxWindows子系统,是win10新增的功能,使用它可以直接在Windows执行Linux命令,虽然微软一直极力打造的PowerShell已经很强大了,但是直接运行Linux啪啪敲命令还是挺帅(装13)的,关键是相比WSL来说,WSL2基于Hyper-V子集支持完整的Linux内核极大的解决了兼容性的问题,而且启动速度更快,同时也支持win10家庭版。WSL2就是不支持使用systemctlsystemd命令,可以直接执行service

win + r输入dxdiag查看当前操作系统版本

当然也是可以在设置里面找到系统版本,那为啥还要用花里胡哨的dxdiag???害,不要问,问就是为了酷(装13)

目前win10 version 2004还没有开始正式推送,据微软说快了(信你个鬼),大家可以直接到MSDN下载纯净系统

0x02 开整

1.首先操作系统必须是win10 version 2004或者最新预览版本,然后需要安装适用于Linux的Windows子系统虚拟机平台这俩组件,可以直接通过管理员身份打开PowerShellcmd来分别运行以下命令自动安装(建议首先直接在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.接下来PowerShellcmd执行以下命令,将WSL默认版本设置为WSL2以保证后续安装的Linux子系统都默认安装在最新的WSL2

wsl --set-default-version 2

执行wsl -l -v看到当前还没有安装Linux发行版

7.直接在Windows应用商店安装你喜欢(如果不是为了生活,又有谁愿意说喜欢呢,淦)的Linux发行版就行,在这里我自己安装的是Kali LinuxUbuntu 20.04,不要问为啥说好的Ubuntu 20.04咋不选第三个???不要抬杠,没有那么多为什么??你是小朋友??问号倒是不少啊,那第一个就是Ubuntu 20.04 Giao Giao

8.安装好直接打开就行,稍等片刻,输入新的用户名和密码就行

9.如果在输入用户过程中报了如下错误,管理员权限打开PowerShellcmd运行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子系统想通过proxychainsWindows指定端口进行代理是无法访问到的(这点其实是猜的,因为自己就是两台电脑,一台本地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 结束

其它关于WSL2Kali linuxWindows TermininalohmyzshMobaXtearm等更多DIY sao姿势期待大家一起交流探索ヽ( ̄ω ̄( ̄ω ̄〃)ゝ

为了早日突破401,冲冲冲!Giao! Giao! Giao!

自评TCV:2

关于作者

别叫我老王3篇文章71篇回复

评论46次

要评论?请先  登录  或  注册
  • TOP1
    2020-7-15 09:09

    看着是真费劲,感觉vm的虚拟机更香

  • TOP2
    2020-7-17 10:39

    你再测一测吧,我两台机器的测试结果都是wsl2起服务,可以被物理机甚至于和物理机NAT模式的vm虚拟机互访,它的网络模式确实是和vm虚拟机类似,但我的测试结果感觉更像是桥接

  • 46楼
    2021-7-17 23:30

    哎,不知道为什么我的wsl1始终升级不成2

  • 45楼
    2021-7-17 22:53

    连远程用MobaXtearm好用,本地用的是cmder

  • 44楼
    2021-7-15 11:49

    VM 随时快照 方便各种测试 香

  • 43楼
    2021-7-14 11:23
    Ashen

    听说wsl2和vmware有冲突?

    1

    有可能,wsl2用了hyper-v,以前试过 hyper-v不能和vmware共存的,vmware的机器启动不了

  • 42楼
    2020-8-21 14:05

    WSL2蛮好用的 尴尬的是要和VM二选一 等新版的vmware更新把

  • 41楼
    2020-8-8 03:17

    好的,我选择VM

  • 40楼
    2020-7-20 18:36
    qhkest

    留给愿意折腾的人吧。Vm装个Kali挺好的。

    1

    中,萝卜白菜,也有人就是喜欢芹菜

  • 39楼
    2020-7-20 18:35
    胜意科技

    wsl吧,前2年安装用过段时间,开始觉得有点意思,后来就忘了用,因为还是vmware好,安全,稳定。不过之后帮我解决了一个有意思的小问题有次我win7机器桌面有个文件故障怎么都删除不掉,网上找了个方法然后一条命来搞定,接着好奇心来了,拿2003虚拟机建了个特殊文件,也测试删除掉了再就拿自己的win10机器实验,结果找遍所有办法都没删除掉,,,一个删不掉的空文件放桌面上,像我们这种爱整理桌面的人强迫症都犯了,,,后来突然想到我有子xi统,试着切到子xi统访问桌面,rm -rf xxx.txt 搞定,,,

    1

    害,不应该是rm -rf *么

  • 38楼
    2020-7-20 17:43

    wsl吧,前2年安装用过段时间,开始觉得有点意思,后来就忘了用,因为还是vmware好,安全,稳定。 不过之后帮我解决了一个有意思的小问题 有次我win7机器桌面有个文件故障怎么都删除不掉,网上找了个方法然后一条命来搞定, 接着好奇心来了,拿2003虚拟机建了个特殊文件,也测试删除掉了 再就拿自己的win10机器实验,结果找遍所有办法都没删除掉,,,一个删不掉的空文件放桌面上,像我们这种爱整理桌面的人强迫症都犯了,,, 后来突然想到我有子xi统,试着切到子xi统访问桌面,rm -rf xxx.txt 搞定,,,

  • 37楼
    2020-7-20 17:42

    留给愿意折腾的人吧。Vm装个Kali挺好的。

  • 36楼
    2020-7-20 16:26
    5inb4d

    说一下有一个坑就是WSL2与vmware虚拟机有冲突, vmware需要更新到20H1预览版及其以上版本https://blogs.vmware.com/workstation/2020/05/directx-11-now-with-workstation-tp20h2.html

    1
  • 35楼
    2020-7-20 14:51

    说一下有一个坑就是WSL2与vmware虚拟机有冲突, vmware需要更新到20H1预览版及其以上版本 https://blogs.vmware.com/workstation/2020/05/directx-11-now-with-workstation-tp20h2.html

  • 34楼
    2020-7-18 23:10
    redn3ck

    看着是真费劲,感觉vm的虚拟机更香

    1

    我感觉也是都是多此一举微软肚子大

  • 33楼
    2020-7-18 16:48
    LzSkyline

    wsl2 里面启动的http server只能本地可以访问, 网络完全是照抄虚拟机, 跟wsl1比不了, 而且启动效率还慢

    1
    别叫我老王

    你再测一测吧,我两台机器的测试结果都是wsl2起服务,可以被物理机甚至于和物理机NAT模式的vm虚拟机互访,它的网络模式确实是和vm虚拟机类似,但我的测试结果感觉更像是桥接

    2

    这个问题之前确实是一直存在的, 如果你可以的话可能是最近更新了. 可以百度搜一下关键字: "WSL2里启动的web server好像无法访问", 之前我了解的解决方案是手动开启端口转发. 这个其实挺好理解的, 你在vmware里面搭一个web服务, 用其他设置过路由表的虚拟机访问开启web服务的虚拟机ip时是可以访问通的, 但用其他内网物理机访问你的虚拟机ip, 网段不同不可能直接访问通, 只能访问你的宿主机ip+端口映射来解决

  • 32楼
    2020-7-18 16:44
    Ashen

    听说wsl2和vmware有冲突?

    1

    新版本没冲突, vmware兼容了

  • 31楼
    2020-7-17 10:39
    LzSkyline

    wsl2 里面启动的http server只能本地可以访问, 网络完全是照抄虚拟机, 跟wsl1比不了, 而且启动效率还慢

    1

    你再测一测吧,我两台机器的测试结果都是wsl2起服务,可以被物理机甚至于和物理机NAT模式的vm虚拟机互访,它的网络模式确实是和vm虚拟机类似,但我的测试结果感觉更像是桥接

  • 30楼
    2020-7-16 20:27

    cmder不香吗

  • 29楼
    2020-7-16 20:20

    wsl2 里面启动的http server只能本地可以访问, 网络完全是照抄虚拟机, 跟wsl1比不了, 而且启动效率还慢

  • 28楼
    2020-7-16 09:49
    一去二三里

    vm即可,这样功能不全体验差还复杂

    1

    仁者见仁,香者自香吧好兄弟

  • 27楼
    2020-7-16 09:47
    smallrascal

    配置成一键,也许更方便些

    1

    其实也不复杂,设置看着复杂,其实很快,就是下载看网速看脸,总的来说有个30分钟左右就搞定了