生命在于学习——未授权访问漏洞

声明:本篇文章只是用于记载学习笔记,学习交流,不可用作其他违规用途。

一、简介

未授权访问可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷,导致其他用户可以直接访问,从而引发重要权限可被操作、数据库、网站目录等敏感信息泄露。
目前主要存在未授权访问漏洞有:NFS服务,Samba服务,LDAP,Rsync,FTP,GitLab,Jenkins,MongoDB,Redis,ZooKeeper,ElasticSearch,Memcache,CouchDB,Docker,Solr,Hadoop,Duboo等。

二、常见应用的未授权访问

1、Redis未授权访问漏洞

(1)简述

Redis默认情况下,会绑定在0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,这样会将redis服务暴露到公网上,如果在没有设置密码认证的情况下,会导致任意用户在可以访问模板服务器的情况下未授权访问Redis以及读取Redis的数据,攻击者在未授权访问Redis的情况下,利用Redis自身提供的config命令,可以进行写文件操作,攻击者可以成功将自己的ssh公钥写入目标服务器的/root/.ssh文件夹的authotrized_keys文件中,进而可以使用对应私钥直接使用ssh服务登录目标服务器。
漏洞的产生条件有以下两点:

  1. redis绑定在0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网。
  2. 没有设置密码认证,可以免密码远程登录redis服务。

(2)未授权访问

环境:vulhub/redis/4-unacc

(3)复现

redis-cli
生命在于学习——未授权访问漏洞_第1张图片

可以直接连接执行命令,不需要认证,证明存在未授权漏洞。

(4)反弹shell

此处不做介绍。

2、Mongodb未授权访问漏洞

(1)漏洞描述

开启MongoDB服务时不添加任何参数时,默认是没有权限认证的,登录的用户可以通过默认端口无需密码对数据库任意操作(增删改查高危动作)而且可以远程访问数据库。
造成未授权访问的根本原因就在于启动Mongodb的时候未设置–auth也很少会有人会给数据库添加上账号密码,使用默认空口令这将导致恶意攻击者无需进行账号认证就可以登录到数据服务器。

(2)复现

生命在于学习——未授权访问漏洞_第2张图片

(3)防御手段

1、为MongoDB添加认证:MongoDB启动时添加–auth参数、为MongoDB添加用户。
2、MongoDB自身带有一个HTTP服务和并支持REST接口,在2.6以后这些接口默认是关闭的,mongoDB默认会使用默认端口监听web服务,一般不需要通过web方式进行远程管理,建议禁用,修改配置文件或在启动的时候选择-nohttpinterface参数,nohttpinterface=false。
3、启动时加入参数–bind_ip 127.0.0.1或在/etc/mongodb.conf文件中添加以下内容:–bind_ip=127.0.0.1。

3、Memcached未授权访问漏洞

(1)简介及危害

Memcached是一套常用的key-value分布式高速缓存系统,由于Memcached的安全设计缺陷没有权限控制模块,所以对公网开放的Memcache服务很容易被攻击者扫描发现,攻击者无需认证通过命令交互可直接读取Memcached中的敏感信息。

(2)漏洞探测

直接使用Telnet探测

(3)复现

生命在于学习——未授权访问漏洞_第3张图片

(4)防御手段

  1. 设置Memchached只允许本地访问。
  2. 禁⽌外⽹访问Memcached 11211端⼝。
  3. 配置访问控制策略。
  4. 最⼩化权限运⾏。
  5. 修改默认端⼝等。

4、ZooKeeper未授权访问漏洞

(1)漏洞简介和危害

zookeeper是分布式协同管理⼯具,常⽤来管理系统配置信息,提供分布式协同服务。
Zookeeper的默认开放端⼝是2181。Zookeeper安装部署之后默认情况下不需要任何身份验
证,造成攻击者可以远程利⽤Zookeeper,通过服务器收集敏感信息或者在Zookeeper集群内
进⾏破坏(⽐如:kill命令)。攻击者能够执⾏所有只允许由管理员运⾏的命令。

(2)复现

生命在于学习——未授权访问漏洞_第4张图片

