下面就将介绍如何从零搭建一个CTF-pwn环境(由于学习仍在进行,故一些环境如远程执行环境还没有搭建的经历,如今后需要搭建,会在最后进行补充)
可以在ubuntu官方网站上下载最新的长期支持版本:(我下载的是22.04版本)
https://cn.ubuntu.com/download/desktop
下载完成以后把它放在虚拟机工作的文件夹中
然后选择vmware上方工具栏的文件->新建虚拟机,打开新建虚拟机向导。如下:
选择自定义安装,点击下一步。
硬件兼容性不需要改,一般默认选择最新的vmware版本兼容,你的vmware是什么版本就用什么版本,不用修改,直接点击下一步。
选择安装程序光盘映像文件,点击浏览,选择你刚才下载的映像文件,然后点击下一步。
输入全名(这个随便输,想输什么都行),以及你登录虚拟机的用户名和密码。之后点击下一步。
输入虚拟机的名字,将位置浏览设置为你的虚拟机工作目录。
处理器数量选择。如果你的电脑配置很好而且虚拟机也需要一定的计算需要,可以设置多一些,内核数量不变,修改处理器数量。但是总数不能超过你电脑主机的内核数量。
内存大小设置。同样看主机的配置。最好不要超过主机的内存大小,否则虚拟机可能会变慢。对于pwn做题来说4GB一般就足够了。
网络选择。这个网络的选择可以在虚拟机创建之后随时修改,这里简单介绍一下最常用的前两种:桥接网络和NAT。桥接网络如上面所说,直接访问外部以太网,前提是虚拟机要有自己的IP地址,因此桥接网络在使用的时候大多都是勾选“与主机共用IP地址”这个选项(这个选项在创建虚拟机到这一步的时候没有显示,但是可以在上方工具栏虚拟机->设置中找到并勾选,后面再说)。某些学校的校园网可能有接入设备数量限制(笔者学校就是),这个时候虚拟机选择桥接网络可能无法联网,可以考虑使用NAT模式,在这个模式下,主机相当于一个网关,而虚拟机为网关下的机器,与外部以太网连接需要借助主机。这种模式可以有效克服上面说的校园网接入数量限制问题。
因此这里选择默认NAT,最好能够保证开机之后立刻联网呃,因为需要下载一些包,安装完成之后也能改。以默认NAT进行下一步。
IO控制器类型,不用改直接下一步。
磁盘类型也不用改,直接下一步。
磁盘类型不用改,下一步。
磁盘空间设置这里,除了最大磁盘大小之外其他都不要改。为了避免出现磁盘空间不足的问题,笔者这里设置为200GB。这个大小根据自己的物理磁盘空间决定,但是不要太小,建议pwner们不要小于60GB,后面做kernel pwn搭建环境可能很占空间的。
磁盘文件,不用改直接下一步。
上面是最后确认的界面,确定好虚拟机的配置后,点击完成就可以开始创建虚拟机了。
虚拟机日常维护注意事项
在最新的VMware中对虚拟机有一个保护选项,可以在指定时间间隔内保存一个快照,这样在虚拟机崩溃的时候能够快速回档到前两天的快照中,有效减少文件等的损失,而不必每次都手动保存快照。
如上图所示,在虚拟机设置->选项中可以找到自动保护选项,根据你设置的保护间隔和最大自动保护快照数量可以计算出至少需要的磁盘空间,因此需要保证有足够的磁盘空间。
另外,当虚拟机存在快照时,是不能扩充磁盘容量的,因此要想扩充虚拟机的虚拟磁盘,要么在创建虚拟机时就分配足够大小的磁盘空间,要么就只能删除所有的快照后再进行扩充(建议前者,因为有的快照删除特别慢,如果快照多的话可能要等很长时间)
登录进来了,安装完毕
2.以root的身份进入终端
1.ubuntu里面将普通用户切换成超级用户:sudo -i
然后直接输入你虚拟机的密码,就可以使用root的身份了
(执行完sudo -i后你输入的东西不显示,不用管,直接输入然后回车就可以了)
Ubuntu 实现 root身份登录_ubuntu以root身份登录-CSDN博客
3. 安装vim
直接
apt install vim
即可(需要使用管理员的用户进行操作)
成功了
因为这里我不知道如何在UBuntu里面打开终端,所以百度了一下
一:直接右键,然后选择打开终端
二:使用快捷键:ctrl+alt+T
三:在搜索框输入“终端”或者“zhong”,可以看到终端,点击可以打开。
具体看:Ubuntu常用技巧:Ubuntu打开终端的3种方式_ubuntu系统终端怎么打开-CSDN博客
4. 修改软件源
ubuntu自带的软件源是国外的,速度慢有的时候还连不上,于是应修改为国内的镜像。
最下面的两个黄色的那两行代码是我自己贴进去的新源
换源的方法:
sudo vim /etc/apt/sources.list
贴进去自己要用的源
先更新安装包的缓存 sudo apt update
更新下安装的包 sudo apt upgrade
源码链接:Ubuntu 20.04 国内源_ubuntu 20.04 官方源-CSDN博客
换源之后直接输入冒号,然后输入wq,回车即可保存成功
修改完文件之后记得apt update
和apt upgrade
进行更新。
5. 安装sublime-text(非必要,我没有安装)
使用系统自带的gedit没有补全功能,可以在ubuntu应用商店里面搜索sublime-text安装,打开py文件的时候右键选中“Open with other application”就可以使用sublime-text打开了。
6. 安装pwntools
pwntools是pwn最常用的一个python包。
首先需要安装pip:apt install python3-pip
然后安装pwntools:pip install pwntools
7. 安装pwndbg
pwndbg是gdb的插件,帮助我们在做题时进行调试。
首先安装git:apt install git
然后拉取git库:git clone https://github.com/pwndbg/pwndbg
进入pwndbg目录运行bash脚本setup.sh即开始安装
运行gdb下有pwndbg标识即表示安装成功。
......