# 基于Ubuntu16.04 同时部署多道pwn题目
* 该方法仅适用于ubuntu16.04系统,之后想要适配18 20 22 那些,还要继续学习
## 一、首先是安装环境 ubuntu16
* 这个较为简单,如果是租用服务器的话,直接就有配置选择(这里以阿里云为例)
还有就是连接问题 *在csdn 搜索xshell登录阿里云服务器即可* ~~(主要是现在要上课没时间了)~~
* 如果是在用虚拟机进行搭建,也可以去搜索镜像文件,然后进行下载安装
[阿里云镜像开源网站](http://mirrors.aliyun.com/ubuntu-releases/16.04/)
优点:这个有图文操作界面,在之后的配置时会简单点,
缺点:主机就不能关机了,不能携带,而且占用主机的内存会高,导致主机卡顿或者在一段时间内不能使用
* 两种方法都要用到的换源 (加快下载速度)
在Linux系统里面,源文件保存在 | /etc/apt/sources.list |
也就是,只要找到国内源,再把这里面的国外源换掉即可
但是为了保证安全,首先要对文件进行保存 使用
> sudo cp /etc/apt/sources.list sources_backup.list 建立一个备份文件 sources_backup.list
然后使用命令 > sudo vim /etc/apt/sources.list 将文件里面的国外源删掉,然后再用aliyun的源替换,~~(这里只搜到了这个)~~
> #阿里云源
> deb-src http://archive.ubuntu.com/ubuntu xenial main restricted
> deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
> deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe
> deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
> deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe
> deb http://mirrors.aliyun.com/ubuntu/ xenial universe
> deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
> deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
> deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
> deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
> deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
> deb http://archive.canonical.com/ubuntu xenial partner
> deb-src http://archive.canonical.com/ubuntu xenial partner
> deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
> deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe
> deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
> deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
(如果报错,可以使用root权限操作试试)
最后使用
> sudo apt-get update
>
> sudo apt-get -f install
>
> sudo apt-get upgrade
更新完成
**在虚拟机上面,可以有图文操作教程,但是这个可以再云端和虚拟机上面都用,这里就不再赘述了**
## 二、需要开始安装docker环境了
**docker安装,分为两种方法**
* 1.只需要执行一个命令,非常简单,但有时不会成功,
> 官方的自动安装脚本
>
> curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
>
> 国内的自动安装脚本
>
> curl -sSL https://get.daocloud.io/docker | sh
如果安装命令运行没有报错,且使用 **sudo docker --version** 命令后,可以弹出docker的版本信息,那么就是安装成功了
如果报错了,可以按照2 进行操作
* 2.手动慢慢操作,操作麻烦,但是知道哪里出了问题
1.*卸载系统原先的版本,没有的不用卸载*
> sudo apt-get remove docker docker-engine docker.io containerd runc
2.将系统文件进行更新
>sudo apt-get update
3.安装存储库
> apt-get install ca-certificates curl gnupg lsb-release
4.安装证书
> curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
5.写入软件源信息
> sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
6.安装docker
> sudo apt-get install docker-ce docker-ce-cli containerd.io
>
> 如果有问题,可以试着 sudo apt-get update 进行更新一下
7.安装工具
> apt-get -y install apt-transport-https ca-certificates curl software-properties-common
8.重启docker
> service docker restart
9.查看docker信息
> docker version
>
> 或者
>
> sudo docker version
可以看到信息。
附大佬的 [docker介绍]( https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html#autoid-0-0-0)
ok,到这里,docker 装好了之后就是简单的环节了
## 三、安装**docker compose ** 和 **git **
> ```
> apt install docker-compose git
> ```
## 四、将大佬的项目从github克隆下来
> ```
> git clone https://github.com/giantbranch/pwn_deploy_chroot.git
> ```
## 五、使用方法
分为三步
* 将所有要部署的pwn题放入**bin**目录中
* 运行
* > python initialize.py (python2 Ubuntu16版本自带,没有的话也可以安装)
>
> 如果想要修改flag,可以在initialize.py中修改
* 启动容器
* > docker-compose up –build -d
## 六、想要添加题目
需要将initialize.py生成的 pwn.xinetd Dockerfile docker-compose.yml 全部删除,最好将flags.txt 也删除。
然后就和步骤五相同了。
注:如果想修改flag,在修改完initialize.py文件后,也是同样的操作。~~(应该有更简单的,不过先记录到这里吧,之后在进行更新。)~~