☰
如何从零搭建一个专属渗透测试环境(Kali + 靶场 + 代理全流程)|保姆级附全部命令
2026/10/19 20:12:28 网站建设 项目流程

你是不是也这样:想入门渗透测试,第一步就卡在了"搭环境"上——VMware 装完蓝屏、Kali 更新源慢到怀疑人生、靶场 Docker 起不来、Burp 抓包一直提示证书错误……

网上的教程东一块西一块,要么只讲 Kali 安装,要么只讲 Burp 配置,从来没有人把"虚拟机 + Kali + 靶场 + 代理 + 验证"这条完整链路一次性讲透。

这篇文章,我把自己踩过的所有坑全部填平,给你一份从零到一、可直接复制执行的渗透测试环境搭建全流程。跟着做,2 小时内拥有一套属于自己的练功房。

建议先点赞收藏,搭环境时对着一步步敲,少走弯路。


一、准备工作:选对工具,少踩一半坑

1.1 虚拟机软件怎么选
虚拟机软件优点缺点适合人群
VMware Workstation Pro性能好、快照功能强、兼容性最佳收费(个人非商用免费)绝大多数人首选
VirtualBox完全免费、开源性能略逊、部分硬件兼容性差预算有限/喜欢开源
Hyper-VWindows 自带、无需额外安装配置复杂、与 VMware 冲突高级用户/Windows Server

新手推荐:VMware Workstation Pro(个人非商用可免费使用,官网注册即可下载)。

1.2 硬件配置建议
配置项最低要求推荐配置说明
内存8GB16GB+Kali 占 4GB,靶场占 2-4GB,宿主机还要留余量
硬盘100GB 可用256GB SSD虚拟机文件 + 靶场镜像 + 工具,SSD 体验天差地别
CPU4 核8 核+虚拟化技术(VT-x/AMD-V)必须在 BIOS 中开启
网络稳定宽带—下载 Kali 镜像和 Docker 镜像需要网络

关键检查:开机进 BIOS,确认 Intel VT-x 或 AMD-V 已开启。没开虚拟化,虚拟机卡到根本没法用。

1.3 整体环境架构
组件作用部署位置默认 IP/端口
Kali Linux渗透测试主系统,工具全家桶虚拟机192.168.x.x(NAT 模式)
Docker容器引擎,用于一键起靶场Kali 内部—
DVWAWeb 漏洞练习靶场Docker 容器127.0.0.1:80
Pikachu中文 Web 漏洞靶场Docker 容器127.0.0.1:8080
Vulhub真实 CVE 复现环境集合Docker 容器组按漏洞不同
Burp Suite抓包改包代理工具Kali 内置127.0.0.1:8080
Firefox/Chrome测试浏览器,配置代理Kali 内置—

二、Kali Linux 安装与初始化

2.1 下载 Kali 镜像

去 Kali 官网下载最新版 ISO 镜像:

https://www.kali.org/get-kali/#kali-installer

选择Kali Linux 64-Bit (Installer),文件约 4GB。下载慢的话用国内镜像源:

# 清华大学镜像 https://mirrors.tuna.tsinghua.edu.cn/kali-images/ # 中科大镜像 https://mirrors.ustc.edu.cn/kali-images/
2.2 VMware 中创建虚拟机

关键配置项一览:

配置项推荐值说明
客户机操作系统Linux → Debian 11.x 64位Kali 基于 Debian
内存4096MB(4GB)最低 2GB,推荐 4GB+
处理器2 核开启"虚拟化 Intel VT-x"
硬盘60GB,单文件存储动态分配即可
网络适配器NAT共享宿主机 IP,能上网
USB 控制器USB 3.1兼容外接无线网卡

网络模式选择:新手用NAT 模式最省心(虚拟机通过宿主机上网,安全隔离)。后续做内网渗透实验时再切换到"仅主机模式"或自定义网段。

2.3 安装过程中的关键选项
安装步骤选择说明
语言中文(简体)新手友好
主机名kali默认即可
域名留空—
用户名/密码自定义,记牢别用弱口令
磁盘分区guided - 使用整个磁盘新手别搞 LVM,简单直接
软件选择默认全部勾选Xfce 桌面 + 全部工具
GRUB 安装是,安装到 /dev/sda别选错磁盘
2.4 换国内源(装完第一件事)

Kali 默认源在国外,apt update能卡到你怀疑人生。换清华源:

# 1. 备份原源文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 2. 写入清华源(kali-rolling 分支) echo "deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib" | sudo tee /etc/apt/sources.list echo "deb-src http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib" | sudo tee -a /etc/apt/sources.list # 3. 更新并升级 sudo apt update && sudo apt upgrade -y # 4. 清理无用包 sudo apt autoremove -y

