Ubuntu基于docker进行渗透测试环境的快速搭建
首先什么是docker?
Docker 是一种容器化技术,它可以将应用程序及其依赖项打包成一个独立的容器,从而实现应用的快速部署、隔离运行和资源高效利用;
安装docker
在命令栏输入下面代码下载docker;
apt-get install docker.io docker-compose
运行后如果报如下图的错误,表明在安装 docker-compose 时,系统无法满足对 python3-compose 包的依赖要求。这是 Ubuntu 系统中常见的包依赖问题。

通常可以通过以下方法解决:
通过官方渠道下载最新的 Docker Compose 二进制文件,避免依赖问题:
1)下载最新版本的docker:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2)添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
3)验证安装,验证是否成功安装
docker-compose --version
若是输出这样的信息则证明安装成功

docker改变镜像源
国外的镜像源不让访问,所以我们可以更改为国内的镜像源:阿里云镜像源
-
获取阿里云专属加速地址
-
登录阿里云容器镜像服务
-
找到镜像加速器 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
-
复制系统分配的专属地址
-
配置 Docker Daemon:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
注意:将https://xxxxxx.mirror.aliyuncs.com替换为你在阿里云获取的专属地址
重启一下Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
最后检查一下Docker服务是否正常运行
docker info
如果 docker改变镜像源的方法不行,仍无法拉取镜像则可以考虑另一中方法:科学上网(如下);
科学上网:docker设置代理
科学上网:配置docker的代理
设置docker代理:创建文件夹以及对应的文件
#创建配置目录
#如果目录不存在,使用以下命令创建:
sudo mkdir -p /etc/systemd/system/docker.service.d#创建代理配置文件
#使用 nano 或 vim 创建并编辑 http-proxy.conf 文件:
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
在文件中添加以下内容(替换为你的代理服务器地址和端口):
按 i 键进行插入:
[Service]Environment="HTTP_PROXY=http://代理服务器IP:代理端口"Environment="HTTPS_PROXY=http://代理服务器IP:代理端口"Environment="NO_PROXY=localhost,127.0.0.1,.example.com" # 不需要代理的地址
然后保存内容:按Esc,之后输入:wq保存退出;
重新加载 systemd 配置并重启 Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
验证配置是否生效
docker info | grep -i proxy
如果输出类似以下内容,则配置成功:
HTTP Proxy: http://192.168.1.111:7897HTTPS Proxy: http://192.168.1.111:7897No Proxy: localhost,127.0.0.1,.example.com
开始尝试拉取镜像:
docker pull nginx
若输出以下信息则说明镜像拉取成功,如果没有成功则可能是 代理设置 或 网络限制 等问题;
root@xuehan-VMware-Virtual-Platform:~# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
3da95a905ed5: Pull complete
6c8e51cf0087: Pull complete
9bbbd7ee45b7: Pull complete
48670a58a68f: Pull complete
ce7132063a56: Pull complete
23e05839d684: Pull complete
ee95256df030: Pull complete
Digest: sha256:93230cd54060f497430c7a120e2347894846a81b6a5dd2110f7362c5423b4abc
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
接下来可以输入下面代码来查看本地镜像:
docker images
会显示刚刚拉取的 nginx 镜像信息(仓库名、标签、ID、大小等)

启动 nginx 容器:
docker run -d -p 80:80 9592f5595f2b
-d:后台运行容器。-p 80:80:将主机的 80 端口映射到容器的 80 端口(nginx 默认监听 80 端口)。
查看一下docker进程:
docker ps

vulhub靶场漏洞搭建
cd / git clone --depth 1 https://github.com/vulhub/vulhub.git#克隆后生成一个文件夹,进入文件夹后,里面有各种漏洞
ls
cd vulhub#例如:选择一个webmin的漏洞进入;
#进入后会看到一个漏洞的一个编号了,使用cd进入编号;进入后会看到一个docker-compose.yml的后缀文件;
#vim 可看到映射的进程号;
vim docker-compose.yml#使用命令:
docker-compose up -d #启动这一个文件;#在网站上输入(https://ip地址:进程号)即可访问页面;