Tag: RCE

如何有效遏制针对通达 OA 的漏洞利用活动

前言

假设你是网络安全建设或防御负责人,相信针对通达 OA 的渗透测试一定是使你提心吊胆、夜不能寐且辗转反侧的原因之一。

在此篇文章中,我们将给出可以遏制针对通达 OA 进行漏洞利用的策略,及时发现并降低它可能给终端安全带来的风险。

关于通达 OA

通达 OA(Office Anywhere),是一款适用于企事业单位的通用型网络办公软件,是北京通达信科科技有限公司旗下产品之一。

北京通达信科科技有限公司隶属于中国兵器工业信息中心,简称通达信科。是一支以协同管理软件研发与实施、服务与咨询为主营业务的高科技团队,是国内协同管理软件行业里一家央企单位,中国协同管理软件的领军企业。

漏洞公开情况

为了更好了解产品的自身安全问题,通过对百度搜索信息的公开检索,我们调查了自 2020 年 1 月到 2023 年 6 月,有关通达 OA 的全部漏洞公开情况:

  • 2020 年 3 月
    1. 未授权文件上传漏洞
    2. 未授权文件包含漏洞
  • 2020 年 4 月
    1. 未授权任意用户伪造漏洞(CNVD-2020-25050)
  • 2020 年 8 月
    1. 未授权 SQL 注入漏洞
    2. 未授权任意文件删除漏洞(CNVD-2021-14827)
  • 2020 年 9 月
    1. 后台任意文件上传漏洞(CNVD-2020-57815)
    2. 后台 SQL 注入漏洞
  • 2021 年 3 月
    1. 任意在线用户登录凭据窃取漏洞
  • 2021 年 7 月
    1. 后台 SSRF 漏洞
  • 2022 年 2 月
    1. 后台 SQL 注入漏洞
  • 2022 年 4 月
    1. 未授权任意文件上传漏洞
  • 2022 年 7 月
    1. 未授权任意文件上传漏洞
    2. 后台任意文件上传漏洞
  • 2022 年 11 月
    1. 任意文件上传漏洞

上述 14 个漏洞均允许攻击者完全的控制受影响目标系统,全部为高危漏洞,影响范围极大。

利用方式分析

通达 OA 安装时,会以 SYSTEM 权限向宿主系统部署并启动以下主要组件:

  • MySQL:提供数据存储功能
  • Redis:提供缓存功能
  • Nginx:提供网站功能
  • PHP-CGI:提供 PHP 代码执行功能

主要组件运行关系如下:

结合历史漏洞类型和组件运行关系,我们总结的攻击者通用操作如下:

  1. 如果可以进行未授权的文件上传,且上传后的文件扩展名可控,则直接部署 PHP WebShell。
  2. 如果可以进行未授权的文件上传,但后缀名被限制且无法绕过,则上传带有后门 PHP 代码的图片或其他文件。
  3. 如果可以进行未授权的文件包含(include),则包含带有后门 PHP 代码的图片或其他文件(如日志文件),继而部署 PHP WebShell。
  4. 如果可以进行未授权的 SQL 注入漏洞利用,则利用 MySQL 在网站目录中部署 PHP WebShell 或执行系统命令。
  5. 如果可以得到认证后相关 API 的调用权限(登陆后),则利用登陆后相关漏洞。
  6. 如果存在后台 SQL 漏洞,利用方式参考 4。
  7. 如果存在后台文件上传类漏洞,利用方式参考 1、2、3。
  8. 如果后台存在 SSRF 漏洞,则利用 redis 在网站目录中部署 PHP WebShell。

由于通达 OA 的主要组件默认以 SYSTEM 权限运行,所以,攻击者在获得 PHP 任意代码执行的方式(如 WebShell)后,目标系统就已经完全沦陷,攻击者可能以 SYSTEM 权限进行任何后续操作,包括但不限于系统命令执行、可疑二进制文件上传/运行、窃取系统敏感凭据、部署勒索病毒、搭建机密网络隧道和任何针对内部网络的恶意活动。

不要过于担心,虽然这些漏洞利用和后续操作看起来很可怕,但它们产生的系统行为特征非常明显,我们可以把所有相关行为抽象成以下几种:

  1. 写入 PHP 脚本文件
  2. 写入可执行文件
  3. 执行了常用黑客命令
  4. 产生了不寻常的网络连接

相关进程包括:php-cgi.exe、mysqld.exe 和 redis-server64.exe。

这些行为看起来似乎与通达 OA 产品没有任何关系,因为它们完全是通用的渗透测试行为。

检测与防御

通过复杂之眼 EDR 提供的 MEQL 语法,根据上述行为,我们编写了以下示例策略:

(EventType IN ("File Data Write", "File Data Modification") AND
FileExt IN ("php", "php5", "phtml")
OR
EventType = "Network Establish" AND NetworkFlow = "OUT" AND
NetworkRemotePort IN ("445", "135", "139", "3389", "22", "88")) AND
ProcessName IN ("php-cgi.exe", "mysqld.exe", "redis-server64.exe")
OR
EventType = "Process Creation" AND
(ProcessName IN ("cmd.exe", "powershell.exe", "pwsh.exe") OR
ProcessName IN ("whoami.exe", "systeminfo.exe", "ipconfig.exe",
"netstat.exe", "certutil.exe")) AND
ProcessParentName IN ("php-cgi.exe", "mysqld.exe", "redis-server64.exe")

