攻击者利用通达OA漏洞释放勒索病毒,用户数据遭到加密
字数 1449 2025-08-18 11:39:30

通达OA漏洞分析与防御指南

漏洞概述

2020年3月,通达OA官方披露了一起攻击者利用文件上传和文件包含漏洞释放勒索病毒的安全事件。攻击者通过构造特殊请求,可在未授权情况下上传恶意文件并执行任意代码。

受影响版本

任意文件上传漏洞影响版本

  • 通达OA V11
  • 通达OA 2017
  • 通达OA 2016
  • 通达OA 2015
  • 通达OA 2013增强版
  • 通达OA 2013

任意文件包含漏洞影响版本

  • 通达OA V11

漏洞详情

1. 未授权任意文件上传漏洞

漏洞文件: ispirit/im/upload.php

漏洞原理:

  • 修复前的upload.php文件中,如果URL参数包含P参数,可以绕过auth.php的验证
  • 攻击者可构造带有P参数的请求包,直接进行文件上传而不需要登录认证

修复方式:

  • 取消了include_once "./auth.php";的else判定条件
  • 将选择性验证改为强制验证,确保所有文件上传操作前都执行auth.php验证

2. 任意文件包含漏洞 (仅V11版本)

漏洞文件: ispirit/interface/gateway.php

漏洞原理:

  • 该接口未包含auth.php进行认证,操作不需要登录
  • 文件最后执行include_once $url;,且$url为外部可控参数
  • 只要路径中包含generalispiritmodule之一即可触发文件包含

攻击链分析

攻击者在V11版本中组合利用两个漏洞:

  1. 利用文件上传漏洞上传Webshell
  2. 利用文件包含漏洞执行上传的恶意代码
  3. 最终实现远程代码执行

勒索病毒分析

编写语言: GO语言,未加壳或去符号化

加密算法: RSA+AES组合加密

攻击流程:

  1. 停止MySQL服务以解除文件占用
  2. 使用base64解码RSA加密随机生成的AES公钥
  3. 用公钥加密AES密钥
  4. 将加密后的密钥拼接到勒索信息中
  5. 遍历目录释放勒索信息文件readme_readme_readme.txt
  6. 使用AES算法加密文件

文件加密特征:

  • 不修改原文件后缀,而是在后缀末尾加"1"(如.doc变为.doc1)
  • 加密范围包括办公文档、图片、压缩包、数据库文件等常见格式

勒索信息:

  • 每个加密目录下释放readme_readme_readme.txt
  • 要求支付0.3比特币赎金
  • 目前无公开解密工具

漏洞复现

文件上传漏洞复现

  1. 构造文件上传绕过请求
  2. 成功上传PHP文件到目标服务器

文件包含漏洞复现

  1. 构造攻击数据
  2. 成功访问目标服务器的nginx日志文件

组合利用

  1. 上传Webshell
  2. 通过文件包含执行Webshell
  3. 实现远程代码执行

修复建议

  1. 紧急措施:

    • 立即断开受影响服务器的互联网连接
    • 备份数据并做好异地备份
    • 不要点击任何可疑的"下载OA插件"提示
  2. 补丁更新:

    • 从通达OA官网下载并安装安全补丁
    • 补丁下载地址: http://tongda2000.com/news/673.php
  3. 长期防护:

    • 定期更新系统和应用补丁
    • 实施最小权限原则
    • 部署Web应用防火墙(WAF)
    • 建立完善的备份机制

参考链接

  • 通达OA官方公告: http://www.tongda2000.com/news/673.php
  • FreeBuf原文: https://www.freebuf.com/articles/network/229784.html

本指南基于深信服千里目安全实验室的研究成果整理

通达OA漏洞分析与防御指南 漏洞概述 2020年3月,通达OA官方披露了一起攻击者利用文件上传和文件包含漏洞释放勒索病毒的安全事件。攻击者通过构造特殊请求,可在未授权情况下上传恶意文件并执行任意代码。 受影响版本 任意文件上传漏洞影响版本 通达OA V11 通达OA 2017 通达OA 2016 通达OA 2015 通达OA 2013增强版 通达OA 2013 任意文件包含漏洞影响版本 通达OA V11 漏洞详情 1. 未授权任意文件上传漏洞 漏洞文件 : ispirit/im/upload.php 漏洞原理 : 修复前的 upload.php 文件中,如果URL参数包含 P 参数,可以绕过 auth.php 的验证 攻击者可构造带有 P 参数的请求包,直接进行文件上传而不需要登录认证 修复方式 : 取消了 include_once "./auth.php"; 的else判定条件 将选择性验证改为强制验证,确保所有文件上传操作前都执行 auth.php 验证 2. 任意文件包含漏洞 (仅V11版本) 漏洞文件 : ispirit/interface/gateway.php 漏洞原理 : 该接口未包含 auth.php 进行认证,操作不需要登录 文件最后执行 include_once $url; ,且 $url 为外部可控参数 只要路径中包含 general 、 ispirit 或 module 之一即可触发文件包含 攻击链分析 攻击者在V11版本中组合利用两个漏洞: 利用文件上传漏洞上传Webshell 利用文件包含漏洞执行上传的恶意代码 最终实现远程代码执行 勒索病毒分析 编写语言 : GO语言,未加壳或去符号化 加密算法 : RSA+AES组合加密 攻击流程 : 停止MySQL服务以解除文件占用 使用base64解码RSA加密随机生成的AES公钥 用公钥加密AES密钥 将加密后的密钥拼接到勒索信息中 遍历目录释放勒索信息文件 readme_readme_readme.txt 使用AES算法加密文件 文件加密特征 : 不修改原文件后缀,而是在后缀末尾加"1"(如.doc变为.doc1) 加密范围包括办公文档、图片、压缩包、数据库文件等常见格式 勒索信息 : 每个加密目录下释放 readme_readme_readme.txt 要求支付0.3比特币赎金 目前无公开解密工具 漏洞复现 文件上传漏洞复现 构造文件上传绕过请求 成功上传PHP文件到目标服务器 文件包含漏洞复现 构造攻击数据 成功访问目标服务器的nginx日志文件 组合利用 上传Webshell 通过文件包含执行Webshell 实现远程代码执行 修复建议 紧急措施 : 立即断开受影响服务器的互联网连接 备份数据并做好异地备份 不要点击任何可疑的"下载OA插件"提示 补丁更新 : 从通达OA官网下载并安装安全补丁 补丁下载地址: http://tongda2000.com/news/673.php 长期防护 : 定期更新系统和应用补丁 实施最小权限原则 部署Web应用防火墙(WAF) 建立完善的备份机制 参考链接 通达OA官方公告: http://www.tongda2000.com/news/673.php FreeBuf原文: https://www.freebuf.com/articles/network/229784.html 本指南基于深信服千里目安全实验室的研究成果整理