5分钟搭建Kali+Metasploitable2+DVWA渗透测试环境与Burp Suite代理配置实战

📅 2026/7/5 4:13:02
5分钟搭建Kali+Metasploitable2+DVWA渗透测试环境与Burp Suite代理配置实战
1. 项目概述为什么需要这个“5分钟”环境如果你刚开始接触网络安全或者想找一个能随时拿来练手、验证想法的渗透测试环境那么“Kali Linux Metasploitable2 DVWA”这个组合几乎就是为你量身定做的“新手村”和“练功房”。我见过太多新手卡在环境搭建这一步虚拟机网络不通、服务起不来、代理配不对折腾一两天还没摸到漏洞的边热情就被消磨殆尽了。这个指南的目的就是帮你绕过这些坑用最直接、最可靠的方法在5分钟左右的时间里把一个功能完整、包含经典Web漏洞DVWA的靶场环境跑起来并且把流量代理到Burp Suite这个“黑客显微镜”下让你能清晰地看到每一次请求和响应真正开始学习攻击与防御。简单来说这个环境能让你零成本实战所有组件都是免费且开源的你只需要一台性能还不错的电脑。高度可控且安全靶场运行在你本地的虚拟网络中随便你怎么“搞破坏”都不会影响到真实世界。经典漏洞全覆盖DVWADamn Vulnerable Web Application内置了SQL注入、XSS、文件上传、命令执行等十多种Web安全漏洞并且分为低、中、高、不可能四个安全等级是学习漏洞原理和渗透手法的绝佳教材。工具链无缝衔接Kali Linux是渗透测试的“瑞士军刀”Burp Suite是Web安全测试的“行业标准”。这个环境让你能直接使用最专业的工具在最合适的靶场上进行练习。整个流程的核心思路非常清晰用VMware或VirtualBox创建两个虚拟机一个装攻击机Kali Linux一个装靶机Metasploitable2它已经预装了DVWA。然后通过简单的网络配置让它们能互相通信最后在Kali上配置浏览器代理将所有Web流量导向Burp Suite进行拦截和修改。下面我们就来拆解每一个步骤背后的“为什么”和“怎么做”。2. 环境整体设计与核心组件解析2.1 组件选型为什么是它们三个Kali Linux这不是一个普通的Linux发行版。它由Offensive Security团队维护预装了超过600个渗透测试和安全审计工具从信息收集、漏洞分析到密码破解、无线攻击应有尽有。对于新手而言最大的好处是“开箱即用”你不需要再费劲去一个个安装配置Nmap、sqlmap、Burp Suite社区版等工具。选择它作为攻击机能让你把精力集中在学习漏洞利用本身而不是环境配置上。Metasploitable2这是一个故意设计成充满漏洞的Linux虚拟机镜像由Metasploit框架的创建者Rapid7公司发布。它不仅仅是一个Web靶场还包含了脆弱的SSH、FTP、SMB等服务。但对我们当前的目标而言它的核心价值在于预装了DVWA、Mutillidae等多个Web漏洞练习环境。这意味着你下载一个镜像启动后靶场服务就已经在运行了省去了在Linux上配置LAMPLinuxApacheMySQLPHP环境的复杂过程。这是实现“5分钟搭建”的关键。DVWA (Damn Vulnerable Web Application)这是一个用PHP/MySQL编写的、专门用于安全教学和训练的Web应用。它的“脆弱”是刻意的代码中包含了未经过滤或过滤不严的常见漏洞。它的界面非常友好允许你动态调整每个漏洞模块的安全等级Low, Medium, High, Impossible让你能循序渐进地学习从最基础的漏洞利用到学习如何绕过越来越严格的防护措施。Burp Suite在Web渗透测试中直接使用浏览器发出的请求往往是“黑盒”的。Burp Suite作为一个拦截代理服务器能让你看到浏览器和服务器之间传输的所有HTTP/HTTPS流量并且可以暂停、查看、修改这些请求后再转发。这就好比给你的攻击过程加了一个“慢动作回放”和“参数编辑器”对于理解漏洞触发条件、构造攻击载荷至关重要。社区版对个人学习和练习完全免费功能足够强大。2.2 网络架构设计让攻击机和靶机“对话”虚拟机网络模式的选择直接决定了你的Kali能否“打中”Metasploitable2。这里我们强烈推荐使用“Host-only”仅主机网络。为什么是Host-only隔离与安全Host-only模式会创建一个完全独立的虚拟网络这个网络只包含你的宿主机你的物理电脑和其中的虚拟机。虚拟机无法访问外部的真实互联网外网也无法访问它们。这保证了你的渗透实验不会意外影响到你的家庭或公司网络绝对安全。稳定的内网IP在此模式下虚拟机通常会从虚拟DHCP服务器获得一个固定的IP段例如VMware的192.168.xx.xx。这意味着每次启动虚拟机它的IP地址变化不大或完全固定你不需要每次都去查询靶机的IP。通信简单直接攻击机Kali和靶机Metasploitable2处于同一个虚拟子网内它们之间的网络通信就像在同一个局域网里的两台电脑一样没有NAT转换的复杂性延迟极低非常适合本地测试。与NAT模式的区别NAT模式虽然能让虚拟机方便地上网但虚拟机对于宿主机所在的网络是“隐藏”的。其他虚拟机想直接通过IP访问它有时需要额外的端口转发配置对新手不够友好。而“桥接”模式会让虚拟机获得一个和你物理机同网段的真实IP这在家用网络可能没问题但在公司等有网络管理的环境中可能会引发IP冲突或安全警报。操作意图在VMware或VirtualBox中为Kali和Metasploitable2两台虚拟机都选择“Host-only”网络适配器。通常虚拟化软件会默认创建一个名为“VMnet1”VMware或“vboxnet0”VirtualBox的Host-only网络将两台虚拟机都接入这个网络即可。3. 实操过程从零到一的详细步骤3.1 第一步虚拟机准备与启动下载镜像Kali Linux前往Kali官网下载适用于VMware或VirtualBox的预构建虚拟机镜像.ova或.vmdk格式。这是最快的方式避免了安装过程。Metasploitable2由于官方下载源可能较慢建议搜索可靠的第三方镜像源如国内高校或技术社区提供的备份。下载后得到一个压缩包解压后是一系列虚拟机文件。导入与网络配置打开VMware Workstation或VirtualBox。对于Kali的.ova文件使用“文件”-“打开”直接导入。对于Metasploitable2的解压文件通常通过“创建新虚拟机”-“使用现有虚拟磁盘”的方式添加。关键步骤分别选中两台虚拟机进入“设置”-“网络”将“网络适配器”模式更改为“仅主机模式”。确保它们连接的是同一个Host-only网络例如都是VMnet1。启动与获取IP先启动Metasploitable2靶机。它的启动过程是自动的你会看到一个登录界面。默认用户名和密码通常是msfadmin/msfadmin。登录后在终端输入ifconfig或ip addr show命令查看eth0网卡的IP地址记下来例如192.168.1.102。这个IP就是你的靶场地址。接着启动Kali Linux攻击机。默认用户名和密码是kali/kali。同样使用ip addr show命令查看它的IP例如192.168.1.101。连通性测试 在Kali的终端里使用ping命令测试是否能通靶机ping 192.168.1.102。如果能看到连续的回复reply说明网络配置成功。如果不行检查两台虚拟机的防火墙是否关闭Metasploitable2默认关闭以及网络适配器设置是否正确。注意首次启动Kali建议先运行sudo apt update sudo apt upgrade -y更新系统但这不是搭建靶场的必须步骤可以稍后进行。如果遇到更新慢的问题这就是常说的“Kali换源”场景需要将软件源替换为国内镜像如阿里云、清华源具体命令可搜索“Kali换源教程”。3.2 第二步访问与配置DVWA靶场访问DVWA在Kali Linux自带的Firefox浏览器中输入靶机的IP地址和DVWA的路径http://192.168.1.102/dvwa/。你应该能看到DVWA的登录页面。登录与初始化默认用户名admin默认密码password。首次登录你可能会看到一个红色的提示“Database Setup”或“连接数据库错误”。这是因为DVWA需要连接MySQL数据库。点击页面中的“Create / Reset Database”按钮。DVWA会自动运行一个脚本创建所需的数据库和表。完成后页面会自动刷新。配置安全等级登录成功后点击左侧菜单的“DVWA Security”。在这里你可以为所有漏洞模块统一设置安全等级。强烈建议初学者从“Low”开始。这个级别几乎没有任何防护能让你最直观地看到漏洞是如何被触发的。随着技能提升再逐步挑战“Medium”和“High”。3.3 第三步Burp Suite代理配置——关键的“流量镜像”这是将你的攻击行为“可视化”的核心步骤。目标是让Kali Linux上的浏览器流量先经过Burp Suite再发往靶机。启动Burp Suite在Kali中可以在终端输入burpsuite启动或者在应用菜单里找到它。启动后Burp会询问是否加载临时项目或创建新项目选择“Temporary project”临时项目即可。默认情况下Burp的代理监听在127.0.0.1:8080。配置浏览器代理打开Firefox进入“设置”-“网络设置”。滚动到最底部选择“手动代理配置”。HTTP代理和SSL代理都填写127.0.0.1端口填写8080。最关键的一步在“不代理”的文本框里确保没有填写localhost或127.0.0.1。如果你之前配置过其他代理这里可能会有残留必须清空。否则你对本地服务的请求将不会经过Burp。勾选“同时使用此代理进行DNS查询”。安装Burp的CA证书用于HTTPS拦截虽然DVWA默认是HTTP但很多现代靶场和真实网站都使用HTTPS。为了能拦截和解密HTTPS流量需要在浏览器中安装Burp Suite的CA证书。在浏览器中访问http://burp或http://127.0.0.1:8080点击右上角的“CA Certificate”链接下载证书文件cacert.der。在Firefox设置中搜索“证书”进入“查看证书”-“证书机构”-“导入”选择刚才下载的文件勾选“信任此CA以标识网站”确定即可。验证代理是否生效确保Burp Suite的“Proxy”标签页下“Intercept”是“Off”状态如果是“On”它会拦截所有请求导致页面卡住。在Firefox中访问任何一个HTTP网站比如http://192.168.1.102/dvwa/。切换到Burp点击“Proxy”-“HTTP history”。你应该能看到刚刚访问DVWA页面的所有HTTP请求记录。点击任意一条可以在右侧看到请求的原始内容和服务器的响应。测试拦截将“Intercept”开关切换到“On”然后在浏览器中刷新DVWA页面。你会发现页面加载卡住了。此时Burp的“Intercept”标签页会显示被拦截的请求你可以查看或修改它然后点击“Forward”放行页面才会继续加载。实操心得很多新手在这里会卡住表现为浏览器无法访问任何页面。请按以下顺序排查① 检查Burp是否真的在运行② 检查浏览器代理的IP和端口是否与Burp监听的一致默认127.0.0.1:8080③ 检查“不代理”列表是否清空④ 尝试关闭Kali的防火墙sudo ufw disable。另外如果你使用WSL2运行Kali工具会遇到“检测到localhost代理配置但未镜像到WSL”的问题这是因为WSL2的网络模式NAT与Windows主机不同。解决方案是在WSL2的Kali中将代理设置为Windows主机的IP通过cat /etc/resolv.conf查看nameserver通常是172.x.x.1而不是127.0.0.1。4. 核心环节利用Burp Suite进行首次渗透测试以SQL注入为例现在环境已经就绪工具也已联动。让我们以DVWA的“SQL Injection”模块为例进行一次完整的、带有流量分析的攻击演练感受一下整个工作流。4.1 信息收集与漏洞点探测在DVWA左侧菜单将安全等级设为“Low”然后点击“SQL Injection”。页面上有一个简单的用户ID输入框。这是一个典型的“通过用户输入改变数据库查询”的场景。正常测试输入1点击提交。页面显示了用户ID为1的用户信息Admin...。观察URL发现参数是通过GET方式传递的?id1SubmitSubmit。4.2 使用Burp Suite拦截与修改请求打开Burp Suite的“Intercept”开关确保其为“On”状态。回到浏览器在DVWA的SQL注入页面输入一个单引号‘然后点击提交。此时浏览器会卡住因为请求被Burp拦截了。你会在Burp的拦截窗口看到完整的HTTP GET请求其中包含GET /dvwa/vulnerabilities/sqli/?id‘SubmitSubmit HTTP/1.1。这就是我们进行攻击的“操作台”。我们可以直接在这个窗口里修改请求。4.3 构造并发送攻击载荷我们的目的是探测是否存在SQL注入漏洞。一个经典的探测载荷是1‘ or ’1‘’1。在Burp的拦截窗口中找到id参数后面的值将其从‘修改为1‘ or ’1‘’1。点击“Forward”按钮将这个修改后的请求发送给服务器。切换到浏览器观察页面变化。如果页面没有报错而是显示了所有用户的信息或者与输入1时不同的结果那么几乎可以肯定存在SQL注入漏洞。因为修改后的SQL语句逻辑变成了“选择ID为1或者11永真的用户”导致查询了所有数据。4.4 使用Repeater模块进行深入测试手动修改拦截的请求虽然直观但效率低。Burp的“Repeater”模块是进行反复测试的神器。在Burp的“Proxy”-“HTTP history”中找到你刚刚发送的那个正常请求id1。右键点击该请求选择“Send to Repeater”。切换到“Repeater”标签页。现在你可以在这个独立的窗口里随意修改请求参数并反复点击“Send”按钮观察右侧的服务器响应而不会影响浏览器的正常会话。尝试发送以下载荷并观察响应内容的差异id1‘ and 11 --注释掉后续SQL测试逻辑真id1‘ and 12 --测试逻辑假id1‘ order by 1 --逐步增加数字猜测查询的列数直到报错id1‘ union select 1database() --联合查询获取当前数据库名通过对比“真”和“假”条件返回页面的不同以及“order by”报错时的列数你可以一步步推断出后端SQL语句的结构为后续的数据窃取如爆表名、列名、数据奠定基础。这个过程就是手工SQL注入的核心。5. 常见问题与排查技巧实录即使按照步骤操作你也可能会遇到一些问题。这里记录了我带新手过程中最高频的几个“坑”及其解决方案。5.1 网络问题Ping不通或无法访问症状Kali里ping不通Metasploitable2的IP或者浏览器无法访问http://[靶机IP]/dvwa。排查思路确认IP地址分别在两台虚拟机里用ip addr确认IP。确保它们在同一网段如都是192.168.1.x。如果一台是192.168.1.101另一台是192.168.56.102那肯定不通。检查虚拟网络编辑器VMware特有打开VMware的“编辑”-“虚拟网络编辑器”。查看“VMnet1”Host-only的子网地址。确保两台虚拟机的IP都在这个子网内。例如如果VMnet1的子网是192.168.10.0那么虚拟机的IP就应该是192.168.10.x。检查防火墙Metasploitable2默认防火墙是关闭的。但Kali Linux可能默认开启了ufw。在Kali终端运行sudo ufw status。如果状态是active可以暂时禁用sudo ufw disable。练习环境可禁用生产环境切勿重启网络服务有时候虚拟网卡需要重启。在Metasploitable2中可以尝试sudo /etc/init.d/networking restart。5.2 Burp Suite代理问题浏览器无流量或无法上网症状配置代理后浏览器打不开任何网页Burp的HTTP history里也没有记录。排查思路监听端口确认Burp Suite正在运行且默认监听在127.0.0.1:8080。你可以在Burp的“Proxy”-“Options”里查看。浏览器代理设置这是最常出错的地方。反复核对Firefox的代理设置IP是否为127.0.0.1端口是否为8080“不代理”列表是否为空。系统代理冲突Kali系统本身可能设置了全局代理。检查环境变量在终端输入echo $http_proxy和echo $https_proxy。如果有输出可能会覆盖浏览器设置。可以尝试用unset http_proxy https_proxy命令清除或者确保其值与Burp监听地址一致。WSL2特殊问题如果你在Windows的WSL2中运行Kali工具链浏览器在Windows上那么代理地址不能是127.0.0.1。需要找到WSL2中分配给Windows主机的IP在WSL2终端执行cat /etc/resolv.conf看nameserver后的IP通常是172.x.x.1。然后在Windows浏览器的代理设置中填入这个IP和Burp的监听端口如8080。5.3 DVWA自身问题数据库连接错误或页面空白症状访问DVWA出现红色数据库错误或点击“Create / Reset Database”没反应。排查思路服务是否运行在Metasploitable2终端检查Apache和MySQL服务是否运行。sudo service apache2 statussudo service mysql status如果没运行使用sudo service apache2 start和sudo service mysql start启动。文件权限极少数情况下DVWA的配置文件权限可能有问题。可以尝试sudo chmod -R 755 /var/www/html/dvwa/。重新初始化尝试手动重置数据库。用浏览器访问http://[靶机IP]/dvwa/setup.php点击页面底部的“Create / Reset Database”链接。如果页面空白可能是PHP执行错误查看Apache错误日志sudo tail -f /var/log/apache2/error.log。5.4 性能与使用技巧虚拟机卡顿给虚拟机分配足够的内存Kali建议至少4GBMetasploitable2给2GB即可和处理器核心2核。关闭虚拟机的3D图形加速通常能提升性能。Burp卡顿或内存不足Burp Suite很吃内存。可以在启动时增加JVM内存编辑Burp的启动脚本如/usr/bin/burpsuite找到Java命令添加-Xmx4g参数例如分配4GB内存。对于大型扫描任务及时清理HTTP history。靶场扩展Metasploitable2不止有DVWA。你还可以访问http://[靶机IP]/mutillidae(另一个Web靶场)http://[靶机IP]/tikiwiki等。用nmap -sV [靶机IP]扫描一下会发现更多开放的脆弱服务如21/FTP 22/SSH这些都是绝佳的学习资源。搭建这个环境只是第一步就像木匠准备好了他的工作台和工具。真正的技艺在于如何使用这些工具去雕刻、去创造。DVWA的每一个漏洞模块都是一个精心设计的谜题。从Low级别的“一眼看穿”到High级别的“绞尽脑汁”这个过程正是你思维从脚本小子走向安全工程师的蜕变之路。多利用Burp Suite的Repeater、Intruder用于爆破、Scanner社区版功能有限模块结合Kali中的sqlmap、nikto等命令行工具进行辅助对比手工与自动化的差异思考每一种防护手段如输入过滤、预处理语句、WAF的原理和绕过方法。这个小小的虚拟环境足以支撑你完成Web渗透测试的入门到进阶。