(3)防御手段

  1. 修改 ZooKeeper 默认端⼝,采⽤其他端⼝服务。
  2. 添加访问控制,配置服务来源地址限制策略。
  3. 增加 ZooKeeper 的认证配置。

5、Elasticsearch未授权访问漏洞

(1)漏洞简介

ElasticSearch是⼀个基于Lucene的搜索服务器。它提供了⼀个分布式多⽤户能⼒的全⽂搜索引擎,基于RESTful web接⼝。Elasticsearch是⽤Java开发的,并作为Apache许可条款下的开放源码发布,是当前流⾏的企业级搜索引擎。Elasticsearch的增删改查操作全部由http接⼝完成。由于Elasticsearch授权模块需要付费,所以免费开源的Elasticsearch可能存在未授权访问漏洞。该漏洞导致,攻击者可以拥有Elasticsearch的所有权限。可以对数据进⾏任意操作。业务系统将⾯临敏感数据泄露、数据丢失、数据遭到破坏甚⾄遭到攻击者的勒索。
Elasticsearch服务普遍存在⼀个未授权访问的问题,攻击者通常可以请求⼀个开放9200或9300的服务器进⾏恶意攻击。

(2)复现

生命在于学习——未授权访问漏洞_第5张图片

(3)防御手段

  1. 访问控制策略,限制IP访问,绑定固定IP。
  2. 在config/elasticsearch.yml中为9200端⼝设置认证等

6、Kibana未授权访问漏洞

(1)漏洞简介

Kibana如果允许外⽹访问且没有做安全登录认证,就会被外部任意访问,查看所有数据,造成数据泄露。在默认配置下,Kibana就可以访问Elasticsearch中的所有数据。

(2)复现

生命在于学习——未授权访问漏洞_第6张图片

(3)防御手段

  1. 升级Kibana到最新版本,升级地址如下https://www.elastic.co/cn/downloads/kibana。
  2. 在kibana所在的服务器上安装nginx服务,利⽤nginx的转发指令实现,需要输⼊账号密码才可以访问⻚⾯。
  3. 如果正常业务中 kibana 服务需要被其他服务器来访问,可以通过 iptables 策略,仅允许指定的 IP 来访问服务。

7、Docker Remote API未授权访问漏洞

(1)漏洞描述

Docker是⼀个开源的应⽤容器引擎,让开发者可以打包他们的应⽤以及依赖包到⼀个可移植的容器中,然后发布到任何流⾏的LINUX机器上,也可以实现虚拟化。 Docker swarm 是⼀个将docker集群变成单⼀虚拟的docker host⼯具,使⽤标准的 DockerAPI,能够⽅便docker集群的管理和扩展,由docker官⽅提供。Docker Remote API如配置不当可导致未授权访问,被攻击者恶意利⽤。攻击者⽆需认证即可访问到Docker数据,可能导致敏感信息泄露,⿊客也可以删除。Docker上的数据,直接访问宿主机上的敏感信息,或对敏感⽂件进⾏修改,最终完全控制服务器。

(2)复现

生命在于学习——未授权访问漏洞_第7张图片

(3)防御手段

  1. 端⼝访问控制
    对2375端⼝做⽹络访问控制,如设置iptables策略仅允许指定的IP来访问Docker接⼝。
  2. 使⽤TLS认证
    使⽤-H参数连接⽬标主机的docker,使⽤ps命令查询⽬标系统运⾏的镜像。
    docker -H tcp://13.49.57.65:2375 ps
    docker -H tcp://13.49.57.65:2375 version
    修改docker swarm的认证⽅式,使⽤TLS认证:Overview Swarm with TLS 和Configure Docker Swarm for TLS这两篇⽂档,说的是配置好TLS后,Docker CLI 在发送命令到docker daemon之前,会⾸先发送它的证书,如果证书是由daemon信任的CA所签名的,才可以继续执⾏。

8、Kubernetes Api Server未授权访问漏洞

(1)漏洞描述

