hack the box 之 blunder 靶场练习
字数 1295 2025-08-10 23:41:53
Bludit CMS 渗透测试实战教学文档
1. 目标识别与信息收集
1.1 初始扫描
- 目标仅开放80端口,运行Web服务
- 初步访问显示为博客系统
1.2 目录扫描发现
- 发现README.md文件,确认系统为Bludit CMS
- 发现license文件,但未包含版本信息
- 发现登录页面/admin/login.php
- 发现todo.txt文件,包含重要信息:
- 需要更新CMS(暗示可能存在旧版本漏洞)
- 存在用户"fergus"(潜在用户名)
- 提到"新博客需要图片"(暗示可能有文件上传功能)
2. 漏洞研究与利用
2.1 认证绕过漏洞利用
- 发现Bludit <= 3.9.2存在认证暴力破解防护绕过漏洞
- 准备爆破脚本(两种版本):
脚本1关键功能:
# 使用CSRF token和X-Forwarded-For头绕过防护
headerscontent = {
'User-Agent' : 'Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0',
'Referer' : f"{LoginPage}",
'X-Forwarded-For' : f"{Password}" # 使用密码作为XFF值绕过防护
}
脚本2关键功能:
# 使用随机IP和CSRF token
random_ip=str(random.randint(0,255))+'.'+str(random.randint(0,255))+'.'+str(random.randint(0,255))+'.'+str(random.randint(0,255))
head={'X-Forwarded-For':random_ip,'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'}
2.2 成功获取凭据
- 使用爆破脚本获得有效凭据:
- 用户名: fergus
- 密码: RolandDeschain
3. 初始访问
3.1 使用Metasploit获取shell
- 搜索并利用Bludit相关漏洞模块
- 成功获取初始shell
3.2 系统信息收集
- 查看当前用户权限:低权限
- 发现系统用户:
- root
- shaun
- hugo
- temp
4. 权限提升路径
4.1 查找敏感文件
- 在/bludit-3.10.0a/bl-content/databases目录发现:
- users.php文件包含admin的密码哈希和盐值:
- 哈希: bfcc887f62e36ea019e3295aafb8a3885966e265
- 盐值: 5dde2887e7aca
- 另一个用户密码哈希(未明确说明)
- users.php文件包含admin的密码哈希和盐值:
4.2 横向移动
- 解密获得hugo用户密码
- 成功切换到hugo用户
- 读取第一个flag
4.3 特权提升
sudo -l检查发现hugo用户可无密码执行/bin/bash- 利用CVE-2019-14287漏洞(sudo提权漏洞):
sudo -u#-1 /bin/bash - 成功获取root权限
- 读取第二个flag
5. 关键漏洞总结
-
Bludit认证暴力破解防护绕过:
- 通过操纵X-Forwarded-For头和CSRF token绕过防护
- 影响版本:<= 3.9.2
-
敏感信息泄露:
- todo.txt泄露用户名和系统状态
- users.php文件包含密码哈希和盐值
-
sudo提权漏洞(CVE-2019-14287):
- 允许特定用户通过用户ID-1绕过限制执行root权限命令
6. 防御建议
-
及时更新CMS系统:
- 保持Bludit CMS更新到最新版本
-
强化认证机制:
- 实施多因素认证
- 使用强密码策略
-
文件权限控制:
- 限制对敏感文件(如users.php)的访问
- 避免在可访问目录存放配置文件
-
最小权限原则:
- 审慎分配sudo权限
- 避免授予不必要的/bin/bash执行权限
-
日志监控:
- 监控异常登录尝试
- 记录sudo命令执行
-
输入验证:
- 验证X-Forwarded-For等HTTP头
- 实施CSRF防护机制
本教学文档完整呈现了从信息收集到最终提权的完整渗透测试流程,涵盖了Bludit CMS的多个安全弱点及利用方法,同时提供了相应的防御建议。