一.Dubbo
Dubbo是阿⾥巴巴公司开源的⼀个⾼性能优秀的 服务框架,使得应⽤可通过⾼性能的 RPC实现服务的输 出和输⼊功能,可以和 Spring框架⽆缝集成。dubbo 因配置不当导致未授权访问漏洞。
漏洞复现
我们使用以下语句在fofa中进行搜索
(app="APACHE-dubbo") && (is_honeypot=false && is_fraud=false)
将搜到的ip到kali中利用telnet进行链接测试,出现如下语句则代表连接成功,存在dubbo未授权访问漏洞
如何防御
配置dubbo认证。
设置防⽕墙策略;
如果正常业务中dubbo 服务需要被其他服务器来访问,可以通过 iptables 策略,仅允许指定的 IP 来访问服务。
二.Zookeeper
Zookeeper是分布式协同管理⼯具,常⽤来管理系统配置信息,提供分布式协同服务。Zookeeper的默认开放端⼝是 2181 。Zookeeper安装部署之后默认情况下不需要任何身份验证,造成攻击者可以远程利⽤Zookeeper,通过服务器收集敏感信息或者在Zookeeper集群内进⾏破坏(⽐如:kill命令)。攻击者能够执⾏所有只允许由管理员运⾏的命令。
漏洞复现
首先在fofa中搜索端口为2181的ip,然后在kali中利用如下语句进行未授权访问漏洞测试
echo envi | nc IP 2181
如果该网站存在未授权访问漏洞则会出现如下语句
在确定存在zookeeper未授权访问漏洞后,可使⽤Zookeeper可视化管理⼯具进⾏连接
下载链接:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip
在第一个框中填入ip
修复方法
修改 ZooKeeper 默认端⼝,采⽤其他端⼝服务。
添加访问控制,配置服务来源地址限制策略。
增加 ZooKeeper 的认证配置。
三.NSF
Network File System(NFS),是由SUN公司研制的UNIX表示层协议(pressentation layer protocol),能使使⽤者访问⽹络上别处的⽂件就像在使⽤⾃⼰的计算机⼀样。服务器在启⽤nfs服务以后,由于nfs服务未限制对外访问,导致共享⽬录泄漏。
漏洞复现
首先我们在fofa中搜索"nfs",然后到kali中安装一个nfs服务,安装命令:apt install nfs-common
然后查看nfs服务器上的共享⽬录,语句如下
showmount -e IP
查到目录
然后挂载相应共享目录到本地
mount -t nfs IP:/grdata /mnt
卸载目录
umount /mnt
如何修复
1.利⽤iptables限制端⼝2049和20048端⼝的访问,禁⽌外部访问;
2.设置/etc/exports,对访问进⾏控制;
四.Druid
当开发者配置不当时就可能造成未授权访问
漏洞复现
在fofa中利用如下语句进行搜索
title="Druid Stat Index"
访问之后直接进入网站页面,则存在druid未授权访问漏洞
修复方法
配置访问账号密码。
禁⽌对外⽹开放访问。
五.CouchDB
Apache CouchDB是⼀个开源数据库,专注于易⽤性和成为"完全拥抱web的数据库" 。它是⼀个使⽤JSON作为存储格式,JavaScript作为查询语⾔,MapReduce和HTTP作为API的NoSQL数据库。应⽤⼴泛,如BBC⽤在其动态内容展示平台,Credit Suisse⽤在其内部的商品部⻔的市场框架,Meebo,⽤在其社交平台(web和应⽤程序)。
在2017年11⽉15⽇,CVE-2017-12635和CVE-2017-12636披露,CVE-2017-12636是⼀个任意命令执⾏漏洞,我们可以通过config api修改couchdb的配置query_server,这个配置项在设计、执⾏view的时候将被运⾏。默认端⼝是6984
漏洞复现
我们在fofa中搜索如下语法,或者直接利用docker搭建一个环境
(port="5984") && (is_honeypot=false && is_fraud=false)
cd /vulhub/couchdb/CVE-2017-12636
docker-compose up -d
然后利用curl执⾏未授权访问测试命令:curl IP:5984/_config
如果目标存在couchdb未授权访问漏洞,则会出现如下
如何修复
1.指定CouchDB绑定的IP (需要重启CouchDB才能⽣效)在 /etc/couchdb/local.ini ⽂件中
找到 "bind_address = 0.0.0.0" ,把 0.0.0.0 修改为 127.0.0.1 ,然后保存。 注:修改后只有本机才能访问CouchDB。
2.设置访问密码(需要重启CouchDB才能⽣效)在 /etc/couchdb/local.ini 中找到"[admins]"字段配置密码。
3.设置WWW-Authenticate,强制认证。