中间件未授权总结

ID

技术描述

利用场景/条件

过程

参考

武器库关联

S1 Elasticsearch未授权访问漏洞  

http://localhost:9200/_rvier/_search 就可以查看敏感信息了

http://localhost:9200/_plugin/head/ web管理界面

http://localhost:9200/_river/_search 查看数据库敏感信息

http://localhost:9200/_nodes 查看节点数据

   
S2 Jenkins未授权访问   访问http://172.16.102.144:8080/     
S3 ZooKeeper未授权访问  

获取该服务器的环境详细信息

echo envi|nc 172.16.2.251 2181

   
S4 Memcached未授权访问  

nc 192.168.1.103 11211 或者telnet 192.168.1.103 11211

   
S5 CouchDB未授权访问  

curl http://192.168.18.129:5984

curl http://192.168.18.129:5984/_config 可以发现有结果返回

   
S6 JBoss未授权访问  

http://172.16.102.146:8080/jmx-console/   无需认证即可访问控制页面

   
S7 Zabbix未授权访问  

在登录页面,输入admin/zabbix可登录。

http://157.7.196.50:8090/zabbix.php?action=dashboard.view&ddreset=1可以看到登录之后的页面,但是内容看不到,还是需要登录的。从http://157.7.196.50:8090/使用admin/zabbix来登录。

http://122.51.8.23:9003/zabbix.php?action=dashboard.view

   
S8 Rsync未授权访问  

可以使用:rsync ip::或者rsync rsync://ip:873/查看同步的模块名。

使用rsync rsync://ip:873/模块名查看模块下的文件。

   
S9 Spring Boot Actuator未授权访问远程代码执行  

利用思路:

1)利用env加refresh进行getshell

2)利用mappings,寻找未授权接口

3)利用trace,获取认证信息(Cookie、tooken、Session),利用认证信息访问接口。

4)env有可能泄露的数据库账号密码(mangodb),当然得开放外网,可能性较小。

漏洞发现:

通常识别当前 web 应用使用的框架为 springboot 框架。主要有两个方法判断:

1、通过web应用程序网页标签的图标(favicon.ico);如果没有修改默认图标,那么进入应用首页后可以看到如下默认的绿色小图标:

2、看报错页面是否如下图这样。

 

 

漏洞利用:

访问/trace端点获取基本的 HTTP 请求跟踪信息(时间戳、HTTP 头等),如果存在登录用户的操作请求,可以伪造cookie进行登录。

访问/env端点获取全部环境属性,由于 actuator 会监控站点 mysql、mangodb 之类的数据库服务,所以通过监控信息有时可以mysql、mangodb 数据库信息,比如如下站点存在 actuator 配置不当漏洞,通过其/env 路径,可获得 mysql、mangodb 的用户名及密码:

访问/health 路径,比如如下站点,访问其 health 路径可探测到站点 git 项目地址,造成git 项目地址泄露

访问/heapdump 路径,返回 GZip 压缩 hprof 堆转储文件。在 Android studio 打开,会泄露站点内存信息,很多时候会包含后台用户的账号密码,通过泄露的账号密码,然后进入后台一番轰炸也不错的。

/env端点配置不当造成RCE

前置条件:Eureka-Client <1.8.7(多见于Spring Cloud Netflix)

比如测试前台json报错泄露包名就是使用netflix

 

https://mp.weixin.qq.com/s/4d-cKr6ZauXK90TmQZ1Lbw  
S10 Active MQ未授权访问  

访问:

http://server-ip:8161

   
posted @ 2021-10-11 15:40  梦幻泡影离殇  阅读(218)  评论(0编辑  收藏  举报