Kubernetes 的服务在正常启动后会开启两个端⼝:Localhost Port (默认8080)、Secure Port(默认6443)。这两个端⼝都是提供 Api Server 服务的,⼀个可以直接通过 Web 访问,另⼀个可以通过 kubectl 客户端进⾏调⽤。如果运维⼈员没有合理的配置验证和权限,那么攻击者就可以通过这两个接⼝去获取容器的权限。

(2)复现

生命在于学习——未授权访问漏洞_第8张图片

(3)防御手段

  1. 进⾏授权认证
  2. 使⽤Service Account令牌
  3. 置防⽕墙策略

9、Hadoop未授权访问漏洞

(1)漏洞描述

Hadoop是⼀个由Apache基⾦会所开发的分布式系统基础架构,由于服务器直接在开放了Hadoop 机器 HDFS 的 50070 web 端⼝及部分默认服务端⼝,⿊客可以通过命令⾏操作多个⽬录下的数据,如进⾏删除,下载,⽬录浏览甚⾄命令执⾏等操作,产⽣极⼤的危害。

(2)复现

生命在于学习——未授权访问漏洞_第9张图片

(3)防御手段

  1. 如⽆必要,关闭 Hadoop Web 管理⻚⾯。
  2. 开启身份验证,防⽌未经授权⽤户访问。
  3. 设置“安全组”访问控制策略,将 Hadoop 默认开放的多个端⼝对公⽹全部禁⽌或限制可信任的 IP 地址才能访问包括 50070 以及 WebUI 等相关端⼝。

10、Jenkins未授权访问漏洞

(1)漏洞描述

默认情况下 Jenkins⾯板中⽤户可以选择执⾏脚本界⾯来操作⼀些系统层命令,攻击者可通过未授权访问漏洞或者暴⼒破解⽤户密码等进⼊后台管理服务,通过脚本执⾏界⾯从⽽获取服务器权限。

(2)复现

生命在于学习——未授权访问漏洞_第10张图片

(3)防御手段

  1. 升级版本。
  2. 添加认证,设置强密码复杂度及账号锁定。
  3. 禁⽌把Jenkins直接暴露在公⽹。

11、ActiveMQ未授权访问漏洞

(1)漏洞描述

ActiveMQ是⼀款流⾏的开源消息服务器。默认情况下,ActiveMQ服务是没有配置安全参数。恶意⼈员可以利⽤默认配置弱点发动远程命令执⾏攻击,获取服务器权限,从⽽导致数据泄露。

(2)复现

生命在于学习——未授权访问漏洞_第11张图片

(3)防御手段

  1. ActiveMQ的安全配置分为控制台安全配置和后台安全配置。控制台安全配置是指⽤户通过浏览器登录ActiveMQ管理界⾯,对ActiveMQ进⾏管理的⼀个安全配置;主要是添加⽤户和密码。后台安全配置是指程序通过ActiveMQ发送消息的⼀个安全配置。
  2. ActiveMQ后台安全配置。配置置连接ActiveMQ的⽤户名和密码,如果不设置ActiveMQ安全机制,任何知道ActiveMQ服务的IP、端⼝和消息地址的⼈,都可以接受和发送消息。

12、RabbitMQ未授权访问漏洞

(1)漏洞描述

RabbitMQ是⽬前⾮常热⻔的⼀款消息中间件,基于AMQP协议的,可以在发布者和使⽤者之间交换异步消息。消息可以是⼈类可读的JSON,简单字符串或可以转换为JSON字符串的值列表。

(2)复现

生命在于学习——未授权访问漏洞_第12张图片

(3)防御手段

  1. 修改为强密码,删除默认的账号guest。
  2. 禁⽌对外⽹开放,仅限于内部访问。

13、 Springboot actuator未授权访问漏洞

(1)漏洞描述

Actuator 是 springboot 提供的⽤来对应⽤系统进⾏⾃省和监控的功能模块,借助于Actuator 开发者可以很⽅便地对应⽤系统某些监控指标进⾏查看、统计等。在 Actuator 启⽤
的情况下,如果没有做好相关权限控制,⾮法⽤户可通过访问默认的执⾏器端点(endpoints)来获取应⽤系统中的监控信息,从⽽导致信息泄露甚⾄服务器被接管的事件发⽣。

