靶场搭建过程
Docker为何物?
-
官方是这样说的:Docker是一个开源的应用容器引擎,Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux继器上,也可以实现虚拟化。
-
在我理解其实就是轻量级的虚拟机,它没有了那好看的图形管理系统等甚至只需要一个服务就可以实现虚拟化!
镜像和容器
- 镜像和容器的关系就好比是类和对象,容器只是镜像的一个实例化对象,Docker镜像是用于创捷Docker容器的模板。
如何使用docker呢?
安装docker
sudo apt install docker-ce
sudo apt install docker-compose
便于操作我们直接换root模式
su root
如果没有设置root密码请按照下面步骤
sudo passwd root
# 修改好密码之后再次进入
su root
拉取镜像
docker pull ubuntu
使用该镜像启动容器
docker run -it ubuntu /bin/bash
- 启动后直接进入了该容器的终端
参数说明:
- -i: 交互式操作。
- -t: 终端。
- ubuntu: ubuntu 镜像。
- /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
此时已经在该容器的终端了
其他的命令
docker images # 查看所有的镜像
docker ps # 查看启动的容器
docker ps -a # 查看所有容器
docker start 容器ID # 启动容器
docker stop 容器ID # 停止容器
dockers restart 容器ID # 重启容器
docker rm 容器ID # 删除容器
docker rmi 镜像name # 删除镜像
docker attach 容器ID # 进入容器 (退出时会使容器停止)
docker exec 容器ID # 进入容器 (退出时不会使容器停止)
docker commit 容器ID # 根据容器的更改创建新镜像
使用docker和CTFd搭建靶场
- 首先先把git下载下来
sudo apt git
- 再下载CTFd
git clone https://github.com/CTFd/CTFd.git
- 下载下来之后,
cd CTFd # 进入目录docker-compose up -d # 记得先拿root权限
- 经过耐心等待之后访问127.0.0.1发现CTFd已经部署好了,经过注册后如下:
接下来我们使用docker容器搭建web应用程序,再使用端口映射将容器映射到不同端口上即可成功搭建靶场
- For example:
docker run -d -it -p 2333:80 ubuntu # docker容器的80端口映射到主机的2333端口docker exec -it 容器ID /bin/bash# 进入终端后service apache2 status # 查看服务是否开启service apache2 start # 开启服务service apache2 stop # 关闭服务
- -P :是容器内部端口随机映射到主机的高端口。
- -p : 是容器内部端口绑定到指定的主机端口。
PuTTY远程SSH
- 今天把之前的Windows Server重置为了Ubuntu 20.04 LTS ,结果发现不能直接使用mstsc直接连接,只能远程SSH,突然感觉不香了
下载地址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- 参数举例说明如下:
- Host Name(or IP address):公网 IP
- Port:轻量应用服务器的连接端口,必须设置为22
- Connect type:选择 “SSH”
- Saved Sessions:填写会话名称,例如 test
配置 “Host Name” 后,再配置 “Saved Sessions” 并保存,则后续使用时您可直接双击 “Saved Sessions” 下保存的会话名称即可登录服务器
- 单击【Open】,进入 “PuTTY” 的运行界面
- 剩余操作都是一样的,最后成果