为了证实策略的有效性,我们在一台 Windows Server 2019 服务器上部署了通达 OA V11.2 与复杂之眼 EDR 客户端。

部署完成后,使用上述提到的 2020 年 4 月公开的漏洞,模拟攻击者对这个服务器系统进行渗透测试。

  1. 使用公开的利用程序一键上传 PHP WebShell

  2. 通过 PHP WebShell 执行系统命令,如 ipconfig 和 whoami 等。

从漏洞利用的结果来看,名为 test.php 的 PHP WebShell 被成功部署,但没有命令的执行结果,表明系统命令并没有成功执行,这似乎对渗透测试人员来说不是一个好迹象。

回到复杂之眼 EDR 后台,我们可以观察到目标系统产生了警报,并向安全人员发送了邮件提醒。

  • 安全警报邮件

  • 检测仪表盘

  • 威胁细节

  • 事件猎手
    通过前面制定的策略,我们还发现了 PHP WebShell 部署的关键数字证据。

我们并没有针对通达 OA 进行特定的策略指定,而这场游戏却已经结束了。

OA 市场未来会出现新的高危零日漏洞吗?它们可以逃避下一场由我们主导的猎杀游戏吗?

关于复杂之眼

复杂之眼端点检测与响应系统(MultiEye EDR),依托领先的终端安全大数据技术,实现了与传统安全行业完全不同的,基于云的终端安全服务(SaaS EDR),并开展基于云的托管安全服务(MDR),快速地揭露潜藏在客户网络深处的恶意活动者,可以向客户提供网络安全高级威胁狩猎(APT Hunter)、快速应急响应、调查取证与高级别的网络安全咨询服务。


我们可以发现并挫败一切网络攻击,保护您的网络安全。

立刻申请试用:https://www.mistiny.com/index.php/trial-submit/

检测并应对 CVE-2023-21839 漏洞利用威胁

CVE-2023-21839 背景介绍

WebLogic Server 是一款由 Oracle 公司开发的 Java 应用服务器。它是一款高度可扩展的服务器,可用于构建企业级 Java 应用程序和服务,为企业提供可靠的基础设施,以支持其业务应用程序和服务。
WebLogic Server 可以用于构建各种不同类型的 Java 应用程序,包括 Web 应用程序、企业 Java Bean(EJB)应用程序、Java 消息服务(JMS)应用程序、Web 服务和 RESTful 服务等。它还提供了许多高级功能,例如负载平衡、故障转移、安全认证、集成管理和监视等。
WebLogic Server 还支持许多不同的部署模式,包括单个服务器、多个服务器和集群部署。它还提供了广泛的可扩展性选项,包括可以添加各种不同的插件和扩展,以满足不同的业务需求。

2022年12月17日,CVE 分配了 WebLogic Server 漏洞编号 CVE-2023-21839,2023年1月,Oracle 发布了该漏洞的修复方案。

易受攻击的 WebLogic Server 版本:

WebLogic Server 12.2.1.3.0
WebLogic Server 12.2.1.4.0
WebLogic Server 14.1.1.0.0

Oracle 漏洞修复公告信息:

从分配的 CVE-2023-21839 信息中了解到,该漏洞为 Oracle Fusion Middleware(component: Core)组件中存在的未授权访问,可通过 T3、IIOP 协议进行远程代码执行(RCE),CVSS3.1 漏洞基础评分为 7.5,漏洞威胁等级为高(High)。

CVSS3.1 漏洞评分可视化展示标记:

该漏洞需要通过利用 OpaqueReference 类和访问私有字段的反射机制来设置远程 JNDI 名称,并将其绑定到 WebLogic 服务器上的对象,从而实现远程代码执行。

漏洞复现

Windows 环境,下载 WebLogic Server 12.2.1.3.0、JDK 1.7、CVE-2023-21839 POC 和 JNDI-Injection-Exploit-1.0-SNAPSHOT-all 注入工具。

公开的漏洞存在判定与利用方式:

方式 作用
JDNI 注入 dnslog 请求响应 通过 DNS 请求判断漏洞是否存在
JDNI 注入命令执行 远程任意命令执行

JDNI 注入 dnslog 请求响应

模仿威胁行为者,进行攻击漏洞探测(初始化)。

操作记录:

JDNI 注入命令执行

模仿威胁行为者进行漏洞利用,使用 Windows 命令添加新的用户账户 webcs。

操作记录:

密思听科技 MultiEye 端点检测和响应

复杂之眼(MultiEye)端点检测与响应系统保护客户应对此类攻击,并可以凭借基于行为的攻击指标(IOA)检测与 CVE-2023-21839 漏洞相关的恶意行为。

CVE-2023-21839 漏洞利用活动:

事件猎手 IOA 攻击指标搜寻:

检索异常的 dns 请求活动:

EventType = "DnsQuery" AND QueryName IN Contains ("dnslog.cn", "ceye.io") AND ProcessImageSigner Contains "Oracle"

检索异常的命令执行活动:

ProcessCommandLine IN Contains ("net user ", "powershell","cmd") AND ProcessParentName Contains "java.exe"

参考链接

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-21839
https://cvss.js.org/#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
https://www.oracle.com/security-alerts/cpujan2023.html
https://www.pingsafe.com/blog/cve-2023-21839-oracle-weblogic-server-core-patch-advisory
https://github.com/4ra1n/CVE-2023-21839
https://github.com/welk1n/JNDI-Injection-Exploit