(2)复现

生命在于学习——未授权访问漏洞_第13张图片

(3)防御手段

  1. 禁⽤/env接⼝。
  2. 升级到Springboot actuator 2.0。
  3. 禁⽌对外开放。

14、FTP未授权访问漏洞(匿名登录)

(1)漏洞描述

FTP 弱⼝令或匿名登录漏洞,⼀般指使⽤ FTP 的⽤户启⽤了匿名登录功能,或系统⼝令的⻓度太短、复杂度不够、仅包含数字、或仅包含字⺟等,容易被⿊客攻击,发⽣恶意⽂件上传或更严重的⼊侵⾏为。

(2)复现

生命在于学习——未授权访问漏洞_第14张图片

(3)防御手段

禁止匿名登录

15、JBOSS未授权访问漏洞

(1)漏洞描述

JBoss是⼀个基于J2EE的开放源代码应⽤服务器,代码遵循LGPL许可,可以在任何商业应⽤中免费使⽤;JBoss也是⼀个管理EJB的容器和服务器,⽀持EJB 1.1、EJB 2.0和EJB3规范。,默认情况下访问 http://ip:8080/jmx-console 就可以浏览 JBoss 的部署管理的信息不需要输⼊⽤户名和密码可以直接部署上传⽊⻢有安全隐患。

(2)复现

生命在于学习——未授权访问漏洞_第15张图片

(3)防御手段

  1. 对jmx控制⻚⾯访问添加访问验证。
  2. 进⾏JMX Console 安全配置。

16、Ldap未授权访问漏洞

(1)漏洞描述

LDAP中⽂全称为:轻型⽬录访问协议(Lightweight Directory Access Protocol),默认使⽤389, LDAP 底层⼀般使⽤ TCP 或 UDP 作为传输协议。⽬录服务是⼀个特殊的数据库,是⼀种以树状结构的⽬录数据库为基础。未对LDAP的访问进⾏密码验证,导致未授权访问。

(2)复现

生命在于学习——未授权访问漏洞_第16张图片

(3)防御手段

  1. 修改ldap的acl,不允许匿名访问。
  2. 根据业务设置ldap访问⽩名单或⿊名单。

17、Rsync未授权访问漏洞

(1)漏洞描述

Rsync(remote synchronize)是⼀个远程数据同步⼯具,可通过 LAN/WAN 快速同步多台主机间的⽂件,也可以同步本地硬盘中的不同⽬录。Rsync 默认允许匿名访问,如果在配置⽂件中没有相关的⽤户认证以及⽂件授权,就会触发隐患。Rsync 的默认端⼝为 837。

(2)复现

生命在于学习——未授权访问漏洞_第17张图片

(3)防御手段

  1. 账户认证:正确配置认证⽤户名及密码。
  2. 权限控制:使⽤合理的权限。
  3. ⽹络访问控制:控制接⼊源ip。
  4. 数据加密传输等。

18、VNC未授权访问漏洞

(1)漏洞描述

VNC 是虚拟⽹络控制台Virtual Network Console的英⽂缩写。它是⼀款优秀的远程控制⼯具软件由美国电话电报公司AT&T的欧洲研究实验室开发。VNC是基于 UNXI 和 Linux 的免费开源软件由 VNC Server 和 VNC Viewer 两部分组成。VNC 默认端⼝号为 5900、5901。VNC 未授权访问漏洞如被利⽤可能造成恶意⽤户直接控制target主机。

(2)复现

生命在于学习——未授权访问漏洞_第18张图片

(3)防御手段

  1. 配置 VNC 客户端登录⼝令认证并配置符合密码强度要求的密码。
  2. 以最⼩普通权限身份运⾏操作系统。

19、 dubbo未授权访问漏洞

(1)漏洞描述

Dubbo是阿⾥巴巴公司开源的⼀个⾼性能优秀的 服务框架,使得应⽤可通过⾼性能的 RPC实现服务的输出和输⼊功能,可以和 Spring框架⽆缝集成。dubbo 因配置不当导致未授权访问漏洞。

(2)复现

