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
    • 另一个用户密码哈希(未明确说明)

4.2 横向移动

  • 解密获得hugo用户密码
  • 成功切换到hugo用户
  • 读取第一个flag

4.3 特权提升

  • sudo -l检查发现hugo用户可无密码执行/bin/bash
  • 利用CVE-2019-14287漏洞(sudo提权漏洞):
    sudo -u#-1 /bin/bash
    
  • 成功获取root权限
  • 读取第二个flag

5. 关键漏洞总结

  1. Bludit认证暴力破解防护绕过

    • 通过操纵X-Forwarded-For头和CSRF token绕过防护
    • 影响版本:<= 3.9.2
  2. 敏感信息泄露

    • todo.txt泄露用户名和系统状态
    • users.php文件包含密码哈希和盐值
  3. sudo提权漏洞(CVE-2019-14287)

    • 允许特定用户通过用户ID-1绕过限制执行root权限命令

6. 防御建议

  1. 及时更新CMS系统

    • 保持Bludit CMS更新到最新版本
  2. 强化认证机制

    • 实施多因素认证
    • 使用强密码策略
  3. 文件权限控制

    • 限制对敏感文件(如users.php)的访问
    • 避免在可访问目录存放配置文件
  4. 最小权限原则

    • 审慎分配sudo权限
    • 避免授予不必要的/bin/bash执行权限
  5. 日志监控

    • 监控异常登录尝试
    • 记录sudo命令执行
  6. 输入验证

    • 验证X-Forwarded-For等HTTP头
    • 实施CSRF防护机制

本教学文档完整呈现了从信息收集到最终提权的完整渗透测试流程,涵盖了Bludit CMS的多个安全弱点及利用方法,同时提供了相应的防御建议。

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关键功能: 脚本2关键功能: 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 另一个用户密码哈希(未明确说明) 4.2 横向移动 解密获得hugo用户密码 成功切换到hugo用户 读取第一个flag 4.3 特权提升 sudo -l 检查发现hugo用户可无密码执行 /bin/bash 利用CVE-2019-14287漏洞(sudo提权漏洞): 成功获取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的多个安全弱点及利用方法,同时提供了相应的防御建议。