0x00漏洞简介

开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以通过默认端口无需密码对数据库任意操作(增、删、改、查高危动作)而且可以远程访问数据库。

造成未授权访问的根本原因就在于启动 Mongodb 的时候未设置 --auth 也很少会有人会给数据库添加上账号密码(默认空口令),使用默认空口令这将导致恶意攻击者无需进行账号认证就可以登陆到数据服务器。

0x01 环境搭建

目标靶机:kali
ip地址:192.168.133.134

使用docker拉取镜像搭建环境
1、搜索镜像

docker search mongo

在这里插入图片描述2、从镜像仓库中拉取镜像

docker pull mongo

在这里插入图片描述3 、列出本地主机上的mongo镜像

docker images mongo

4 、创建一个新的容器并运行一个命令

docker run -d -p 27017:27017 --name mongodb mongo

显示所有的容器,包括未运行的

 docker ps -a

在这里插入图片描述

0x02 漏洞利用

mongoDB默认端口为27017,当配置为无验证时,就会存在未授权访问
用msf

use auxiliary/scanner/mongodb/mongodb_login
set rhosts 172.17.0.1
set threads 10
exploit

在这里插入图片描述的确存在此漏洞!
接下来可以去连接数据库,然后尝试写入木马,拿webshell,还未实现。。。

0x03 修复建议

(1)在安全模式下启动MongoDB, 并且同时为需要访问数据库的用户建立相应的权限,合理的配置操作者的使用权限;
(2)使用 iptables 控制端口 27017 (默认端口) 的访问,不允许直接从互联网访问MongoDB的端口;
(3)对登录模块增加用户认证功能;
(4)对数据进行本地异地备份;

0x04 参考链接

https://www.cnblogs.com/0nc3/p/12071289.html
https://xz.aliyun.com/t/6103

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