生命在于学习——未授权访问漏洞_第19张图片

20、NFS共享目录未授权访问漏洞

(1)漏洞描述

Network File System(NFS),是由SUN公司研制的UNIX表示层协议(pressentation layer protocol),能使使⽤者访问⽹络上别处的⽂件就像在使⽤⾃⼰的计算机⼀样。服务器在启⽤nfs服务以后,由于nfs服务未限制对外访问,导致共享⽬录泄漏。

(2)漏洞验证

apt install nfs-common 安装nfs客户端
showmount -e x.x.x.x 查看nfs服务器上的共享⽬录
mount -t nfs x.x.x.x:/grdata /mnt 挂载到本地
umount /mnt/ 卸载共享⽬录

公网上大部分都拒绝访问。

(3)防御手段

利用iptables限制端口2049和20048端口的访问,禁止外部访问。

21、druid未授权访问漏洞

(1)漏洞描述

当开发者配置不当时就可能造成未授权访问下⾯给出常⻅Druid未授权访问路径:

/druid/websession.html
/system/druid/websession.html
/webpage/system/druid/websession.html(jeecg)
漏洞特征:
 http://www.xxxx.com/druid/index.html

(2)漏洞验证

google语法:inurl:/druid/websession.html
访问相关的路径。
生命在于学习——未授权访问漏洞_第20张图片

(3)防御手段

  1. 配置访问账号密码。
  2. 禁⽌对外⽹开放访问。

22、CouchDB未授权访问漏洞

(1)漏洞描述

Apache CouchDB是⼀个开源数据库,专注于易⽤性和成为"完全拥抱web的数据库"。它是⼀个使⽤JSON作为存储格式,JavaScript作为查询语⾔,MapReduce和HTTP作为API的NoSQL数据库。应⽤⼴泛,如BBC⽤在其动态内容展示平台,Credit Suisse⽤在其内部的商品部⻔的市场框架,Meebo,⽤在其社交平台(web和应⽤程序)。

(2)漏洞复现

在业务逻辑漏洞里讲到过。

(3)防御手段

配置密码:配置访问密码,在/etc/couchdb/local.ini中找到admins字段配置密码。

23、Atlassian Crowd未授权访问漏洞

(1)漏洞描述

Atlassian Crowd和Atlassian Crowd Data Center都是澳⼤利亚Atlassian公司的产品。Atlassian Crowd是⼀套基于Web的单点登录系统。该系统为多⽤户、⽹络应⽤程序和⽬录服务器提供验证、授权等功能。Atlassian Crowd Data Center是Crowd的集群部署版。AtlassianCrowd和Crowd Data Center在其某些发⾏版本中错误地启⽤了pdkinstall开发插件,使其存在安全漏洞。攻击者利⽤该漏洞可在未授权访问的情况下对Atlassian Crowd和Crowd Data Center安装任意的恶意插件,执⾏任意代码/命令,从⽽获得服务器权限。

(2)复现

生命在于学习——未授权访问漏洞_第21张图片

(3)防御手段

  1. 升级到最新版本。
  2. 设置访问/crowd/admin/uploadplugin.action的源ip。

24、Jupyter Notebook未授权访问漏洞

(1)漏洞描述

Jupyter Notebook(此前被称为 IPython notebook)是⼀个交互式笔记本,⽀持运⾏ 40 多种编程语⾔。如果管理员未为Jupyter Notebook配置密码,将导致未授权访问漏洞,游客可在其中创建⼀个console并执⾏任意Python代码和命令,默认端⼝:8888。

(2)复现

生命在于学习——未授权访问漏洞_第22张图片

(3)防御手段

  1. 开启身份验证,防止未经授权用户访问
  2. 访问控制策略,限制IP访问,绑定固定IP

25、RTSP未授权漏洞

(1)漏洞描述

RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的⼀个应⽤层协议,该协议定义了⼀对多应⽤程序如何有效地通过IP⽹络传送多媒体数据,被⼴泛⽤于视频直播领域,为⽅便⽤户远程监控摄像头内容,许多摄像头⼚商会在摄像头或NVR中开启RTSP服务器。攻击者可通过VLC等视频播放软件打开rtsp地址进⾏摄像头画⾯的实时查看。

