0x00 前言
又是一年,翻了翻之前写的文章发现,上次写文章还是在上次。一年中遇到各种问题,还是菜,怎么办呢,菜就多练,所以选择Vulhub长长见识。本来以为能很顺利的进入到漏洞复现阶段,结果在安装Vulhub时遇到一个又一个问题,在网上也没有找到解决方法,特此记录一下。愿能帮助到遇到同样问题的师傅们。
0x01 Ubuntu 换源
一开始用的是Ubuntu 24.04,按流程走到拉取漏洞镜像的时候开始报错,一开始以为是Ubuntu版本的问题,于是换成Ubuntu 22.04。换完版本之后发现拉取镜像的时候仍然遇到报错问题,因此分析和Ubuntu版本无关。
1.1Ubuntu 24.04换源
24版的Ubuntu换源和22版有些区别,特此记录一下。
备份原文件
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
编辑ubuntu.sources文件
sudo nano /etc/apt/sources.list.d/ubuntu.sources
更改源(截止写文档日期可用)
# 阿里云
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
安装vim(nano也可以编辑,但是还是习惯vim)
sudo apt install vim -y
1.2 Ubuntu 22.04换源
使用的系统是Ubuntu 22.04版本,Ubuntu 24.04也适用,由于前文以为是Ubuntu版本问题,解决后发现与系统版本无关。
Ubuntu 22.04版本换源(师傅们应该已经很熟悉了,但是还记录一下)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
换源
sudo nano /etc/apt/sources.list
使用的源(截止写文档日期可用,可以先试试,不行再找其它源)
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
0x02 安装Docker 和 Vulhub
终于可以进入正题了,一步一步按文档流程走。
新系统先安装curl
sudo apt install curl -y
安装Docker
sudo curl -s https://get.docker.com/ | sh
启动Docker服务
sudo systemctl start docker
下载Vulhub
git clone --depth 1 https://github.com/vulhub/vulhub
2.1.1 踩坑1(版本不兼容)
这坑一下就来了,问题是正常安装之后应该就是进入Vulhub启动相关的漏洞进行愉快的复现,但是现在一点都不愉快。
譬如:用CVE-2017-10271举例
正常cd进入该漏洞下,使用命令就可以拉取镜像进行复现。但是,拉取镜像之后报错:

排除 -d 参数发现:

于是百度找不到相关案例,只好问AI,AI说是因为原有的docker-compose 版本和现有的docker不兼容。
先看一下是不是compose v2
sudo docker compose version 2>/dev/null || echo "Compose V2未安装"

果然。。。。。。
删除原有的docker-compose
sudo apt remove docker-compose
安装新的docker-compose(安装时候踩的坑不记录了,就是拉取资源失败,加上--fix-missing)
sudo apt install docker-compose-plugin --fix-missing

现在docker compose可以使用了。
2.1.2 踩坑2(docker 源不通)
刚翻过了几座山,又降住了几个魔,魑魅魍魉怎么它就这么多?

疯狂的执行命令之后遇到的各种报错,基本上都指向了网络连接问题。其实早就换源了,在尝试了各种docker源之后,终于找到了还可以使用的。
sudo vim /etc/docker/daemon.json
先建立docker源文档,然后将下方的源粘贴进去。
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.imgdb.de",
"https://docker-0.unsee.tech",
"https://docker.hlmirror.com",
"https://docker.1ms.run",
"https://func.ink",
"https://lispy.org",
"https://docker.xiaogenban1993.com"
]
}

再尝试拉取镜像。
sudo docker compose up -d

终于正常了。
sudo docker ps
查看环境的端口

查看docker IP

本机验证

环境已经启动了。我记得这个漏洞的路径应该是/console。

攻击机访问环境。

嘿嘿!开心!记得结束时删除镜像哦!
sudo docker compose down -v
0x03 总结
其实挺感谢这次机会的,坎坎坷坷的路程,对docker有了更深的认识,总的来讲,这一周没白费。小声讲,早上做梦梦见好使了,有时候可能就是有预兆吧。希望能帮助到有同样困扰的师傅们,也祝师傅们在靶场里学到更多的东西。