记一次工控比赛漏洞挖掘
字数 1411 2025-08-09 13:33:42

工业控制系统(ICS)漏洞挖掘实战教学文档

1. 工业控制系统安全背景

随着"中国制造2025"战略推进,工业控制系统(ICS)从封闭独立走向开放互联,安全风险显著增加。工业控制系统包括SCADA、DCS、PCS、PLC、RTU、IED等关键设备,其安全直接关系到国家关键基础设施安全。

2. 目标系统分析

本次实战目标为AGV小车控制系统,通过WiFi连接,Web控制地址为http://192.168.8.143/

3. 漏洞挖掘方法论

3.1 初始访问测试

  1. 弱口令测试
    • 使用常见工控设备默认凭证尝试登录
    • 示例:admin/admin组合成功登录后台系统
    • 这是典型的中危漏洞(CWE-798:使用硬编码凭证)

3.2 信息泄露漏洞挖掘

  1. API接口分析

    • 使用浏览器开发者工具(F12)抓取网络请求
    • 发现关键API端点:
      • /api/v0/2/missions
      • /api/v0/map/Map202105061426new/data
  2. 未授权访问验证

    • 使用无痕浏览器直接访问上述API
    • 确认接口未实施身份验证(CWE-284:不恰当的访问控制)
    • 泄露内容包括:
      • 用户对地图的操作记录
      • 地图信息坐标数据
  3. 地图文件导出功能

    • 发现导出接口:
      • /api/v0/map/Map202105061426new/export?type=FMS
      • /api/v0/map/Map202105061426new/export?type=OM
    • 导出功能同样存在未授权访问
    • 文件名规律分析:
      • Map202105061426new格式表明可能存在时间戳命名规律
      • 可构造字典进行爆破获取其他地图文件

3.3 高危漏洞挖掘

  1. 用户凭证泄露

    • 发现账户管理接口:/api/v0/accounts
    • 直接返回所有用户账号及密码(CWE-200:信息暴露)
    • 无痕浏览器验证存在未授权访问
  2. 未授权用户创建

    • 分析用户创建请求:
      • 方法:POST /api/v0/account/2
      • 请求示例:
        {
          "id":0,
          "username":"test",
          "passwd":"123456",
          "permission":"20",
          "pincode":"",
          "mission_ids":[]
        }
        
    • 关键发现:
      • 无会话/cookie验证
      • 可直接指定权限级别(如管理员权限)
      • 成功创建高权限账户验证漏洞存在

4. 漏洞利用链构建

  1. 完整攻击路径

    • 无需认证获取系统敏感信息(地图数据、操作记录)
    • 获取所有用户凭证
    • 直接创建管理员账户实现完全控制
  2. 潜在风险

    • 地图数据泄露可能导致物理路径规划被篡改
    • 用户凭证泄露可能横向渗透至其他系统
    • 未授权账户创建可建立持久化后门

5. 修复建议

  1. 访问控制加固

    • 实施基于角色的访问控制(RBAC)
    • 对所有API接口实施身份验证
    • 敏感操作应进行二次验证
  2. 会话管理

    • 实施CSRF防护机制
    • 使用安全的会话管理策略
  3. 敏感数据处理

    • 密码应加密存储(建议使用bcrypt/PBKDF2等算法)
    • 敏感API响应应进行过滤
  4. 输入验证

    • 实施严格的输入验证
    • 对权限参数进行白名单校验

6. 工控安全测试要点总结

  1. 测试重点

    • 未授权访问是工控系统最常见漏洞
    • 弱口令问题普遍存在
    • API接口安全常被忽视
  2. 测试方法论

    • 全面枚举系统功能点
    • 使用代理工具(Burp/Fiddler)分析所有请求
    • 验证每个功能的权限控制
    • 检查敏感数据是否过度暴露
  3. 工控系统特性

    • 更新周期长,漏洞修复慢
    • 默认配置风险高
    • 物理安全影响大

本案例展示了如何通过系统化方法发现工控系统中的关键漏洞,强调了未授权访问和弱认证机制带来的重大风险。

工业控制系统(ICS)漏洞挖掘实战教学文档 1. 工业控制系统安全背景 随着"中国制造2025"战略推进,工业控制系统(ICS)从封闭独立走向开放互联,安全风险显著增加。工业控制系统包括SCADA、DCS、PCS、PLC、RTU、IED等关键设备,其安全直接关系到国家关键基础设施安全。 2. 目标系统分析 本次实战目标为AGV小车控制系统,通过WiFi连接,Web控制地址为 http://192.168.8.143/ 3. 漏洞挖掘方法论 3.1 初始访问测试 弱口令测试 : 使用常见工控设备默认凭证尝试登录 示例:admin/admin组合成功登录后台系统 这是典型的中危漏洞(CWE-798:使用硬编码凭证) 3.2 信息泄露漏洞挖掘 API接口分析 : 使用浏览器开发者工具(F12)抓取网络请求 发现关键API端点: /api/v0/2/missions /api/v0/map/Map202105061426new/data 未授权访问验证 : 使用无痕浏览器直接访问上述API 确认接口未实施身份验证(CWE-284:不恰当的访问控制) 泄露内容包括: 用户对地图的操作记录 地图信息坐标数据 地图文件导出功能 : 发现导出接口: /api/v0/map/Map202105061426new/export?type=FMS /api/v0/map/Map202105061426new/export?type=OM 导出功能同样存在未授权访问 文件名规律分析: Map202105061426new 格式表明可能存在时间戳命名规律 可构造字典进行爆破获取其他地图文件 3.3 高危漏洞挖掘 用户凭证泄露 : 发现账户管理接口: /api/v0/accounts 直接返回所有用户账号及密码(CWE-200:信息暴露) 无痕浏览器验证存在未授权访问 未授权用户创建 : 分析用户创建请求: 方法:POST /api/v0/account/2 请求示例: 关键发现: 无会话/cookie验证 可直接指定权限级别(如管理员权限) 成功创建高权限账户验证漏洞存在 4. 漏洞利用链构建 完整攻击路径 : 无需认证获取系统敏感信息(地图数据、操作记录) 获取所有用户凭证 直接创建管理员账户实现完全控制 潜在风险 : 地图数据泄露可能导致物理路径规划被篡改 用户凭证泄露可能横向渗透至其他系统 未授权账户创建可建立持久化后门 5. 修复建议 访问控制加固 : 实施基于角色的访问控制(RBAC) 对所有API接口实施身份验证 敏感操作应进行二次验证 会话管理 : 实施CSRF防护机制 使用安全的会话管理策略 敏感数据处理 : 密码应加密存储(建议使用bcrypt/PBKDF2等算法) 敏感API响应应进行过滤 输入验证 : 实施严格的输入验证 对权限参数进行白名单校验 6. 工控安全测试要点总结 测试重点 : 未授权访问是工控系统最常见漏洞 弱口令问题普遍存在 API接口安全常被忽视 测试方法论 : 全面枚举系统功能点 使用代理工具(Burp/Fiddler)分析所有请求 验证每个功能的权限控制 检查敏感数据是否过度暴露 工控系统特性 : 更新周期长,漏洞修复慢 默认配置风险高 物理安全影响大 本案例展示了如何通过系统化方法发现工控系统中的关键漏洞,强调了未授权访问和弱认证机制带来的重大风险。