(2)漏洞验证

生命在于学习——未授权访问漏洞_第23张图片
生命在于学习——未授权访问漏洞_第24张图片

(3)防御手段

  1. 修改默认⼝令。
  2. 禁⽌开放到外⽹。

26、Apache Spark未授权访问漏洞

(1)漏洞简介

Apache Spark是⼀款集群计算系统,其⽀持⽤户向管理节点提交应⽤,并分发给集群执⾏。如果管理节点未启动访问控制,攻击者可以在集群中执⾏任意代码。该漏洞的本质是未授权⽤户可以向Master节点提交⼀个应⽤,Master节点会分发给Slave节点执⾏应⽤。如果应⽤中包含恶意代码,会导致任意代码执⾏,威胁Spark集群整体的安全性。开放:6066、8081、8082 端⼝则很有可能存在漏洞。

(2)复现

生命在于学习——未授权访问漏洞_第25张图片

(3)防御手段

  1. 对外关闭敏感端⼝;
  2. 配置⽤户权限认证;

27、Weblogic未授权访问

(1)漏洞描述

Weblogic是Oracle公司推出的J2EE应⽤服务器,CVE-2020-14882允许未授权的⽤户绕过管理控制台的权限验证访问后台。CVE-2020-14883允许后台任意⽤户通过HTTP协议执⾏任意命令。使⽤这两个漏洞组成的利⽤链,可通过⼀个GET请求在远程Weblogic服务器上以未授权的任意⽤户身份执⾏命令。

(2)复现

生命在于学习——未授权访问漏洞_第26张图片

(3)防御手段

下载补丁程序并安装更新。

28、Zabbix未授权访问

(1)漏洞描述

zabbix是⼀款服务器监控软件,默认服务开放端⼝为10051,其由server、agent、web等模块组成,其中web模块由PHP编写,⽤来显示数据库中的结果。

(2)复现

生命在于学习——未授权访问漏洞_第27张图片

(3)防御手段

  1. 设置zabbix的复杂⼝令,不要⽤默认⼝令或弱⼝令,禁⽤guest登录功能;
  2. zabbix的server和agent都不要以root启动,不要设置AllowRoot=1;
  3. 禁⽌agent执⾏run,不要设置EnableRemoteCommands=1;

29、Solr未授权访问

(1)漏洞描述

Solr是⼀个⾼性能,采⽤Java开发,基于Lucene的全⽂搜索服务器。solr的管理界⾯通常包含如下信息:solr的配置信息(包括路径,⽤户名,系统版本信息),数据库的配置信息(地址,⽤户名,密码),数据库搜索数据等。solr未授权访问的危害很⼤,轻则可查询所有数据库信息,重则可读取系统任意⽂件,甚⾄getshell。

(2)复现

生命在于学习——未授权访问漏洞_第28张图片

(3)防御手段

  1. 配置solr访问控制权限;
  2. 禁⽌将solr暴露在公⽹;

30、SwaggerUI未授权访问漏洞

(1)漏洞描述

Swagger 是⼀个规范且完整的框架,⽤于⽣成、描述、调⽤和可视化 RESTful ⻛格的 Web 服务。

(2)复现

生命在于学习——未授权访问漏洞_第29张图片

(3)防御手段

设置访问权限。

31、Harbor未授权添加管理员漏洞

(1)漏洞描述

Harbor未授权添加任意管理员漏洞。攻击者可通过构造特定的字符串,在未授权的情况下直接创建管理员账号,从⽽接管Harbor镜像仓库。

(2)复现

找到注册页面。
生命在于学习——未授权访问漏洞_第30张图片
点击注册抓包,改包,在最后数据包加上:“has_admin_role”:true
生命在于学习——未授权访问漏洞_第31张图片
修改成功,成功添加账号密码,并登录成功。

生命在于学习——未授权访问漏洞_第32张图片

(3)防御手段

尽快升级到最新版。

你可能感兴趣的:(#,漏洞学习笔记,学习)