⼯具使⽤(kalilinux中nmapmsfcsdockerGoby)
docker
⼀.前⾔
其实我个⼈不常使⽤docker,(到⽬前为⽌也只是搞了个xss靶场),在这⾥主要是先总结总结,以后⽤到也就⽅便了。主要分为两部分,⼀个是docker常⽤的⼀些连招操作(希望我以后再⽤时可以⼀套傻⽠操作完成使⽤),另⼀部分也就是docker的⼀些常⽤命令(其实也就是在⽹上以及官⽹复制粘贴的命令)
⼆.docker
简介
docker 是⼀个开源的应⽤容器引擎,让开发者可以打包他们的应⽤以及依赖包到⼀个可移植的容器中,然后发布到任何流⾏的Linux机器上,也可以实现虚拟化,容器是完全使⽤沙箱机制,相互之间不会有任何接⼝,简单来说。就是能轻松的为应⽤创建⼀个轻量级的、可移植的、⾃给⾃⾜的容器(类似虚拟机并且具有⾃⼰的优势)。
三个核⼼
镜像、容器、仓库
镜像
Docker 镜像类似于虚拟机镜像,可以将它理解为⼀个只读的模板。例如,⼀个镜像可以包含⼀个基本的操作系统环境,⾥⾯仅安装了Apache 应⽤程序。可以把它称为⼀个 Apache 镜像。镜像是创建 Docker 容器的基础。通过版本管理和增量的⽂件系统, Docker 提供了⼀套⼗分简单的机制来创建和更新现有的镜像,⽤户甚⾄可以从⽹上下载⼀个已经做好的应⽤镜像,并直接使⽤。
容器
docker容器类似于⼀个轻量级的沙箱,Docker利⽤容器来运⾏和隔离应⽤。容器是从镜像创建的应⽤运⾏实例。可以将其启动、开始、停⽌、删除,⽽这些容器都是彼此相互隔离的、互不可见的。
仓库
docker仓库类似于代码仓库,它是docker集中存放镜像⽂件的场所。需要注意的是仓库(repository),不要将docker仓库和仓库注册服务器(registry)混淆。仓库注册服务器是存放仓库的地⽅,其上往往存放着多个仓库。每个仓库集中存放某⼀类镜像,往往包括多个镜像⽂件,通过不同的标签(tag)来区分。根据所存储的镜像是否公开,docker仓库可以分为公有仓库(public)和私有仓库(Private)两种形式。
⽬前最⼤的公开仓库是官⽅提供的Docker Hub。当然国内的很多云服务商也提供了很多源。例如:阿⾥云、腾讯云、华为云、时速云、⽹易蜂巢等等。
三.连招
靶场安装
这⾥就先写⼀个sqli-labs靶场安装的过程吧,以后还有其他的再补
1. 启动
service docker start
2. 查sqli-labs镜像
docker重启容器命令docker search sqli-labs
当时我直接把安装包拉倒虚拟机上的
3. 安装
docker pull acgpiano/sqli-labs
4. 查看(可看可不看)
docker images
5. 运⾏
docker run -d -p 8081:80 acgpiano/sqli-labs
-d是指在后台运⾏,-p是指指定本地8081端⼝映射到容器的80端⼝,也就可以通过本地8081端⼝可以查看开启的应⽤(相关参数下⾯都有做⼀些总结)。
6. 查看运⾏的容器
docker ps
7. 停⽌容器
docker stop 7405e24ad8ba
stop后名字或id都⾏
8. 停⽌
service docker stop
启动停⽌docker都还有⼀种⽤法,下⾯有写vulhub安装及启动
1. 下载安装包,解压
wget  github/vulhub/vulhub/archive/master.zip unzip  master.zip
2. 启动docker
建议使⽤root权限进⾏操作,直接启动的话要密码啥的,我⾃⼰反正不记得了su - root
service docker start
3. cd到⽂件夹⾥
cd /home/kali/vulhub-master
ls后就可以看到全部可配置的漏洞了
3. cd到对应⽂件中
以hadoop为例
cd hadoop
cd unauthorized-yarn
4. 创建并查看端⼝
docker-compose up -d
docker ps
第⼀次创建可能会下载,之后就直接弄好了,为什么直接docker-compose up
5. 访问