国内源对照表:

镜像站sources.list 地址
清华大学http://mirrors.tuna.tsinghua.edu.cn/kali
中科大http://mirrors.ustc.edu.cn/kali
阿里云http://mirrors.aliyun.com/kali
浙江大学http://mirrors.zju.edu.cn/kali
2.5 安装常用补充工具

Kali 自带工具已经很全,但以下几个建议额外装上:

# 安装 Docker(靶场必备) sudo apt install -y docker.io docker-compose sudo systemctl enable docker --now sudo usermod -aG docker $USER # 把当前用户加入 docker 组,免 sudo # 执行完重新登录或 newgrp docker 生效 # 安装 Git(拉取靶场和工具) sudo apt install -y git # 安装中文输入法(可选) sudo apt install -y fcitx fcitx-googlepinyin

Docker 换国内镜像加速(拉取靶场镜像快 10 倍):

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json << 'EOF' { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://dockerproxy.com", "https://docker.mirrors.ustc.edu.cn" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker docker info | grep -A5 "Registry Mirrors" # 验证是否生效

三、靶场搭建:你的专属练功房

3.1 本地靶场总览
靶场覆盖漏洞难度启动方式端口
DVWAWeb 漏洞全家桶入门Docker80
PikachuWeb 漏洞(中文)入门Docker8080
Sqli-labsSQL 注入专项入门-进阶Docker8081
Upload-labs文件上传专项入门Docker8082
Vulhub真实 CVE 复现进阶Docker Compose按漏洞
Vulfocus漏洞复现聚合进阶Docker8083
3.2 一键拉起 DVWA(最经典入门靶场)
# 拉取并启动 DVWA docker run -d --name dvwa -p 80:80 vulnerables/web-dvwa # 验证 docker ps | grep dvwa

启动后浏览器访问http://127.0.0.1,默认账号admin/password,登录后点击底部Create / Reset Database初始化数据库。

DVWA 难度调节:

难度说明建议
Low完全无防护,漏洞直给新手先打这个,理解原理
Medium有基础过滤,可绕过掌握原理后挑战
High过滤更严格,需要技巧进阶练习
Impossible理论上不可利用学习正确的防御写法
3.3 一键拉起 Pikachu(中文友好靶场)
docker run -d --name pikachu -p 8080:80 area39/pikachu

访问http://127.0.0.1:8080,全中文界面,漏洞分类清晰,特别适合国内新手。

3.4 专项靶场:SQL 注入 + 文件上传
# SQLi-labs(80+ 关注入练习) docker run -d --name sqli-labs -p 8081:80 acgpiano/sqli-labs # Upload-labs(上传绕过专项) docker run -d --name upload-labs -p 8082:80 c0ny1/upload-labs
3.5 Vulhub:真实 CVE 复现环境

Vulhub 是目前最全的漏洞复现环境集合,基于 Docker Compose,每个漏洞一个目录,一键启动。

# 克隆 Vulhub git clone https://github.com/vulhub/vulhub.git cd vulhub # 以 phpMyAdmin CVE-2016-5734 为例 cd phpmyadmin/CVE-2016-5734 docker compose up -d # 查看启动的容器和端口 docker compose ps # 用完销毁(释放资源) docker compose down -v

Vulhub 常用漏洞分类速查:

分类代表漏洞对应目录
Web 中间件Apache Log4j2、Nginx 解析漏洞log4j/、nginx/
数据库MySQL 提权、Redis 未授权mysql/、redis/
框架ThinkPHP RCE、Spring Cloudthinkphp/、spring/
CMSWordPress、Discuz、PHPCMSwordpress/、discuz/
运维工具Jenkins、GitLab、Confluencejenkins/、gitlab/
3.6 靶场管理常用命令
操作命令
查看运行中的容器docker ps
查看所有容器(含停止的)docker ps -a
停止某个容器docker stop <容器名或ID>
启动已停止的容器docker start <容器名或ID>
删除容器docker rm -f <容器名或ID>
查看容器日志docker logs <容器名或ID>
进入容器内部docker exec -it <容器名或ID> /bin/bash
一键停止所有容器docker stop $(docker ps -q)

四、代理配置:Burp Suite 抓包全流程

Burp Suite 是 Web 渗透的核心工具,Kali 已内置。抓包的本质是:浏览器 → Burp 代理 → 目标服务器,所有流量经过 Burp 时可以拦截、修改、重放。

4.1 代理架构说明
环节地址作用
浏览器配置代理指向 127.0.0.1:8080发送请求
Burp Proxy 监听器127.0.0.1:8080拦截浏览器流量
Burp 引擎内部修改/重放/扫描请求
目标服务器靶场地址(127.0.0.1:80)接收请求并响应
4.2 Burp 监听器配置

启动 Burp Suite(Kali 菜单 → Web 应用程序 → burpsuite),用临时项目启动:

配置步骤操作说明
1. 进入 Proxy → Options确认 Proxy Listeners默认已有 127.0.0.1:8080
2. 检查监听器状态Running 列打勾灰色说明端口被占用,换端口
3. 确认 Intercept 状态Proxy → Intercept → Intercept is on开启拦截,请求会暂停等你操作
4. 可选:绑定所有接口Add → Bind to port 8080 → All interfaces手机/其他设备抓包时需要

端口冲突排查:如果 8080 被占用(比如 Pikachu 靶场也用了 8080),把 Burp 监听器改成 8081 或其他空闲端口,浏览器代理也要同步改。

4.3 浏览器代理配置

推荐用Firefox(Kali 自带,代理配置独立,不影响系统)。

配置步骤操作路径
1. 打开 Firefox 设置右上角菜单 → 设置
2. 搜索"代理"网络设置 → 设置
3. 选择手动代理手动代理配置
4. 填写 HTTP 代理127.0.0.1,端口 8080
5. 勾选"也用于 HTTPS"勾选此项,HTTPS 流量也走代理
6. 清空不代理列表删除"不使用代理的地址"里的 127.0.0.1
7. 保存确定

关键坑点:Firefox 默认把127.0.0.1和localhost加入了"不使用代理"列表,导致访问本地靶场时不走 Burp。必须删掉这两个地址,否则抓不到本地靶场的包!

4.4 HTTPS 证书安装(抓 HTTPS 的关键)

不装证书,访问 HTTPS 网站会报"您的连接不是私密连接"。Burp 作为中间人,需要它的根证书被浏览器信任。

# 1. 确保 Burp 已启动且监听器在 127.0.0.1:8080 # 2. 浏览器访问 http://burp (Burp 的证书下载页) # 3. 点击 "CA Certificate" 下载 cacert.der # 4. Firefox 设置 → 隐私与安全 → 证书 → 查看证书 # 5. 证书机构 → 导入 → 选择下载的 cacert.der # 6. 勾选"信任此 CA 以识别网站" → 确定

证书安装验证清单:

验证项预期结果
访问https://www.baidu.com正常打开,无证书警告
Burp → Intercept 开启百度请求被拦截,能看到明文
Forward 放行请求页面正常加载
HTTP 历史记录Proxy → HTTP history 有记录
4.5 抓包测试(验证整条链路)

用 DVWA 做一次完整抓包测试:

# 1. 确认 DVWA 在运行 docker ps | grep dvwa # 2. 确认 Burp 监听器在运行 # Burp → Proxy → Options → 127.0.0.1:8080 状态 Running # 3. 确认浏览器代理已配置 # Firefox → 网络设置 → 手动代理 127.0.0.1:8080 # 4. 浏览器访问 http://127.0.0.1 # 5. Burp → Intercept 应该拦截到请求,点击 Forward 放行 # 6. 登录 DVWA(admin/password),观察 Burp 拦截到 POST 请求 # 7. Proxy → HTTP history 能看到所有请求记录

抓包链路验证表:

检查点正常表现异常排查
浏览器能打开靶场页面正常加载检查靶场容器是否运行、端口是否正确
Burp 能拦截请求Intercept 显示请求内容检查浏览器代理设置、Burp 监听器端口
HTTPS 无警告正常打开 HTTPS 网站重新安装 Burp CA 证书
Forward 后页面响应页面正常加载检查靶场是否正常、网络是否通
HTTP history 有记录能看到历史请求检查代理是否生效、是否被"不代理列表"排除

五、环境整体验证:确认练功房就绪

5.1 一键验证脚本

把下面这段保存为check_env.sh,运行后自动检查所有组件:

#!/bin/bash echo "========== 渗透测试环境验证 ==========" # 检查 Kali 版本 echo -n "[1] Kali 版本: " grep "VERSION=" /etc/os-release | head -1 | cut -d'"' -f2 # 检查 Docker echo -n "[2] Docker 状态: " systemctl is-active docker # 检查 DVWA echo -n "[3] DVWA 靶场: " docker ps --format '{{.Names}}' | grep -q dvwa && echo "运行中 (http://127.0.0.1)" || echo "未启动" # 检查 Pikachu echo -n "[4] Pikachu 靶场: " docker ps --format '{{.Names}}' | grep -q pikachu && echo "运行中 (http://127.0.0.1:8080)" || echo "未启动" # 检查 Burp 端口(需手动启动 Burp) echo -n "[5] Burp 代理端口 8080: " ss -tlnp | grep -q ':8080' && echo "被占用(Burp 或其他服务)" || echo "空闲(请启动 Burp)" # 检查 Vulhub echo -n "[6] Vulhub 目录: " [ -d ~/vulhub ] && echo "已克隆 (~/vulhub)" || echo "未克隆" echo "========== 验证完成 =========="

运行方式:

chmod +x check_env.sh ./check_env.sh
5.2 环境就绪标准
组件就绪标准
Kali 系统能正常启动、apt update 成功、中文显示正常
Dockerdocker ps无报错、当前用户免 sudo
DVWA浏览器访问 127.0.0.1 能打开登录页
Pikachu浏览器访问 127.0.0.1:8080 能打开
Burp启动后 8080 端口监听、浏览器代理后能拦截请求
HTTPS 证书访问 HTTPS 网站无证书警告
Vulhub任意漏洞目录docker compose up -d能成功启动

全部达标,你的专属渗透测试练功房就正式建成了。


六、常见问题排查(踩坑合集)

问题现象可能原因解决方案
虚拟机启动蓝屏/黑屏BIOS 未开启虚拟化重启进 BIOS,开启 Intel VT-x / AMD-V
apt update报错或极慢源在国外/源配置错误换国内源,检查 sources.list 格式
Docker 启动失败服务未启用/权限不足sudo systemctl enable docker --now,用户加入 docker 组
docker pull超时未配置镜像加速配置 daemon.json 国内镜像源
靶场容器启动后访问不了端口映射错误/容器内服务未起docker logs <容器名>查看日志,docker ps确认端口映射
Burp 抓不到本地靶场的包浏览器"不代理列表"含 127.0.0.1删除不代理列表里的 127.0.0.1 和 localhost
HTTPS 网站报证书错误Burp CA 证书未安装/未信任重新下载 cacert.der 并导入 Firefox 证书机构
Burp 端口 8080 被占用其他服务用了 8080Burp 换端口,或 `ss -tlnp
虚拟机无法上网网络模式配置错误切换为 NAT 模式,检查 VMware 服务是否启动
Kali 中文显示方块未装中文字体sudo apt install -y fonts-wqy-microhei
复制粘贴虚拟机和宿主机不通VMware Tools 未安装sudo apt install -y open-vm-tools-desktop,重启
Vulhubdocker compose命令不存在旧版 Docker 用 docker-compose用docker-compose up -d(带横杠)或升级 Docker

七、下一步学习路线

环境搭好了,别让它吃灰。按这个顺序练:

阶段内容对应靶场/工具预计周期
第 1 周HTTP 协议基础 + Burp 抓包改包DVWA (Low) + Burp1 周
第 2-3 周SQL 注入原理与手工注入Sqli-labs + Burp + SQLMap2 周
第 4 周XSS / CSRF / 文件上传漏洞DVWA + Pikachu + Upload-labs1 周
第 5-6 周SSRF / XXE / 反序列化 / 逻辑漏洞Pikachu + Vulhub 对应漏洞2 周
第 7-8 周综合靶场实战 + 写渗透报告DVWA (High) + Vulhub 任意 CVE2 周
持续CTF 刷题 + SRC 挖洞BUUCTF / 补天 / 漏洞盒子长期

尾言

搭环境是渗透测试的第一步,也是最容易劝退的一步。很多人卡在这一步就放弃了,觉得"连环境都搭不起来,我可能不适合学安全"。

但说实话,搭环境跟天赋无关,只跟耐心有关。照着这篇文章一步步敲,遇到问题对照第六章排查表,2 小时内一定能搭好。

环境搭好之后,今晚就做一件事:打开 Burp,拦截一次 DVWA 的登录请求,把用户名改成别的,Forward 放行,看看会发生什么。

就从这一次抓包开始。


最后

网络安全需要学习那些知识

网络安全零基础入门学习路线&规划

初级
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个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!

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

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

8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。

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

视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

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

要学习网安其实不难,难的是坚持和相信自己,我的经验是既然已经选定网安你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。

机会属于有准备的人,这是一个实力的时代。人和人之间的差距不在于智商,而在于如何利用业余时间,只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需努力,剩下的交给时间!

这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询