天天看點

MongoDB 未授權通路漏洞學習漏洞簡介環境搭建漏洞複現漏洞修複

漏洞簡介

MongoDB 是一個基于分布式檔案存儲的資料庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴充的高性能資料存儲解決方案。

MongoDB 是一個介于關系資料庫和非關系資料庫之間的産品,是非關系資料庫當中功能最豐富,最像關系資料庫的。

造成未授權通路的根本原因就在于啟動 Mongodb 的時候未設定 --auth 也很少會有人會給資料庫添加上賬号密碼(預設空密碼),使用預設空密碼這将導緻惡意攻擊者無需進行賬号認證就可以登陸到資料伺服器。

環境搭建

這裡使用的是kali linux。

docker環境拉取鏡像:

docker search mongodb
docker pull mongo
docker images mongo  # 拉取鏡像
docker run -d -p 27017:27017 --name mongodb mongo  # 建立一個新的容器并運作一個指令
docker ps -a # 顯示所有的容器,包括未運作的
           

壓縮包安裝mongodb服務:

參考連結:https://www.cnblogs.com/qswz/p/12144763.html

啟動服務後,通路

http://127.0.0.1:27017

如下頁面,搭建成功:

MongoDB 未授權通路漏洞學習漏洞簡介環境搭建漏洞複現漏洞修複

漏洞複現

MongoDB 未授權通路漏洞學習漏洞簡介環境搭建漏洞複現漏洞修複

如果放開注釋,就必須建立MongoDB的賬号,使用賬号與密碼才可遠端通路。

這也就是造成漏洞的原因。

使用 NoSQLBooster(一款MongoDB的用戶端工具):

下載下傳連結:https://s3.mongobooster.com/download/releasesv6/nosqlbooster4mongo-6.2.13.exe

MongoDB 未授權通路漏洞學習漏洞簡介環境搭建漏洞複現漏洞修複

連接配接成功:

MongoDB 未授權通路漏洞學習漏洞簡介環境搭建漏洞複現漏洞修複

具體使用方法:MongoDB的用戶端管理工具–nosqlbooster

使用nmap進行探測:

nmap -p 27017 --script /usr/share/nmap/scripts/mongodb-info IP位址
MongoDB 未授權通路漏洞學習漏洞簡介環境搭建漏洞複現漏洞修複

msf進行探測

MongoDB 未授權通路漏洞學習漏洞簡介環境搭建漏洞複現漏洞修複

漏洞修複

修改預設端口

修改預設的mongoDB端口(預設為: TCP 27017)為其他端口

不要開放服務到公網

vim /etc/mongodb.conf

bind_ip = 127.0.0.1

禁用HTTP和REST端口為MongoDB添加認證

MongoDB啟動時添加–auth參數、為MongoDB添加使用者

參考連結:常見未授權通路漏洞總結

繼續閱讀