CTF-Pwn 入门环境搭建

本博文介绍一个简单的pwn入门环境搭建过程,包括VMware虚拟机安装和pwntools库及GDB插件,用于A&D攻防工作室招新。

现在的CTF中的pwn,很多都是在Linux环境中部署的,所以开始学习之前,需要先装好一个Linux虚拟机,虚拟机软件这里推荐使用VMware,操作系统建议使用Ubuntu16.04。以下步骤就行,已经尽可能详细还有将可能遇到的问题也考虑到了一些,如果过程中遇到问题解决不了百度谷歌都行。

安装VMware workstation虚拟机

下载链接:

https://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.5.0-14665864.exe?HashKey=62501637bc75ddb87d959a5bdaa2bd52&ext=.exe&params=%7B%22custnumber%22%3A%22dHR0QGh3cGhlaA%3D%3D%22%2C%22sourcefilesize%22%3A%22541.05+MB%22%2C%22dlgcode%22%3A%22WKST-1550-WIN%22%2C%22languagecode%22%3A%22cn%22%2C%22source%22%3A%22DOWNLOADS%22%2C%22downloadtype%22%3A%22manual%22%2C%22eula%22%3A%22Y%22%2C%22downloaduuid%22%3A%2280933d6a-beff-4137-9e24-de16df9ee10d%22%2C%22purchased%22%3A%22N%22%2C%22dlgtype%22%3A%22Product+Binaries%22%2C%22productversion%22%3A%2215.5.0%22%2C%22productfamily%22%3A%22VMware+Workstation+Pro%22%7D&AuthKey=1572270052_91e832dfe375b939a60fe97f9e07b005&ext=.exe

可用的序列号:

1
2
3
4
5
6
ZC10K-8EF57-084QZ-VXYXE-ZF2XF
UF71K-2TW5J-M88QZ-8WMNT-WKUY4
AZ7MK-44Y1J-H819Z-WMYNC-N7ATF
CU702-DRD1M-H89GP-JFW5E-YL8X6
YY5EA-00XDJ-480RP-35QQV-XY8F6
VA510-23F57-M85PY-7FN7C-MCRG0

安装Ubuntu16.0.4-desktop操作系统

Ubuntu16.04镜像下载地址:

http://releases.ubuntu.com/16.04/ubuntu-16.04.6-desktop-amd64.iso

安装步骤:

s

选择刚才下载好的系统iso镜像,然后下一步

填写用户自定义的配置信息

填写虚拟机系统名称以及安装位置

其他一些配置,按照自己计算机的性能来设置就行

可以自定义硬件,如CPU核心数,内存等,条件允许的话配置可以尽量给高点。网络适配器要选择NAT模式

然后点击完成就开启虚拟机,就开始自动安装了,安装需要一点时间

安装好后可能会提示你更新系统,一定要点Don't upgrade不更新

安装VMware Tools

为了能够在主机和虚拟机之间实现复制粘贴,需要安装VMware Tools.

点击虚拟机,如果安装VMWARE Tools是灰色的无法点击,那么再按接下来的步骤做,如果可以点击就直接跳过接下来这几步。

虚拟机->电源->关机关闭虚拟机系统。进入虚拟机->设置。按如下进行设置

确定之后,重新开虚拟机,一开始会弹几个窗说尝试连接啥啥的,点否就行。

然后点击虚拟机->安装VMware Tools,会弹出下面的窗口,如果没有自动弹出来,可以点击左边的Files图标,自己点开这个目录

在桌面右键新建一个folder目录,自己命名(比如可以命名为vmtools),然后将刚才打开的目录里面的那个VMwareTools-10.3……tar.gz压缩包,复制到新建的目录里

复制过去后,在新建的目录里右键,open in terminal打开终端,输入以下命令(输一些文件名的时候,可以用TAB键自动补齐)

1
2
3
4
5
sudo su      (进入root权限用户态)
输入密码
tar -zxvf ./VMwareTools-10.3.10-13959562.tar.gz (解压)
cd ./vmware-tools-distrib/ (打开解压出来的目录)
./vmware-install.pl (运行安装程序)

开始安装运行程序后,如果第一个询问是问是否要继续安装(默认是no)时,请输入yes继续安装程序。然后后面的全都回车默认就行了,直到安装完成

重新启动虚拟机后,就能在虚拟机和主机之间复制粘贴啦!比如说下面的命令都可以直接复制,然后到虚拟机里面粘贴执行了!

更换国内源

ubuntu自带的apt源是国外的,使用apt安装一些库时会很慢,所以要替换成国内的源,比如这里选择的清华大学的源。

在terminal终端依次输入以下命令

1
2
3
4
5
6
sudo su                     (进入root用户态)

输入用户密码

cp /etc/apt/sources.list /etc/apt/sources.list.bak (备份一个sources.list)
gedit /etc/apt/sources.list (用gedit编辑器打开sources.list)

打开后,将以下内容复制进去,替换掉原来的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

保存退出,终端可能会有warning,忽略即可。

继续输入以下命令

sudo apt-get update 更新源

安装Pwntools库

在终端terminal依次执行以下命令

1
2
3
sudo apt-get install python2.7 python-pip python-dev git libssl-dev libffi-dev build-essential
sudo pip install --upgrade pip
sudo pip install --upgrade pwntools

如果第三步有报错:

按如下操作:

1
sudo gedit /usr/bin/pip

将pip文件里的

1
2
3
from pip import main  
if __name__ == '__main__':
sys.exit(main())

修改为

1
2
3
from pip import __main__ 
if __name__ == '__main__':
sys.exit(__main__._main())

然后继续pip安装pwntools即可

1
sudo pip install --upgrade pwntools

安装好后,进入python命令行检查是否有误,如下图,若from pwn import *没有报错则说明安装成功

安装GDB插件

GDB是linux下的动态调试器,原生的GDB比较难交互使用,一般会安装插件使用。这里我们选用pwndbg这个插件

1
2
3
4
cd ~       (进入用户目录)
git clone https://github.com/pwndbg/pwndbg (从github上克隆目标文件夹到当前目录下)
cd pwndbg (进入pwndbg目录)
./setup.sh (安装)

安装成功后,输入gdb,会是这个界面

如果还是原来的样子。再执行以下命令

1
echo "source ~/pwndbg/gdbinit.py" >> ~/.gdbinit     (将pwndbg的配置脚本写入到.gdbinit配置文件)

Ending

到这里,就配置好一个入门的pwn环境了,周五培训课强烈建议带上电脑来,可以跟着实操。

Just enjoy the game ^.^

0%