pwn环境搭建
pwn环境搭建
一直用的学姐给的pwn虚拟机,插件修修补补总是出点小问题,干脆之间从零开始配一台虚拟机吧,这篇文章用来记录一下配置的过程
版本:Ubuntu 24.04
前置条件
请确保安装好VMware(网上有很多教程,这里就不做演示了)注意最好一次性装好,不然就会出现很多奇奇怪怪的bug
下载Ubuntu 22.04的镜像文件:https://ubuntu.com/download/desktop官网下载即可
前期配置过程可以参考这篇文章[★pwn 22.04环境搭建保姆级教程★_pwn环境搭建-CSDN博客](https://blog.csdn.net/j284886202/article/details/134931709#:~:text=本文从零开始演示了Ubuntu 22.04虚拟机的搭建过程,包括VM和镜像的下载安装,还介绍了可能出现的git clone和pip错误的解决办法,以及工具的安装。 此外,详细说明了vim、窗口、壁纸和终端的美化方法,最后提醒勤用快照,未来会更新到Ubuntu 24.04。 摘要生成于,C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 > 搭建好后的完整环境百度网盘(提取码yxxx))
vmtool
在完成上述操作之后,我们应该已经获得一台Ubuntu虚拟机了但是还缺少方便的与主机交互的功能,我们需要安装一个vmtool使得虚拟机和主机能够共享剪切板,可复制粘贴文字或单个文件
可以选择解压软盘中的vmtool也可以选择安装 open-vm-tools
,只需要命令行操作即可,我选择的是安装 open-vm-tools
终端执行下方指令
1 | sudo apt update |
遇到[Y/N]输Y回车即可
下载完之后关闭虚拟机,打开编辑虚拟机设置,打开选项,开启共享文件夹,客户机隔离中启用拖放和启用复制粘贴都勾上。
再启动虚拟机即可让主机与虚拟机共享剪切版,复制粘贴文件和文字,有时候拖拽还是会有点小问题建议复制粘贴。
在装好vmtool后发现不能将一整个文件夹复制到虚拟机中,很不方便,但是在我的xubuntu上就可以,所以想到了用共享文件夹来解决
共享文件夹
首先在windows主机寻找一个合适的位置创建文件夹,打开属性,点击共享,高级共享,权限,将三个选项全部勾选,然后确定
确定后关闭虚拟机,打开编辑虚拟机设置,选项,共享文件夹,打开总是启用,点击添加,选择我们刚刚创建的文件夹,接着点击下一步、完成即可
添加成功后如下图,会显示我们主机上文件夹的路径
然后点击确定,开启虚拟机,接下来要挂载文件夹
在 Linux 系统中,挂载点需要是一个已存在的目录,可以通过以下命令创建 /mnt/hgfs
目录并挂载共享文件夹:
1 | sudo mkdir -p /mnt/hgfs |
执行完后我们直接搜索该路径就可以看到我们的共享文件夹了
之后想要将文件夹传入虚拟机,直接在主机里粘贴到该文件夹即可
汉化
一开始好像没有中文语言包,也有可能是我没注意找
1 | sudo apt update |
可以执行命令安装一下
然后打开设置找到区域与语言(一开始应该是英文的)
地区格式这里选择汉语然后应用到整个系统
语言这里要把汉语拖到第一个然后应用到整个系统
然后重启就汉化成功了
当然也可以直接在终端操作,但是我还是喜欢图形化(菜菜)
工具安装
vim
1 | sudo apt install vim |
gcc
1 | sudo apt install gcc |
python3-pip
1 | sudo apt install python3-pip |
pipx
1 | sudo apt install pipx |
建议在装工具前建一个pwn文件夹专门来放pwn相关工具,这样会好看一点。
pwntools
1 | pipx install pwntools |
checksec
1 | sudo apt install checksec |
这个checksec是横向显示的我有点用不习惯,就用了之前找的一个版本的checksec,但是找不到网址了只有本地有。
本地的checksec是checksec.sh先给文件添加可执行权限,再创建软链接
1 | # 1. 给脚本添加可执行权限(假设脚本位于当前目录) |
要在checksec.sh存放的目录下运行
随便拿一个测试一下,这个主要是竖着排列的看着舒服一点,有需要的师傅可以联系我。
git
1 | sudo apt install git |
pwndbg
1 | cd ~/ |
在安装时发现pt依赖没装上于是直接用git单独把该依赖克隆到pwndbg的文件夹,之后再运行一次setup.sh就成功安装pwndbg了
ipython
1 | pipx install ipython |
LibcSearcher
1 | cd ~/ |
qemu
1 | sudo apt-get install qemu-user qemu-system |
gdb-multiarch
1 | sudo apt-get install gdb-multiarch |
ROPgadget
1 | sudo apt update |
seccomp-tools
1 | sudo apt install gcc ruby-dev |
patchelf
1 | sudo apt install patchelf |
one_gadget
1 | sudo apt install ruby |
tqdm
1 | sudo apt install python3-tqdm |
cpwn
1 | git clone https://github.com/GeekCmore/cpwn |
目前好像因为pip的原因没装上
ARM软件包
具备ARM交叉编译gcc与ARM程序动态链接库
1 | sudo apt-get install gcc-arm-linux-gnueabi |
MIPS软件包
1 | sudo apt-get install gcc-mips-linux-gnu |