前言;
我的centos7只有yum没有apt-get。一开始用yum去下docker的的东西发现下不了不知道怎么就warning了,当时放弃了准备去在kali上面搭建docker的,但是在2021kali上面搭建的vulfocus不知道怎么启动不了我也都给了4g的运行内存了还是动不了,然后我真的不想在我的本机电脑的kali上搭建vulhub真的没空间了啊,所以还是在centos7上面搭建靶场,
注意本文所使用的为centos7虚拟机搭建
注意本文章最好先看一遍再跟着搭建,我的有些步骤并没有按照先给的步骤来而是遇到问题解决问题。
安装docker以及docker-compose
开始前先给虚拟机分配足够的内存和磁盘空间,否则可能会出现问题或者很卡
首先更新yum源
参考文章: CentOS更换yum源的方法 - Python技术站
sudo su wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache yum update (换了源嘎嘎快) #华为源 # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.huaweicloud.com/repository/conf/CentOS-7-extras.repo #网易源 # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
本来想安装apt-get然后发现centos不允许安装apt-get八嘎我就说怎么安装不上一直报错(下面还有完整版的GPT写的过程更全更好)
在CentOS上安装Docker可以通过yum包管理器来完成。以下是在CentOS上安装Docker的步骤: 1. 打开终端或SSH连接到CentOS服务器。 2. 以root用户身份登录系统。 3. 运行以下命令以安装必要的工具和依赖项: ``` yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 4. 配置Docker的稳定存储库。运行以下命令: ``` yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` 5. 更新yum软件包索引: ``` yum makecache fast ``` 6. 安装Docker: ``` yum install -y docker-ce ``` 7. 启动Docker服务: ``` systemctl start docker ``` 8. 验证Docker是否成功安装并正在运行: ``` docker version ``` 如果成功安装,将显示Docker的版本信息。 9. 若要使非root用户也能运行Docker命令,可以将其添加到docker用户组中。运行以下命令将用户添加到docker组。将`username`替换为你的实际用户名: ``` usermod -aG docker username ``` 10. 退出当前会话并重新登录,以便用户组更改生效。 现在,你已经成功在CentOS上安装并配置了Docker。你可以使用`docker`命令来管理和运行容器。
不得不说人工智能确实吊多了(基本的docker和docker-compose使用以下命令就可以安装完成以及vulhub的搭建,但是建议先不要直接跟着使用先看完我遇到的问问题在着手搭建,比如后面修改源会加快一些靶场的下载)
完整版:
在 CentOS 上下载并安装 Docker 和 Docker Compose,以及使用 Docker Compose 构建 Vulhub 靶场可以按照以下步骤进行: 1. 首先,更新系统并安装必要的软件包: ``` sudo yum update sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 2. 添加 Docker 的官方 GPG 密钥: ``` sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` 3. 安装 Docker 引擎: ``` sudo yum install docker-ce docker-ce-cli containerd.io ``` 4. 启动 Docker,并将其设置为开机自启动: ``` sudo systemctl start docker sudo systemctl enable docker ``` 5.检查 Docker 是否安装成功: ``` docker --version ``` 6. 安装 Docker Compose: ``` sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 7. 添加执行权限: ``` sudo chmod +x /usr/local/bin/docker-compose ``` 8. 检查 Docker Compose 是否安装成功: ``` docker-compose --version (这里没有成功可能是没有添加环境变量里去 使用 ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose) ``` 9. 获取 Vulhub 项目源码: ``` git clone https://github.com/vulhub/vulhub.git (git不到就去官网下压缩包在拖进来一样的) ``` 10. 进入 vulhub 目录: ``` cd vulhub ``` 11. 使用 Docker Compose 构建和启动 Vulhub 靶场: ``` sudo docker-compose up -d ``` 以上命令会下载 Vulhub 靶场所需的镜像并启动相关的容器。 现在,您可以通过浏览器访问 Vulhub 靶场了。 请注意,整个过程可能需要一些时间来下载和安装所需的软件包和镜像。在命令执行期间,请确保您的网络连接正常,并保持耐心等待。 希望这些步骤能帮助到您!如有任何问题,请随时提问。
如果不能git到vulhub的包就直接去官网下载要翻墙的也是。
GitHub - vulhub/vulhub: Pre-Built Vulnerable Environments Based on Docker-Compose
直接下载压缩包(我这里拖不进去虚拟机,后面我使用finalshell给了我的/home/vanihs这个文件夹777权限然后上传搞好了,估计是没有权限)(之前用finalshell传上去的缺了点东西服了,这次确实给了权限可以直接拖进去了)
一些常用的docker命令
查看docker信息:
# 查看docker版本 docker version # 显示docker系统的信息 docker info # 日志信息 docker logs # 故障检查 service docker status # 启动关闭docker sudo service docker start|stop
查看容器信息:
# 查看当前运行的容器 docker ps # 查看全部容器 docker ps -a # 查看全部容器的id和信息 docker ps -a -q # 查看全部容器占用的空间 docker ps -as # 查看一个正在运行容器进程,支持 ps 命令参数 docker top # 查看容器的示例id sudo docker inspect -f '{{.Id}}' [id] # 检查镜像或者容器的参数,默认返回 JSON 格式 docker inspect # 返回 ubuntu:14.04 镜像的 docker 版本 docker inspect --format '{{.DockerVersion}}' ubuntu:14.04 docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ubuntu:14.04
容器操作命令(这里要注意镜像和容器是两个意思,我们一般在网上下了镜像使用docker create 就是在下好的镜像的基础上创建一个容器,和我们的虚拟机一样,使用同一个镜像文件我的可以创建多个虚拟机,所以我们也可以使用image创建多个容器用不同的id区分)
创建删除容器:
# 创建一个容器命名为 test 使用镜像daocloud.io/library/ubuntu docker create -it --name test daocloud.io/library/ubuntu # 创建并启动一个容器 名为 test 使用镜像daocloud.io/library/ubuntu docker run --name test daocloud.io/library/ubuntu # 删除一个容器 docker rm [容器id] # 删除所有容器 docker rm `docker ps -a -q` # 根据Dockerfile 构建 docker build -t [image_name] [Dockerfile_path]
启动停止容器等操作:
docker start|stop|restart [id] # 暂停|恢复 某一容器的所有进程 docker pause|unpause [id] # 杀死一个或多个指定容器进程 docker kill -s KILL [id] # 停止全部运行的容器 docker stop `docker ps -q` # 杀掉全部运行的容器 docker kill -s KILL `docker ps -q`
本地镜像:
# 列出本地所有镜像 docker images # 本地镜像名为 ubuntu 的所有镜像 docker images ubuntu # 查看指定镜像的创建历史 docker history [id] # 本地移除一个或多个指定的镜像 docker rmi # 移除本地全部镜像 docker rmi `docker images -a -q` # 指定镜像保存成 tar 归档文件, docker load 的逆操作 docker save # 将镜像 ubuntu:14.04 保存为 ubuntu14.04.tar 文件 docker save -o ubuntu14.04.tar ubuntu:14.04 # 从 tar 镜像归档中载入镜像, docker save 的逆操作 docker load # 上面命令的意思是将 ubuntu14.04.tar 文件载入镜像中 docker load -i ubuntu14.04.tar docker load < /home/save.tar # 构建自己的镜像 docker build -t <镜像名> <Dockerfile路径> docker build -t xx/gitlab .
熟悉一些操作对搭建靶场的过程会方便许多
上面只列出了一些常见的命令
更多命令可参考这个文章
测试复现hadoop漏洞(下面还有靶场搭建过程这里是为了测试是否搭建成功)
#下的有点久要等等
可能有些需要先编译(漏洞靶场进行编译(此步骤可选)
docker-compose build
运行漏洞靶场
docker-compose up -d (d是挂到后台运行的意思)
我们执行docker-compose up -d后,不要离开当前目录即可,漏洞测试结束后,执行如下命令移除环境:
docker-compose down
ok也是成功启动了靶场但是我使用主机去通过ip加端口无法访问,但是靶场上的浏览器成功了说明靶场没问题
感觉虚拟机好卡可以多给虚拟机分配一些内存
我怀疑问题是防火墙我们安装的是本地靶场可以直接关闭防火墙不需要考虑安不安全(我这里是centos7的)
关闭CentOS7的防火墙方法如下: 命令行界面输入命令“systemctl status firewalld.service”并按下回车键,查看防火墙的状态。 如果在下方出现“active(running)”,说明防火墙已经被打开。 在命令行中输入“systemctl stop firewalld.service”命令,进行关闭防火墙。 然后再使用命令“systemctl status firewalld.service”,在下方出现“inactive(dead)”,说明防火墙已经关闭。 最后在命令行中输入“systemctl disable firewalld.service”命令,即可永久关闭防火墙。
果然成功了
还是再修改一下docker的源否则下载的真的好慢
修改docker的源和docker-compose的源
要将Docker和Docker Compose的源切换到中国国内镜像,可以按照以下步骤进行操作:
- 登录到CentOS 7服务器上并打开终端。
- 首先,备份现有的Docker和Docker Compose配置文件,以便出现问题时可以恢复默认设置。
sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak (我这个上面没有这个文件可以自己创建一个这个文件) sudo cp /usr/local/bin/docker-compose /usr/local/bin/docker-compose.bak
- 修改Docker配置文件 vi daemon.json
sudo vi /etc/docker/daemon.json
- 在文件中添加以下内容:
#这是已近有这个文件的情况下添加这个文件 { "registry-mirrors": ["https://dockerhub.azk8s.cn"] } 如果没有这个添加下面这个 { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" }, "registry-mirrors": [ "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn" ] } #log-driver:指定Docker容器的日志输出驱动程序为json-file。 #log-opts:指定日志驱动选项,设置了日志文件的最大大小和最大文件数。 #registry-mirrors:指定了用于镜像加速的镜像仓库地址。此示例中使用了中国地区常用的两个镜像仓库地址,即 https://registry.docker-cn.com和https://docker.mirrors.ustc.edu.cn。
保存并关闭文件。
- 重启Docker服务使新的配置生效。(如果没有开启docker不需要重启)
sudo systemctl restart docker
- 修改Docker Compose的源,将默认的国外源替换为中国国内的源。
sudo sed -i 's/https:\/\/github.com/https:\/\/hub.fastgit.org/g' /usr/local/bin/docker-compose
- 修改Docker Compose的源,将默认的国外源替换为中国国内的源。
sudo sed -i 's/https:\/\/github.com/https:\/\/hub.fastgit.org/g' /usr/local/bin/docker-compose
- 验证更改是否生效。运行以下命令查看Docker镜像源是否正确:
docker info
在显示的输出中,应该有一个名为Registry Mirrors的节,其中列出了中国国内的镜像源。
上面是一种方式即更改Docker守护进程的配置文件
还有一种方式即使用国内的Docker镜像加速器(这个我后面用了往下看)
和前面一样deamon编辑文件中的 registry-mirrors #这些要自己去网站上注册好像 阿里云加速器: https://[阿里云加速器地址] DaoCloud加速器: https://[DaoCloud加速器地址] 网易蜂巢加速器: https://[网易蜂巢加速器地址] 请根据您所选择的加速器提供的地址进行相应替换。您可以选择其中一个加速器,或者使用多个加速器,以提高下载速度和稳定性。
OK搞好了,最后一步时候报了一个错误原来是没启动网卡吓死我了
![]()
也是比原来快了好多好吧,嘎嘎爽
接昨天继续安装vulfocus
首先遇到的问题是不能使用git clone 克隆源文件,毕竟靶机没有梯子,只能下载zip文件拖进去,结果直接拖进去的的文件不全,又使用finxshell上传上去了这下可以了,然后启动docker (service docker start)不过我好像明明设置了开机自启动来着,接着在vulfocus的目录下(下过来的是有master)使用docker-compose up -d ,这个时候也可以下载不过有点慢最后直接式失败了下载,网不好的原因。。。。。。我寻思还是搞个啥加速器吧
我这里用的是阿里云的加速器,还有其他的几种加速器
要获取阿里云镜像加速器地址,您可以按照以下步骤进行操作:
1. 打开阿里云容器镜像服务官方网站:https://cr.console.aliyun.com。
2. 使用您的阿里云账号登录或注册新账号。
3. 在阿里云容器镜像服务控制台中,选择左侧菜单中的「镜像加速器」。
4. 在镜像加速器页面中,您将找到一个加速器地址列表。选择与您所在地区最接近的加速器地址。
5. 复制所选加速器地址,您可以在终端中执行以下命令来配置 Docker 镜像加速器:
```
echo '{"registry-mirrors": ["https://<加速器地址>"]}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker
```
以上步骤中的 URL 或界面布局可能会随阿里云服务界面的更新而有所变化。如有疑问,建议查阅阿里云镜像服务的文档或寻求阿里云官方的支持。
OK也是直接拿到我的地址(每个人应该是不一样的,他会根据你的物理地址来好像 )
然后修改 vi /etc/docker/daemon.json
添加进去
果然果然直接起飞快了好多哈哈哈哈,几秒就下完了飞快
然后直接访问虚拟机的IP地址加端口,我这里是192.168.1.197:80 因为我之前修改了防火墙我用主机浏览器也可以访问,只要是同一个局域网的都可以(登录的账号和密码默认是admin admin )
。。。我真的服了,有些靶场不使用docker-compose下载镜像来启动。。。。。但大部分还是可以的,不过没关系本来vulhub上面和vulfocus的资源差不多,这边没有用那边的,而且vulfocus有在线靶场的。。。。。
在这上面下载好的镜像也是可以看到的(新下的cve_2020_13925,而且这个3g的没下多久就下好了)
在网站上面启动这个靶场也是成功并且访问靶机的端口也成功了可以进行攻击了
另外关闭靶场环境的时候关闭了这个vulfocus的网站即在这个目录下使用docker-compose down 并不会关闭开启的靶场,还是要ps -a 查看一下再 stop停止它
总结:
直接使用docker搭建这个vulfocus也是一种方法我之前也试过就是在我的kali2021上面 参考文章 【网络安全---vulfocus】安装vulfocus教程_vulfocus安装_网络安全_Aini的博客-CSDN博客 最后的结果是靶场启动不起来也不知道是什么原因,我的内存分配和磁盘也都给了就是启动不起来气死我了。。。。。。
到此全部都搞好了,还没有用这些靶场实战不知道还会不会出什么幺蛾子,等遇到了问题我会在这个下面写上的,这个靶场的搭建也是花了我几天时间毕竟是第一次搭建相关的知识也是学到了不少,OK明天可以开始打靶场了,good拖了好久的是也算是解决了哈哈哈(最后感谢chatgpt没有它估计这个任务完成会非常麻烦)