安全工作中WSL替代vmware的全套方案

2023-10-31

前言

由于我的破thinkpad x1 carbon只有500g的磁盘,在面对所需要用到多台vmware虚拟机(Kali Linux + Ubuntu 16.04

  • Ubuntu 18.04 + Ubuntu 20.04 + Ubuntu
    22.04)时,硬盘容量捉襟见肘。偶然发现windows下WSL可以虚拟化Linux系统。

通过移动硬盘去开vmware虚拟机偶尔会出现卡顿,而且万一usb接口脱出,也特别尴尬。

Windows Terminal安装与配置

Windows terminal通过MircoSoft直接搜索进行安装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u5RIq9uT-1691114841397)(https://image.3001.net/images/20220908/1662634954_6319cbca155f609847c1c.png!small?1662634953785)]

Windows Terminal兼容cmder

由于之前用了较长时间的cmder,寻找了一下Windows Terminal对Cmder的兼容方案

现在环境变量的用户环境变量中添加CMDER的相关路径

变量名: CMDER_ROOT

变量值: PATH_TO_CMDER

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1weiA0H8-1691114841400)(https://image.3001.net/images/20220908/1662634961_6319cbd1c8b5fbf3c0c80.png!small?1662634961568)]

变量名:ConEmuDIr

变量值:%CMDER_ROOT%\vendor\conemu-maximus5

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2oeWF5U5-1691114841400)(https://image.3001.net/images/20220908/1662634965_6319cbd5c189edf418090.png!small?1662634965506)]

在powershell中执行 new-guid获取一个GUID

1662634972_6319cbdc3cf139e4cf982.png!small?1662634972143

打开Windows Terminal的设置,点击左下角的打开JSON文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NSAvjSIz-1691114841401)(https://image.3001.net/images/20220908/1662634977_6319cbe1d6d919109a18e.png!small?1662634977478)]

在JSON配置文件中找到 list属性

添加(YOUR_NEW_GUID替换为之前申请的new-guid)

{

“commandline”: “cmd.exe /k %CMDER_ROOT%\\vendor\\init.bat”,

“guid”: “{YOUR_NEW_GUID}”,

“icon”: “%CMDER_ROOT%\\icons\\cmder.ico”,

“name”: “Cmder”,

“startingDirectory”: “%USERPROFILE%”

},

保存配置文件后就可以通过Windows Terminal开启cmder了

1662634984_6319cbe861a9af52dcda9.png!small?1662634984145

WSL虚拟机的安装与配置

其中Kali linux,Ubuntu 18.04,Ubuntu 20.04,Ubuntu 22.04都可以直接通过Mircosoft Store进行获取。

Windows10 获取 WSL Ubuntu 16.04

Ubuntu 16.04的获取方式为

管理员权限开启Powershell

启用 WSL,执行完毕后重启电脑

PS > Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-
Subsystem-Linux

下载Ubutnu 16.04,本地保存为 Ubuntu.appx数据包

PS > Invoke-WebRequest - Uri https://aka.ms/wsl-ubuntu-1604 - OutFile
Ubuntu.appx - UseBasicParsing

导入ubuntu16

PS > Add-AppxPackage .\Ubuntu.appx

之后可以在开始菜单栏 最新添加中找到新安装的虚拟机

开启虚拟机后会需要输入 用户名 和 创建密码

Installation successful!# Please create a default UNIX user account. The

username does not need to match your Windows username.# For more information
visit: https://aka.ms/wslusers# Enter new UNIX username:

jambolt

Enter new UNIX password:


Retype new UNIX password:


WSL虚拟机的一些特性

在linux shell上可以通知执行linux elf 和 exe

1662634998_6319cbf634c40adafb0ad.png!small?1662634998070

Linux与windows贡献磁盘 通过 /mnt/盘符/******* 来访问windows的文件系统

1662635006_6319cbfe79d18cadfa62a.png!small?1662635006523

wsl虚拟机与

从使用体验来说,速度和性能较于vmware有非常大的提升

WSL 版本升级

为了更好地使用一些Linux的图形化界面,需要将虚拟机从WSL v1 升级到 WSL v2

管理员启动Powershell

PS>Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-
Subsystem-Linux

重启计算机

管理员启动Powershell

1662636139_6319d06bdd70397083747.png!small?1662636139201

PS>dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-
Linux /all /norestart

重启计算机

下载WSL2 KERNEL 并安装 https://aka.ms/wsl2kernel

需要注意自己计算的架构是 X64还是 AMD 64

通过windows terminal下的命令 wsl -l -v 查看当前已安装的WSL虚拟机与版本(截图时所有使用的wsl虚拟机已经升级为 wsl v2)

1662635019_6319cc0b8f440dd852ae1.png!small?1662635019328

WSL 升级的命令为 wsl --set-version NAME 2

例如(wsl --set-version Ubuntu-22.04 2)

升级需要windows 开启如下功能

1662635029_6319cc155ac36123e7d12.png!small?1662635029232

并且需要在BIOS中开启虚拟化支持。

我遇到了 DMA保护 与 BIOS 虚拟化冲突的情况,需要关闭windows DMA保护,开启BIOS虚拟化后,才能进行 WSL2 的升级

通过 win-kex启动 kali的图形化界面

通过wsl安装的kali为最小版本

可以通过apt来安装下列可选项

kali-linux-default

kali-linux-large

kali-linux-everything

先将kali-linux 升级为 WSL2

安装 kali-win-kex

sudo apt install -y kali-win-kex

个人喜欢通过 kex --sl -s 来启动kali图形化界面可以兼容windows的图形化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EveyU9hZ-1691114841406)(https://image.3001.net/images/20220908/1662635042_6319cc2245226cb43144a.png!small?1662635041997)]

WSL kali虚拟机的端口转发

如果遇到msf反弹shell的情况需要对wsl虚拟机进行端口转发

管理员启动windows terminal,并开一个kali的shell

netsh.exe Interface portproxy add v4tov4 listenport=4444 listenaddress=0.0.0.0
connectport=4444 connectaddress=kali_wsl_ip_address

1662635628_6319ce6c1148c7274345f.png!small?1662635627711

配置 ubuntu gnome-terminal 启动

windows上安装 VcXsrv Windows X Server


https://sourceforge.net/projects/vcxsrv/

通过桌面上的 XLanch启动

个人比较喜欢 Multiple windows,可以开启多台虚拟机的图形化应用不冲突。

1662635056_6319cc304ccebf3a6e847.png!small?1662635056082

勾选 Disable access control,不然会出现报错

1662635060_6319cc345cc8782df9b44.png!small?1662635060179

linux安装 gnome-terminal

Sudo apt install gnome-terminal

由于我的ubuntu都安装了 oh my zsh。

我在 ~/.zshrc配置文件中添加了配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UnwzraQq-1691114841409)(https://image.3001.net/images/20220908/1662636195_6319d0a3001a3adf926dc.png!small?1662636194455)]

在windows terminal启动的ubuntu中输入 gnome-terminal

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LveSJ8ot-1691114841410)(https://image.3001.net/images/20220908/1662635071_6319cc3fcb540a98f6786.png!small?1662635071321)]

得到了4个ubuntu版本的gnome-terminal,并且和windows自身的图形化界面没有冲突,非常好用且方便。

1662635077_6319cc45c14ac1cfc0600.png!small?1662635077502

ubuntu 16 pwndbg的安装

对于pwn环境安装的pwntools,LibcSearcher,ROPgadget,one_gadget,ropper不进行过多赘述。

Ubuntu16使用了python3.5,在安装时要选择较早的pwndbg版本进行安装


https://github.com/pwndbg/pwndbg/archive/refs/tags/2019.12.09.zip

1662635084_6319cc4c8a872b8854914.png!small

对于pwn的gdb.attach调试而言,使用 gnome-terminal是比较方便的。

在windows上有一个兼容的gnome-terminal是特别方便的事情

gdb.attach动态调试的效果

1662635142_6319cc86b71c3eff2fcb3.png!small?1662635142384

bg/pwndbg/archive/refs/tags/2019.12.09.zip)

[外链图片转存中…(img-ILpvqugg-1691114841412)]

对于pwn的gdb.attach调试而言,使用 gnome-terminal是比较方便的。

在windows上有一个兼容的gnome-terminal是特别方便的事情

gdb.attach动态调试的效果

[外链图片转存中…(img-aiv0MuEd-1691114841413)]

**## 网络安全学习路线

这是一份网络安全从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PGlngbSg-1691114841413)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

阶段一:基础入门

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5GLYc0YE-1691114841414)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

网络安全导论

渗透测试基础

网络基础

操作系统基础

Web安全基础

数据库基础

编程基础

CTF基础

该阶段学完即可年薪15w+

阶段二:技术进阶(到了这一步你才算入门)

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v3qc8efX-1691114841414)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

弱口令与口令爆破

XSS漏洞

CSRF漏洞

SSRF漏洞

XXE漏洞

SQL注入

任意文件操作漏洞

业务逻辑漏洞

该阶段学完年薪25w+

阶段三:高阶提升

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dv3w3TYr-1691114841415)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

反序列化漏洞

RCE

综合靶场实操项目

内网渗透

流量分析

日志分析

恶意代码分析

应急响应

实战训练

该阶段学完即可年薪30w+

阶段四:蓝队课程

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zXL0FBlZ-1691114841415)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

蓝队基础

蓝队进阶

该部分主攻蓝队的防御,即更容易被大家理解的网络安全工程师。

攻防兼备,年薪收入可以达到40w+

阶段五:面试指南&阶段六:升级内容

img

需要上述路线图对应的网络安全配套视频、源码以及更多网络安全相关书籍&面试题等内容

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安全工作中WSL替代vmware的全套方案 的相关文章

  • 西门子数控机床如何用FTP进行程序传输

    西门子数控机床如何用FTP进行程序传输 前言 做数控机床加工的老铁们应该都会有个频繁动作 就是用U盘或CF卡传程序 虽然比较普遍 而且也没有很不方便 但其实对于管理层来说 程序这个东西其实是失控的 程序文件没有被有效管理和迭代 至于说程序文
  • msprofiler 性能调优命令行实战(口罩识别推理)

    案例介绍 本案例使用口罩识别推理程序作为例子进行演示 硬件平台是华为昇腾310设备 Ascend 310 该口罩识别使用目标检测中SSD模型 检测的结果有两个类别 戴口罩的脸 没带口罩的脸 成功执行推理程序后我们对其进行了推理调优 使推理过
  • Socket网络编程

    一 什么是socket socket在英文词典中是插座的意思 但在网络编程我们把它翻译成套接字 即网络插座 它用于描述地址和端口 是一个通信链的句柄 应用程序通过socket向网络发出请求或者回应 socket编程有三种 1 流式套接字 S
  • 关于电脑软件的一些实用推荐(二)

    大纲 零 前言 壹 系统类 贰 软件类 叁 网站类 肆 其他使用习惯及技巧 写在前面 推荐两个正版软件的网站 1 软购商城 2 麦软网 3 softonic 有收费有免费 贰 软件类 二 视频软件 1 KMplayer 来自韩国的全能影音播
  • XML学习之Xml Schema:六、复杂类型--模型组

    模型组元素 如果一个元素的内容是纯元素内容 该元素的内容只包含子元素 没有字符数据 可以使用模型组来构建纯元素的内容 模型组元素有3种 分别是 sequence choice all sequence 表示序列 sequence组中的所有子
  • 回归方程的拟合优度检验_Eviews系列5

    点击上方蓝字关注我们 这期小统带大家继续学习修正检验 异方差 2 昨天我们文末提到 若多重共线性修正后的模型残差项之间存在异方差 我们该使用什么方法进行修正呢 答案是 加权最小二乘法 我们使用加权最小二乘法进行异方差的修正 得到的结果如上表
  • 数组名退化作一个元素的指针,降级

    写一篇博客方便自己复习 参考网址 https www cnblogs com sanghai archive 2013 11 01 3402258 html 数组名退化为指针 在使用数组时 大多数情况下数组都会自动转换为指向第一个元素的指针

随机推荐

  • Java自定义切面缓存注解如此简单(Redis + SpringAop)

    自定义缓存切面注解 1 展示效果 如果使用这种方式 建议使用切面缓存异常类 如果当前方法缓存失败 也应该执行具体业务逻辑而非报错终止程序 具体参考切面缓存 CacheException 1 1 成功保存到redis效果 第一次Redis没有
  • ReactJS编写的树形表格

    表格使用ReactJs编写的树形表格 表格功能 以树形表格的格式显示数据 每条数据的右击菜单根据这条数据中不同的属性标示 可控制对应的类型是否可以下钻 数据对应的地域下钻之后 点击地域前面的小三角可进行本省份下的地市下钻 reportTre
  • vue 实现课程表甘特图

    1 封装 components
  • 决策树建模实践-构建树、显示、剪枝、处理缺失值和预测

    决策树建模 构建决策树 显示决策树 决策树剪枝 处理缺失值 训练数据和预测数据中的 决策树预测 案例 利用决策树进行分类问题 采用CART决策树 假设已经有一份清洗好的数据 前四列表示属性及其值 最后一列为分类 数据示例 slashdot
  • web.xml配置报The content of element type “web-app“ must match错误解决

    1 问题 配置web xml时报如下错 The content of element type web app must match icon display name description distributable context p
  • windows10配置make命令

    本质上来说windows是没有make命令的 而真正和Linux中make命令有相同作用的是mingw32 make 我们为了使用方便可以直接把mingw32 make改为make 但是如果你在其它的编译软件中想要使用mingw32 mak
  • Redis7高级之缓存双写一致性之更新策略探讨(三)

    1 缓存双写一致性 如果redis中有数据 需要和数据库中的值相同 如果redis中无数据 数据库中的值是最新值 且准备回写redis 缓存按照操作分 只读缓存 读写缓存 同步直写策略 写数据库后也同步写 redis 缓存 缓存中的数据和数
  • 微信远程代码执行漏洞(最新版本利用)-亲测已上线

    目录 POC index html exp js 测试总结 最新版微信利用方式 最新版存在 web安全学习了解 web渗透测试 官网 宣紫科技 POC index html exp js ENABLE LOG true IN WORKER
  • Java如何将String转换成json对象或json数组

    导包
  • 安装MySQL提示cab文件损坏_安装所需的 CAB 文件“Redist.cab”已损坏处理办法

    近日为客户调试sql server 2008时意外的然出现两个报错 结果导致部分功能组件无法安装成功 如下 产品 Microsoft SQL Server 2008 联机丛书 简体中文 错误 1335 此安装所需的 CAB 文件 Redis
  • recvfrom vs2010 debug正常 realse错误10040

    学习socket程序 udp多播发送和接收 其中一个接收recvfrom函数 在debug能正常运行 在release无法运行 总是提示10040错误 查询百度 说是接收缓存区不够 下面是程序代码 void MultiSock RecvPa
  • iOS设备、Icon、LaunchImage、图片分辨率

    摘要 iOS的各种设备的分辨率 以及开发用的Icon LaunchImage的分辨率 文中所有数据均来自网络 及博主个人总结 如有错误 以官方数据为准 iOS设备 iOS设备的屏幕的大小 分辨率以及比例因数 Scale Factor 1 i
  • 4-1单链表逆转

    学习完链表以后 在刷PTA的时候 遇见第一题就卡壳了 真是悲哀 是一道关于单链表逆转的 其实还是很简单的 不过因为搞错了位置 再加上其他函数也是第一次用C写 输出的一直是NULL 就把这段代码敲出来方便大家以后看 4 1 单链表逆转 20分
  • 计算机网络---应用层(http协议)

    目录 一 简单理解序列化和反序列化 1 什么是序列化 反序列化 2 网络版计算器程序 二 HTTP协议 1 认识URL 2 http协议格式 3 http方法及http状态码 4 http的特征 三 简单的http协议程序 在tcp ip五
  • kong添加自定义插件(一)

    api网关kong支持自定义插件 但是如何添加一个自定义的插件 通过admin api 添加一个kong原有的plugin curl命令方式 curl i X POST url http 192 168 74 111 8001 routes
  • 技术人员的赚钱之道-10:程序员会不会成为新时代的无产者?

    曾经是革命者用革命打倒的东西 正是革命者后辈们追逐 推崇的东西 观念不转 思维不变 程序员很可能成为新时代的无产者
  • 构造函数与析构函数不能被继承

    不是所有的函数都能自动地从基类继承到派生类中的 构造函数和析构函数是用来处理对象的创建和析构的 它们只知道对在它们的特殊层次的对象做什么 所以 在整个层次中的所有的构造函数和析构函数都必须被调用 也就是说 构造函数和析构函数不能被继承 子类
  • 帮我随便用java写一个用户登陆接口

    我可以给你提供一些基本的示例代码 你可以使用Java语言来实现用户登录接口 public class Login private String username private String password public Login St
  • Javadoc简单使用教程

    Javadoc深入浅出 前言 Java简介和安装 Java简介 Java环境安装 Javadoc 什么是Javadoc Javadoc使用方法 最简单的例子 Javadoc常用标记 Javadoc规范 实际开发中javadoc的使用 Jav
  • 安全工作中WSL替代vmware的全套方案

    前言 由于我的破thinkpad x1 carbon只有500g的磁盘 在面对所需要用到多台vmware虚拟机 Kali Linux Ubuntu 16 04 Ubuntu 18 04 Ubuntu 20 04 Ubuntu 22 04 时
Powered by Hwhale