Windows部署WSL开启pwn之旅

不用虚拟机来操作真的太爽了!!还有和vscode的联动,更是妙绝!

目录

前言

一、WSL获取

开启WSL支持

二、各种操作

1.apt 换源

2.更新软件

3.配置SSH服务器(对于pwn来说非必要)

4.WSL访问windows文件

5.安装gdb

6.pwndbg的安装

7.WSL背景设置     ​编辑​编辑

8.vscode联动 

9.zsh以及插件的安装 

10.glibc-all-in-one 

11.patchelf 

12.one-gadget

13.seccomp-tools 

三、成果图 


前言

站在前人的肩膀上

[安利] WSL Linux 子系统,真香!完整实操 - 知乎 (zhihu.com)

pwndbg的安装和gdb使用-CSDN博客

Windows中安装linux子系统(Ubuntu) - 知乎 (zhihu.com)

强势安利:命令行高亮?自动补全? tab手动补全?效率upup?——zsh和oh-my-zsh及其插件:

oh-my-zsh_zzzhang_num_1的博客-CSDN博客


一、WSL获取

在 Microsoft Store中搜索ubuntu,下载你想要的版本,我选的是20.04.6版本

开启WSL支持

使用管理员权限的 Shell 才能安装 WSL。

按 Win+X, 找到 Windows PowerShell (管理员),并复制执行命令。

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

以上命令会激活 WSL 服务,然后需要重启系统

重启之后,Win + R,输入 appwiz.cpl,左上角找到“启动或关闭 Windows 功能”,会看到这个选项处于选中状态。

其实吧,上面的命令就相当于手动去勾选这个功能。
直接命令执行效率可能更高些。

二、各种操作

1.apt 换源

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
$ sudo vim /etc/apt/sources.list
  • 执行下面命令,备份 apt 安装源:
  • vim 编辑 sources.list :
  • 换源,这里用了阿里云源

  • ubuntu更换国内源_ubuntu换源_EmbededCoder的博客-CSDN博客

    #ubuntu 20
    deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
     
    deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
     
    deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
     
    deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
     
    deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

    删除sources原本内容,可以直接敲:dG 就删除全部内容了,然后i切换为输入模式,ctrl+shift+v粘贴,esc后 :wq回车退出。

2.更新软件

        更新软件源中的软件列表

$ sudo apt-get upgrade

        更新软件

$ sudo apt-get update

3.配置SSH服务器(对于pwn来说非必要)

WSL 上的 SSH 服务器没有自动配置,需要手动重新安装,首先可以运行以下命令来检查

$ sudo service ssh stop 
$ sudo /usr/sbin/sshd -d

重新安装 openssh-server 就可以解决问题

$ sudo apt purge openssh-server 
$ sudo apt install openssh-server

然后需要配置 /etc/ssh/sshd_config,用 sudo 权限运行 vim 修改如下三个关键字

  • 记得删除 #

    `Port 22
    #这两行允许了 root 账户和密码登录
    PermitRootLogin yes 
    PasswordAuthentication yes`

        然后记得重启 ssh 服务

$ sudo service ssh restart 
$ sudo service ssh status

4.WSL访问windows文件

在 wsl (Windows 的 Linux 子系统)中,我们可以访问如下路径,就可以看到 Windows 下的文件:

/mnt/c  # C:盘
/mnt/d  # D:盘

5.安装gdb

sudo apt install gdb

6.pwndbg的安装

git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh

然后我们可以查看.gdbinit中的内容,查看用的是peda还是pwndbg,修改该文件即可实现插件的切换

cat .gdbinit

7.WSL背景设置     

什么?你的cmd找不到旁边的+和^?

那就去Microsoft Store下载个terminal吧!界面看着舒服多了(如果你愿意的话) 

8.vscode联动 

下载了vscode,在我们的ubuntu指令窗口中输入

code .

即可联动——我们的exp可以写在这里用vscode运行,爽!  

9.zsh以及插件的安装 

oh-my-zsh_zzzhang_num_1的博客-CSDN博客

这个大佬已经贴心的把过程都搞得及其通俗简单,跟着一步步就可以傻瓜式安装啦!! 

10.glibc-all-in-one 

丰富的libc库,能够download下来对应的libc版本,再配合patchelf,构造和云端同样的环境。对于heap题非常重要!

GitHub - matrix1001/glibc-all-in-one: 🎁A convenient glibc binary and debug file downloader and source code auto builder

11.patchelf 

下载了glibc-all-in-one,肯定还要手动把对应libc版本连接到可执行程序上呀,patchelf工具就是干这个的。

GitHub - NixOS/patchelf: A small utility to modify the dynamic linker and RPATH of ELF executables

12.one-gadget

堆体有时候,可以跳转执行一次,这时候不如试试one-gadget——顾名思义,一个gadget即可getshell,当然有一些限制条件,具体碰碰运气或者主动构造即可。

one_gadget 下载 安装 与使用_obe_gadget-CSDN博客 

13.seccomp-tools 

做沙箱题不可避免的环境检测工具,查看哪些系统调用被禁用/可用 

https://github.com/david942j/seccomp-tools 


三、成果图 


总结

网上的资源很多,站在了巨人的肩膀上。

过程比较简单,具体可以看看大佬们的文章。


2024.3.19更新

增加glibc-all-in-one、patchelf、one-gadget、seccomp-tools

对了,我的环境wsl2-Ubuntu-22.04上述都可行。如果需要wsl2-ubuntu16.04环境,可以去找已弃用的wsl版本,里面可以找到喔。

Windows服务器上安装WSL的步骤与在Windows10电脑上安装略有不同。由于Windows Server没有控制面板,我们需要在PowerShell使用命令来安装WSL。首先,你需要以管理员身份打开PowerShell。你可以通过右键单击开始菜单来打开PowerShell(管理员)窗口。然后,输入以下命令来启用WSL功能:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux。这将启用适用于LinuxWindows子系统功能。完成这些步骤后,你就可以在Windows Server上安装和配置WSL了。请注意,WSL的文件位置在C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs下。通过配置WSL,你可以在Windows Server上运行Linux应用程序和命令行工具。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [在Windows Server2019安装wsl的kali](https://blog.csdn.net/qq_39611230/article/details/108644043)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Windows 安装和配置 WSL(亲测)](https://blog.csdn.net/songlh1234/article/details/109245186)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值