Nacos2.4.3新版漏洞利用方式总结

admin 2024年11月29日10:51:37评论16 views字数 1649阅读5分29秒阅读模式

ilter分析寻找未授权接口

HttpRequestContextFilter 获取请求头信息,
AuthFilter 获取uri,token,权限控制
ParamCheckerFilter 处理参数,过滤恶意字符

AuthFilter,
请求头如果存在jwt秘钥,那么就进入下个filter,

Nacos2.4.3新版漏洞利用方式总结

如果配置了nacos.core.auth.enable.userAgentAuthWhite=true,那么利用伪造userAgent就进入下个filter,

Nacos2.4.3新版漏洞利用方式总结

然后获取uri从map中匹配是否存在相应路径,如果map中没有匹配到路径,那么就进行进入下个filter,

Nacos2.4.3新版漏洞利用方式总结

如果在map中匹配到路径,就会根据Secured注解去判断是否需要获取token去验证身份,
如果没有Secured注解,就直接进入下一个filter,

Nacos2.4.3新版漏洞利用方式总结

如果Secured注解需要验证,就会获取ip和accessToken,

Nacos2.4.3新版漏洞利用方式总结

然后用jwt秘钥解密,解密失败则报错退出,

Nacos2.4.3新版漏洞利用方式总结

Nacos2.4.3新版漏洞利用方式总结

Nacos2.4.3新版漏洞利用方式总结

解密正确则进入下一个filter,

Nacos2.4.3新版漏洞利用方式总结

ParamCheckerFilter,
会通过Extractor注解去得到需要被检测的参数,
然后使用checkParamInfoList去检测参数是否符合要求,

Nacos2.4.3新版漏洞利用方式总结

Nacos2.4.3新版漏洞利用方式总结

Nacos2.4.3新版漏洞利用方式总结

Nacos2.4.3新版漏洞利用方式总结

Nacos2.4.3新版漏洞利用方式总结

或者

Nacos2.4.3新版漏洞利用方式总结

Nacos2.4.3新版漏洞利用方式总结

那么需要满足以下三个条件,就能找到未授权sql注入:
1.查找没有被Secured注解的路由,
2.Extractor注解时,是否存在一些参数没有被获取检测,
3.参数执行相应的sql语句,就可能存在sql注入,
但是后面发现都是预编译处理sql的,因此未授权sql注入这条路就利用不了了,

Nacos2.4.3新版漏洞利用方式总结

这里刚好存在接口/nacos/v1/ns/instance/statuses?key=DEFAULT_GROUP@@1',
并且Extractor注解也并没有获取key,因此key就绕过了检测,不过key带入进去后,并没有执行相应的sql语句,因此此接口也利用不了,

Nacos2.4.3新版漏洞利用方式总结

Nacos2.4.3新版漏洞利用方式总结

以下是一些存在信息的未授权接口,

http://192.168.91.1:8848/nacos/v1/console/namespaceshttp://192.168.91.1:8848/nacos/v1/console/namespaces?show=all&namespaceId=http://192.168.91.1:8848/nacos/v2/ns/operator/switcheshttp://192.168.91.1:8848/nacos/v2/ns/operator/metrics?onlyStatus=falsehttp://192.168.91.1:8848/nacos/v1/ns/health/checkers更改日志级别http://192.168.91.1:8848/nacos/v1/ns/ops/log Put logName=naming-push&logLevel=INFO

Nacos2.4.3新版漏洞利用方式总结

CVE-2021-29442 可能被利用

设置了nacos.config.derby.ops.enabled=true,
那么就可以调用derby的sql语句,不过只能使用select开头的语句,

Nacos2.4.3新版漏洞利用方式总结

Nacos2.4.3新版漏洞利用方式总结

利用此接口进行条件竞争文件上传,然后使用select加载恶意包达到命令执行,
Nacos2.4.3新版漏洞利用方式总结

总结新版漏洞利用方式

1.新版本依然是默认没有开启鉴权,需要用户开启,不开启则存在未授权
2.如果设置了nacos.core.auth.enable.userAgentAuthWhite=true,可以有useragent绕过权限认证
3.可以利用CVE-2021-29442后台getshell,条件是使用derby数据库,设置了nacos.config.derby.ops.enabled=true
4.存在一些无关紧要的未授权接口

来源:【https://xz.aliyun.com/t/16328?time__1311=GuD%3D0KAKYK7Ie05DKB4CTqYu71TYLAPx】,感谢【tj]

原文始发于微信公众号(船山信安):Nacos2.4.3新版漏洞利用方式总结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月29日10:51:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Nacos2.4.3新版漏洞利用方式总结https://cn-sec.com/archives/3447506.html

发表评论

匿名网友 填写信息