freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

某友NCCloud黑名单绕过分析
Ha1ey 2024-10-12 09:47:40 122073
所属地 北京

前言

相信大家实战项目中遇到过很多某友NC或者NCCloud,关于这个产品的漏洞也是层出不穷,最多的就是反序列化漏洞了。

在NC6.5这个产品版本的时候大家常用的一条利用链是CC链的任意方法调用,但是在新的补丁中添加了CC的黑名单,这就导致了这条链触发不了了。

部分黑名单如下

image-20240929171509962.png

但是在NCCloud环境找了黑名单之外的链子测试过后发现并没有想的那么简单。

分析

无补丁和黑名单

使用常见的利用链即可造成RCE

image-20240929181808328.png

有补丁+黑名单

构造序列化数据避开补丁中的恶意类名,发送payload发现没有成功回显

image-20240929181808328.png

后面在接口处断点调试,发现会抛出如下异常:

java.lang.UnsupportedOperationException: 启用了 Java 安全时, 将禁用对反序列化 TemplatesImpl 的支持。可以通过将 jdk.xml.enableTemplatesImplDeserialization 系统属性设置为“真”来覆盖此设置。

image-20240929173345220.png

在后续的版本用友为了一劳永逸干脆直接把jdk.xml.enableTemplatesImplDeserialization禁用掉了,由于目前大多数的利用链都要依赖getter去调用getOutputProperties方法,从而导致TemplatesImpl加载恶意类,进而实现RCE。

关于 jdk.xml.enableTemplatesImplDeserialization 属性

Apache 官方在2015年发表的声明中提到关于com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl 被滥用的问题,同时也给出解决方案可以通过将系统属性jdk.xml.enableTemplatesImplDeserialization设置为true 以允许反序列化,反之拒绝。这个属性如果未设置默认就是禁止的。

官方声明:https://news.apache.org/foundation/entry/apache_commons_statement_to_widespread

Bypass思路

首先关于TemplatesImpl类失效,就需要找其他加载恶意类的方式。

这里可以使用JNDI注入造成RCE

反序列化+JNDI

JNDI注入在JDK高版本的几种利用方式:反序列化和本地Factory类,反序列化就不能再用了,这里主要看和本地Factory的组合利用。

由于NC在某些环境下的的Tomcat版本小于8,就导致没有javax.el.ELProcessor,不怎么通用。NC环境中比较常见的一个依赖bsh,由于bsh同样满足具有无参构造方法同时有一个String.class参数类型的方法eval可以执行bsh脚本,加载恶意字节码。

image-20240929182901852.png

加一条链子

image-20240929183346778.png

利用链的后一部分就算找到了,下面只要找一个也是可以任意调用getter的入口点,构造恶意的JdbcRowSetImpl对象造成JNDI注入就可以组合起来了。前半段反序列化主要受黑名单的限制,找黑名单外的即可,这里不做指明。

测试效果如下

image-20240929173157028.png

Ha1ey@深蓝攻防实验室

# 漏洞 # 黑客 # 网络安全 # web安全 # 漏洞分析
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Ha1ey 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Ha1ey LV.4
攻防打的再好也进不去他的心
  • 15 文章数
  • 35 关注者
某电子签章补丁绕过
2025-03-17
实战网络攻防中的高版本JDK反射类加载浅析
2024-09-29
不求甚解之考古某企业数字化平台
2024-06-27
文章目录